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

## 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.

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 ZZ/(19)[x];
M := BringIn(Mat([[1,3,4], [0,2,1]]));
B := BringIn(Mat([, ]));
IML.Solve(M, B);
-------------------------------
Mat([
[-2 % 19],
[1 % 19],
[0 % 19]
])
-------------------------------
```

#### Example

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