with(LinearAlgebra); 1 

[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
[`&x`, Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolynomial, Column, ColumnDimension, ColumnOperation, Column...
 

 

Build a Matrix from rows: 

> A := Matrix([[1, 2, 3], [4, 5, 6]]); 1
 

(Typesetting:-mprintslash)([A := Matrix([[1, 2, 3], [4, 5, 6]])], [Matrix(%id = 147569196)]) 

 

Build a Matrix from columns: 

> B := `<|>`(`<,>`(1, 2, 3), `<,>`(4, 5, 6)); 1
 

(Typesetting:-mprintslash)([B := Matrix([[1, 4], [2, 5], [3, 6]])], [Matrix(%id = 151574196)]) 

 

Multiply two matrices, and observe that matrix multiplication is not commutative: 

> Typesetting:-delayDotProduct(A, B); 1
 

(Typesetting:-mprintslash)([Matrix([[14, 32], [32, 77]])], [Matrix(%id = 146508280)]) 

> Typesetting:-delayDotProduct(B, A); 1
 

(Typesetting:-mprintslash)([Matrix([[17, 22, 27], [22, 29, 36], [27, 36, 45]])], [Matrix(%id = 147389732)]) 

 

Find the inverse of the 2x2 matrix AB: 

> MatrixInverse(Typesetting:-delayDotProduct(A, B)); 1
 

(Typesetting:-mprintslash)([Matrix([[77/54, (-16)/27], [(-16)/27, 7/27]])], [Matrix(%id = 147497372)]) 

 

Check that the inverse is correct, by hand:
(Note that the fractions were entered by typing, for example,
 

"77/54" and Maple automatically typesets it the way you see.) 

> Typesetting:-delayDotProduct(Matrix([[14, 32], [32, 77]]), Matrix([[77/54, (-16)/27], [(-16)/27, 7/27]])); 1
 

(Typesetting:-mprintslash)([Matrix([[1, 0], [0, 1]])], [Matrix(%id = 151866076)]) 

 

 

Let's generate a random matrix, and see if it has an inverse: 

> R := RandomMatrix(5, 5); 1
 

(Typesetting:-mprintslash)([R := Matrix([[10, 60, 19, 91, 52], [22, -35, 88, 29, -13], [12, 21, -82, 70, 82], [45, 90, -70, -32, 72], [-14, 80, 41, -1, 42]])], [Matrix(%id = 151283652)]) 

> MatrixInverse(R); 1
 

(Typesetting:-mprintslash)([Matrix([[12231443/1622264232, 7315183/811132116, (-2047635)/270377372, 2740417/202783029, (-24211525)/1622264232], [21994549/1622264232, (-7737439)/811132116, (-3229273)/27... 

 

Since it has an inverse, it's reduced row-echelon form should be the identity matrix. 

> ReducedRowEchelonForm(R); 1
 

(Typesetting:-mprintslash)([Matrix([[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 1, 0], [0, 0, 0, 0, 1]])], [Matrix(%id = 147303304)]) 

 

 

Now let's see if the vector (20, 0, 0) is in the span of (1, 0, 2) and (2, 0, 3): 

Note the second way we do this, using LinearSolve.  This function assumes 

that we are trying to write the last column as a linear combination of the other 

columns, and gives us the coefficients in that linear combination. 

> XC := `<|>`(`<,>`(1, 0, 2), `<,>`(2, 0, 3), `<,>`(20, 0, 0)); 1
 

(Typesetting:-mprintslash)([XC := Matrix([[1, 2, 20], [0, 0, 0], [2, 3, 0]])], [Matrix(%id = 153874928)]) 

> ReducedRowEchelonForm(XC); 1
 

(Typesetting:-mprintslash)([Matrix([[1, 0, -60], [0, 1, 40], [0, 0, 0]])], [Matrix(%id = 147139752)]) 

> LinearSolve(XC); 1
 

(Typesetting:-mprintslash)([Vector[column]([[-60], [40]])], [Vector[column](%id = 146661004)]) 

This last line tells us that (20, 0, 0) = -60(1, 0, 2) + 40(2, 0, 3).