BackwardSubstitute - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.
Our website is currently undergoing maintenance, which may result in occasional errors while browsing. We apologize for any inconvenience this may cause and are working swiftly to restore full functionality. Thank you for your patience.

Online Help

All Products    Maple    MapleSim


LinearAlgebra[Modular]

  

BackwardSubstitute

  

apply in-place backward substitution from an upper triangular mod m Matrix to a mod m Matrix or Vector

 

Calling Sequence

Parameters

Description

Examples

Calling Sequence

BackwardSubstitute(m, A, B)

Parameters

m

-

modulus

A

-

mod m upper triangular Matrix

B

-

mod m Matrix or Vector to which to apply backward substitution

Description

• 

The BackwardSubstitute function applies the backward substitution described by the upper triangular part of the square mod m Matrix A to the mod m Matrix or Vector B.

  

Note: It is assumed that A is in upper triangular form, or that only the upper triangular part is relevant, as the lower triangular part of A is ignored.

  

The mod m Matrix or Vector B must have the same number of rows as there are columns of A.

• 

Application of backward substitution requires that m is a prime, but in some cases it can be computed when m is composite. In cases where it cannot be computed for m composite, a descriptive error message is returned.

• 

The BackwardSubstitute function is most often used in combination with LUDecomposition, and is used in LUApply.

• 

This command is part of the LinearAlgebra[Modular] package, so it can be used in the form BackwardSubstitute(..) only after executing the command with(LinearAlgebra[Modular]).  However, it can always be used in the form LinearAlgebra[Modular][BackwardSubstitute](..).

Examples

Construct and solve an upper triangular system.

withLinearAlgebraModular:

p97

p97

(1)

AModp,Matrix4,4,i,jifijthenrandelse0endif,integer:

BModp,Matrix4,2,i,jrand,integer:

A,B

77961086058368000224400039,603943125522471

(2)

XCopyp,B:

BackwardSubstitutep,A,X:

X

944688125222364

(3)

Multiplyp,A,XB

00000000

(4)

Upper triangular with floats.

p97

p97

(5)

AModp,Matrix4,4,i,jifijthenrandelse0endif,float8:

BModp,Vectorcolumn4,irand,float8:

A,B

45.29.21.48.0.7.33.57.0.0.65.16.0.0.0.93.,96.71.44.70.

(6)

XCopyp,B:

BackwardSubstitutep,A,X:

X

78.67.2.31.

(7)

Multiplyp,A,XB

0.0.0.0.

(8)

See Also

LinearAlgebra/Details

LinearAlgebra[Modular]

LinearAlgebra[Modular][Copy]

LinearAlgebra[Modular][ForwardSubstitute]

LinearAlgebra[Modular][LUApply]

LinearAlgebra[Modular][LUDecomposition]

LinearAlgebra[Modular][Mod]

LinearAlgebra[Modular][Multiply]