Difference between revisions of "ApCoCoA-1:IML.Solve"

From ApCoCoAWiki
(Updated parameter and return value list.)
(Key and see section update.)
Line 45: Line 45:
 
   <type>cocoaserver</type>
 
   <type>cocoaserver</type>
 
</types>
 
</types>
<key>solve</key>
+
<key>Solve</key>
 +
<key>IML.Solve</key>
 +
<key>iml.Solve</key>
 
<key>solve linear equation system</key>
 
<key>solve linear equation system</key>
 
<key>solve linear equation</key>
 
<key>solve linear equation</key>
<key>kaspar</key>
 
 
<wiki-category>Package_iml</wiki-category>
 
<wiki-category>Package_iml</wiki-category>
 
</command>
 
</command>

Revision as of 19:08, 22 April 2009

IML.Solve

Solve a linear equation system.

Syntax

IML.Solve(M:MAT, B:MAT):MAT

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use

it/them. Please also note that you need an ApCoCoAServer with enabled IML support.

Let M and B be matrices defined over the ring of integers, a finite field or the field of rationals. This function tries to solve the linear equation system M*X = B by using the ApCoCoAServer supported by the IML library.

The return value will be a solution vector of the linear equation system or an empty matrix if no solution has been found.

  • @param M A matrix with components either of type INT, ZMOD or RAT.

  • @param B A matrix with components either of type INT, ZMOD or RAT.

  • @return A matrix X representing a solution vector of the linear equation system M*X = B if a solution exists or the empty matrix otherwise.

Example

Use Z/(19)[x];
M := BringIn(Mat([[1,3,4], [0,2,1]]));
B := BringIn(Mat([[1], [2]]));
IML.Solve(M, B);
-------------------------------
Mat([
  [-2 % 19],
  [1 % 19],
  [0 % 19]
])
-------------------------------

Use Q[x];
M := Mat([ [1,3,4], [0,2,1], [1,3,4] ]);
B := Mat([ [1], [2], [0] ]);
IML.Solve(M, B);
-------------------------------
Mat([
  [ ]
])
-------------------------------

LinBox.Solve

LinKer