M4RIE 20250128
Loading...
Searching...
No Matches
Echelon forms

Macros

#define mzd_slice_echelonize   mzd_slice_echelonize_ple
 Compute row echelon forms.
 

Functions

rci_t mzd_slice_echelonize_ple (mzd_slice_t *A, int full)
 Compute row echelon forms using PLE decomposition.
 
static rci_t mzed_echelonize_ple (mzed_t *A, int full)
 Compute row echelon forms using PLE decomposition.
 
rci_t mzed_echelonize (mzed_t *A, int full)
 Compute row echelon forms.
 
rci_t mzed_echelonize_naive (mzed_t *A, int full)
 Gaussian elimination.
 
rci_t mzed_echelonize_newton_john (mzed_t *A, int full)
 Reduce matrix A to row echelon form using Gauss-Newton-John elimination.
 

Detailed Description

Macro Definition Documentation

◆ mzd_slice_echelonize

#define mzd_slice_echelonize   mzd_slice_echelonize_ple

Compute row echelon forms.

Compute the (reduced) row echelon form of the matrix A. If full=0, then return the reduced REF.

Parameters
AMatrix
fullREF or RREF.

Function Documentation

◆ mzd_slice_echelonize_ple()

rci_t mzd_slice_echelonize_ple ( mzd_slice_t * A,
int full )

Compute row echelon forms using PLE decomposition.

Compute the (reduced) row echelon form of the matrix A. If full=0, then return the reduced row echelon. This function reduces echelon forms to PLE (or PLUQ) decomposition.

Parameters
AMatrix
fullREF or RREF.

◆ mzed_echelonize()

rci_t mzed_echelonize ( mzed_t * A,
int full )

Compute row echelon forms.

Compute the (reduced) row echelon form of the matrix A. If full=0, then return the reduced row echelon form.

Parameters
AMatrix
fullREF or RREF.

◆ mzed_echelonize_naive()

rci_t mzed_echelonize_naive ( mzed_t * A,
int full )

Gaussian elimination.

Perform Gaussian elimination on the matrix A. If full=0, then it will do triangular style elimination, and if full=1, it will do Gauss-Jordan style, or full elimination.

Parameters
AMatrix
fullGauss-Jordan style or upper unit-triangular form only.

◆ mzed_echelonize_newton_john()

rci_t mzed_echelonize_newton_john ( mzed_t * A,
int full )

Reduce matrix A to row echelon form using Gauss-Newton-John elimination.

Parameters
AMatrix to be reduced.
fullIf set to true, the reduced row echelon form will be computed.
Todo
we don't really compute the upper triangular form yet, we need to implement _mzed_gauss_submatrix() and a better table creation for that.

◆ mzed_echelonize_ple()

static rci_t mzed_echelonize_ple ( mzed_t * A,
int full )
inlinestatic

Compute row echelon forms using PLE decomposition.

Compute the (reduced) row echelon form of the matrix A. If full=0, then return the reduced REF. This function reduces echelon forms to PLE (or PLUQ) decomposition.

Parameters
AMatrix
fullREF or RREF.
Note
This function converts A to bitslice representation and back. Hence, it uses more memory than using mzed_echelonize_newton_john() or mzd_slice_echelonize_ple()