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

(Updated parameter and return value list.) |
(Key and see section update.) |
||

Line 45: | Line 45: | ||

<type>cocoaserver</type> | <type>cocoaserver</type> | ||

</types> | </types> | ||

− | <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> | ||

− | |||

<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([ [ ] ]) -------------------------------