# Solutions of Systems of Linear Equations

## `IsConsistent(A, w): ModMatRngElt, ModTupRng -> BoolElt, ModTupRngElt, ModTupRng`

Given a matrix $A$ belonging to $M_n(R)$ and a vector $w$ belonging to the tuple module $R^{(n)}$, return `true` iff the system of linear equations $v*A = w$ is consistent. If the system is consistent, then the function will also return:

**(a)**
A particular solution $v$;

**(b)**
The kernel $K$ of $A$ so that $(v + k) * A = w$ for $k\in K$.

## `IsConsistent(A, W): ModMatRngElt, [ ModTupRng ] -> BoolElt, [ ModTupRngElt ], ModTupRng`

Given a matrix $A$ belonging to $M_n(R)$ and a sequence $W$ of vectors belonging to the tuple module $R^{(m)}$, return `true` iff the system of linear equations $V[i]*A = W[i]$ for each $i$ is consistent. If the systems are all consistent, then the function will also return:

**(a)**
A solution sequence $V$;

**(b)**
The kernel $K$ of $A$ so that $(V[i] + k) * A = W[i]$ for $k\in K$.

## `Solution(A, w): ModMatRngElt, ModTupRng -> ModTupRngElt, ModTupRng`

Given a matrix $A$ belonging to $M_n(R)$ and a vector $w$ belonging to the tuple module $R^{(n)}$, solve the system of linear equations $v*A = w$. The function returns two values:

**(a)**
A particular solution $v$;

**(b)**
The kernel $K$ of $A$ so that $(v + k) * A = w$ for $k\in K$.

## `Solution(A, W): ModMatRngElt, [ ModTupRng ] -> [ ModTupRngElt ], ModTupRng`

Given a matrix $A$ belonging to $M_n(R)$ and a sequence $W$ of vectors belonging to the tuple module $R^{(n)}$, solve the system of linear equations $V[i]*A = W[i]$ for each $i$. The function returns two values:

**(a)**
A solution sequence $V$;

**(b)**
The kernel $K$ of $A$ so that $(V[i] + k) * A = W[i]$ for $k\in K$.
