linalg[rref] - reduced row echelon form
linalg[gaussjord] - a synonym for rref (Gauss-Jordan elimination)
|
Calling Sequence
|
|
gaussjord(A)
gaussjord(A, 'r')
gaussjord(A, 'r', 'd')
gaussjord(A, rmar)
|
|
Parameters
|
|
A
|
-
|
rectangular matrix
|
'r'
|
-
|
(optional) for returning the rank of A
|
'd'
|
-
|
(optional) for returning the determinant of A
|
rmar
|
-
|
(optional) non-negative integer
|
|
|
|
|
Description
|
|
•
|
Elementary row operations are performed on A, an n by m matrix over a field, to reduce it to row echelon (Gauss-Jordan) form. At present, if the matrix contains floating-point or decimal numbers, then Gaussian elimination with partial pivoting is used where all arithmetic is done in floating-point at Digits precision. In this case, the matrix entries on input must all be numbers of type numeric or complex(numeric). Otherwise ordinary Gaussian elimination is used. At present, the matrix entries must be rationals or complex rationals or in general rational functions with these coefficients.
|
•
|
The resulting matrix is upper triangular with leading nonzero entries 1 . If the matrix contains integers only, then in general rational numbers will appear in the result. Likewise if the matrix contains polynomials, in general rational functions will appear in the result.
|
•
|
If an optional second parameter is specified, and it is a name, it is assigned the rank of A. The rank of A is the number of nonzero rows in the resulting matrix.
|
•
|
If an optional third parameter is also specified, and the rank of A = n, then it is assigned the determinant of .
|
•
|
If an optional second parameter is specified, and it is an integer, the elimination is terminated at this column position.
|
|
The global _GaussJordanPivotList will contain the pivots which are not provably nonzero with the current Normalizer. This may be used to facilitate changing the value of Normalizer so that the computation may be repeated without using pivots not previously known to be nonzero.
|
|
|
Examples
|
|
Important: The linalg package has been deprecated. Use the superseding packages, LinearAlgebra and VectorCalculus, instead.
>
|
|
>
|
|
| (1) |
>
|
|
| (2) |
>
|
|
| (3) |
>
|
|
| (4) |
>
|
|
| (5) |
>
|
|
Warning, unable to find a provably non-zero pivot
| |
| (6) |
>
|
|
| (7) |
>
|
|
| (8) |
>
|
|
Warning, unable to find a provably non-zero pivot
| |
| (9) |
|
|