M4RIE  0.20111004
 All Data Structures Files Functions Variables Typedefs Macros Groups Pages
Macros | Functions
Echelon forms

Macros

#define mzd_slice_echelonize   mzd_slice_echelonize_ple
 Compute row echelon forms. More...
 

Functions

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

Detailed Description

Macro Definition Documentation

#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

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