RegularChains[MatrixTools]
MatrixInverse
compute the inverse of a matrix modulo a regular chain
Calling Sequence
Parameters
Description
Examples
MatrixInverse(A, rc, R)
A
-
square Matrix with coefficients in the ring of fractions of R
rc
regular chain of R
R
polynomial ring
The command MatrixInverse(A, rc, R) returns two lists.
The first list the command returns is a list of pairs Bi,rci where rci is a regular chain and Bi is the inverse of A modulo the saturated ideal of rci.
The second list the command returns is a list of triplets noInv,A,rci where rci is a regular chain and A is the input matrix such that A is not invertible modulo the saturated ideal of rci.
All the returned regular chains rci form a triangular decomposition of rc (in the sense of Kalkbrener).
It is assumed that rc is strongly normalized.
The algorithm is an adaptation of the algorithm of Bareiss.
This command is part of the RegularChains[MatrixTools] package, so it can be used in the form MatrixInverse(..) only after executing the command with(RegularChains[MatrixTools]). However, it can always be accessed through the long form of the command by using RegularChains[MatrixTools][MatrixInverse](..).
Automatic case discussion.
with⁡RegularChains:with⁡ChainTools:with⁡MatrixTools:
R≔PolynomialRing⁡y,z;rc≔Empty⁡R
R≔polynomial_ring
rc≔regular_chain
Assume we have two variables y and z that have the same square and z is a 4th root of -1. Suppose we need to compute modulo this relation.
rc≔Chain⁡z4+1,y2−z2,rc,R:Equations⁡rc,R
y2−z2,z4+1
m≔Matrix⁡1,y+z,0,y−z
m≔1y+z0y−z
We want to compute the inverse of the previous matrix.
mim≔MatrixInverse⁡m,rc,R
mim≔100z32,regular_chain,noInv,1y+z0y−z,regular_chain
Let us check the first result.
m1≔mim111;rc1≔mim112;Equations⁡rc1,R
m1≔100z32
rc1≔regular_chain
y+z,z4+1
MatrixMultiply⁡m1,m,rc1,R
1001
Consider now this other matrix.
m≔Matrix⁡1,y+z,2,y−z
m≔1y+z2y−z
mim≔10−z3z32,regular_chain,012−z32z34,regular_chain,
m1≔mim111;rc1≔mim112
m1≔10−z3z32
m2≔mim121;rc2≔mim122
m2≔012−z32z34
rc2≔regular_chain
MatrixMultiply⁡m2,m,rc2,R
Get a generic answer that would hold both cases.
clr≔MatrixCombine⁡rc1,rc2,R,m1,m2
clr≔y⁢z32+12−y⁢z34+1414⁢y⁢z2−34⁢z3−18⁢y⁢z2+38⁢z3,regular_chain
Check.
MatrixMultiply⁡clr11,m,clr12,R
See Also
Chain
Empty
Equations
IsStronglyNormalized
IsZeroMatrix
JacobianMatrix
LowerEchelonForm
MatrixCombine
MatrixMultiply
MatrixOverChain
MatrixTools
NormalForm
PolynomialRing
RegularChains
Download Help Document