MatrixInverse - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


RegularChains[MatrixTools]

  

MatrixInverse

  

compute the inverse of a matrix modulo a regular chain

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

MatrixInverse(A, rc, R)

Parameters

A

-

square Matrix with coefficients in the ring of fractions of R

rc

-

regular chain of R

R

-

polynomial ring

Description

• 

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

Examples

Automatic case discussion.

> 

with⁡RegularChains:with⁡ChainTools:with⁡MatrixTools:

> 

R≔PolynomialRing⁡y,z;rc≔Empty⁡R

R≔polynomial_ring

rc≔regular_chain

(1)

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

(2)
> 

m≔Matrix⁡1,y+z,0,y−z

m≔1y+z0y−z

(3)

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

(4)

Let us check the first result.

> 

m1≔mim111;rc1≔mim112;Equations⁡rc1,R

m1≔100z32

rc1≔regular_chain

y+z,z4+1

(5)
> 

MatrixMultiply⁡m1,m,rc1,R

1001

(6)

Consider now this other matrix.

> 

m≔Matrix⁡1,y+z,2,y−z

m≔1y+z2y−z

(7)
> 

mim≔MatrixInverse⁡m,rc,R

mim≔10−z3z32,regular_chain,012−z32z34,regular_chain,

(8)
> 

m1≔mim111;rc1≔mim112

m1≔10−z3z32

rc1≔regular_chain

(9)
> 

m2≔mim121;rc2≔mim122

m2≔012−z32z34

rc2≔regular_chain

(10)
> 

MatrixMultiply⁡m2,m,rc2,R

1001

(11)
> 

MatrixMultiply⁡m2,m,rc2,R

1001

(12)

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

(13)

Check.

> 

MatrixMultiply⁡clr11,m,clr12,R

1001

(14)

See Also

Chain

Empty

Equations

IsStronglyNormalized

IsZeroMatrix

JacobianMatrix

LowerEchelonForm

MatrixCombine

MatrixMultiply

MatrixOverChain

MatrixTools

NormalForm

PolynomialRing

RegularChains