Goto Chapter: Top 1 2 3 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Gaussian Elimination Functions
 2.1 Basic Concepts and Main Functions
 2.2 Methods installed for Standard GAP operations

2 Gaussian Elimination Functions

2.1 Basic Concepts and Main Functions

All Gaussian elimination operations in Meataxe64 are based on the following definitions.

\left(\begin{array}{cc} M & 0\\ K & 1\end{array}\right) \rho A \gamma = \left(\begin{array}{cc} -1 & R \\ 0 & 0\end{array}\right)

where A is the input matrix, and M, K, ρ, γ and R correspond to various components of the output. Specifically

M

is an invertible matrix called the multiplier

K

is a matrix called the cleaner

ρ

is the matrix corresponding to the row select bitstring (left multiplication by this matrix shuffles the pivot rows to the top, preserving the order within the sets of pivot and non-pivot rows)

γ

is the matrix corresponding to the column select bitstring (right multiplication by this matrix shuffles the pivot columns to the left, preserving the order within the sets of pivot and non-pivot columns)

R

Is a matrix called the remnant

Not all of these are necessarily always computed.

2.1-1 MTX64_Echelize
‣ MTX64_Echelize( mat )( function )

Returns: a record with components cleaner, colSelect, multiplier, rank, remnant and rowSelect containing appropriate parts of the results. This uses the recursive single-threaded "slab" implementation in the C code of MeatAxe64

2.1-2 MTX64_GAPEchelize
‣ MTX64_GAPEchelize( mat, optrec )( function )

Returns: a record with some or all of the components cleaner, colSelect, multiplier, rank, remnant and rowSelect optrec may have components multNeeded, cleanerNeeded, remnantNeeded (all default to true. Setting any of these to false means the corresponding part of the output may not be computed, which can save time. An additional optional component failIfSingular will cause the algorithm to return fail as soon as it detects that mat is singular.

This uses a GAP implementation of the recursive echelonisation, but still falls back to the C code for multiplication and in the base case.

2.2 Methods installed for Standard GAP operations

Based on MTX64_Echelize (2.1-1) and MTX64_GAPEchelize (2.1-2) methods are installed for a number of standard GAP operations for Meataxe64 matrices. These include RankMat (Reference: RankMat), InverseMutable (Reference: InverseMutable), NullspaceMat (Reference: NullspaceMat), SemiEchelonMat (Reference: SemiEchelonMat) (including its destructive variants and variants computing transforming matrices), SolutionMat (Reference: SolutionMat), TriangulizedMat (Reference: TriangulizedMat), BaseMat (Reference: BaseMat) (and destructive variant) and SumIntersectionMat (Reference: SumIntersectionMat).

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 Ind

generated by GAPDoc2HTML