apply in-place backward substitution from an upper triangular mod m Matrix to a mod m Matrix or Vector
BackwardSubstitute(m, A, B)
mod m upper triangular Matrix
mod m Matrix or Vector to which to apply backward substitution
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](..).
Construct and solve an upper triangular system.
p ≔ 97
A ≔ Mod⁡p,Matrix⁡4,4,i,j→ifi≤jthenrand⁡else0end if,integer:
B ≔ Mod⁡p,Matrix⁡4,2,i,j→rand⁡,integer:
X ≔ Copy⁡p,B:
Upper triangular with floats.
A ≔ Mod⁡p,Matrix⁡4,4,i,j→ifi≤jthenrand⁡else0end if,float8:
B ≔ Mod⁡p,Vectorcolumn⁡4,i→rand⁡,float8:
Download Help Document
What kind of issue would you like to report? (Optional)