ApCoCoA-1:IML.Solve: Difference between revisions
Updated parameter and return value list. |
m insert version info |
||
(12 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Version|1}} | |||
<command> | <command> | ||
<title>IML.Solve</title> | <title>IML.Solve</title> | ||
<short_description> | <short_description>Solves a system of linear equations.</short_description> | ||
<syntax> | <syntax> | ||
IML.Solve(M:MAT, B:MAT):MAT | IML.Solve(M:MAT, B:MAT):MAT | ||
</syntax> | </syntax> | ||
<description> | <description> | ||
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them. | |||
<par/> | |||
Let <tt>M</tt> and <tt>B</tt> 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 <tt>M*X = B</tt> by using the ApCoCoAServer supported by the IML library. | Let <tt>M</tt> and <tt>B</tt> 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 <tt>M*X = B</tt> by using the ApCoCoAServer supported by the IML library. | ||
<par/> | |||
The return value will be a solution vector of the linear equation system or an empty matrix if no solution has been found. | The return value will be a solution vector of the linear equation system or an empty matrix if no solution has been found. | ||
<itemize> | <itemize> | ||
Line 17: | Line 19: | ||
</itemize> | </itemize> | ||
<example> | <example> | ||
Use | Use ZZ/(19)[x]; | ||
M := BringIn(Mat([[1,3,4], [0,2,1]])); | M := BringIn(Mat([[1,3,4], [0,2,1]])); | ||
B := BringIn(Mat([[1], [2]])); | B := BringIn(Mat([[1], [2]])); | ||
Line 28: | Line 30: | ||
]) | ]) | ||
------------------------------- | ------------------------------- | ||
</example> | |||
Use | <example> | ||
Use QQ[x]; | |||
M := Mat([ [1,3,4], [0,2,1], [1,3,4] ]); | M := Mat([ [1,3,4], [0,2,1], [1,3,4] ]); | ||
B := Mat([ [1], [2], [0] ]); | B := Mat([ [1], [2], [0] ]); | ||
Line 39: | Line 42: | ||
------------------------------- | ------------------------------- | ||
</example> | </example> | ||
</description> | </description> | ||
<see>LinBox.Solve</see> | |||
<see>LinKer</see> | <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see> | ||
<types> | <see>ApCoCoA-1:LinAlg.Solve|LinAlg.Solve</see> | ||
<see>ApCoCoA-1:LinBox.Solve|LinBox.Solve</see> | |||
</types> | <see>ApCoCoA-1:LinKer|LinKer</see> | ||
<key> | <types> | ||
<key> | <type>matrix</type> | ||
<key>solve linear equation</key> | <type>apcocoaserver</type> | ||
<key> | </types> | ||
<wiki-category>Package_iml</wiki-category> | <key>Solve</key> | ||
<key>IML.Solve</key> | |||
<key>iml.Solve</key> | |||
<key>solve linear equation system</key> | |||
<key>solve linear equation</key> | |||
<wiki-category>ApCoCoA-1:Package_iml</wiki-category> | |||
</command> | </command> |
Latest revision as of 10:09, 7 October 2020
This article is about a function from ApCoCoA-1. |
IML.Solve
Solves a system of linear equations.
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([[1], [2]])); 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([ [1], [2], [0] ]); IML.Solve(M, B); ------------------------------- Mat([ [ ] ]) -------------------------------