> with(linalg); -1
 

> `:=`(A, matrix([[1, 2, 3], [4, -5, 6], [7, 8, 9]])); 1
 

array( 1 .. 3, 1 .. 3, [( 2, 1 ) = 4, ( 1, 1 ) = 1, ( 1, 2 ) = 2, ( 1, 3 ) = 3, ( 3, 1 ) = 7, ( 2, 3 ) = 6, ( 3, 2 ) = 8, ( 3, 3 ) = 9, ( 2, 2 ) = -5 ] ) (1)
 

> `:=`(B, matrix([[-1], [-2], [-3]])); 1
 

array( 1 .. 3, 1 .. 1, [( 2, 1 ) = -2, ( 1, 1 ) = -1, ( 3, 1 ) = -3 ] ) (2)
 

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

array( 1 .. 3, 1 .. 1, [( 2, 1 ) = -12, ( 1, 1 ) = -14, ( 3, 1 ) = -50 ] ) (3)
 

> multiply(A, B); 1
 

array( 1 .. 3, 1 .. 1, [( 2, 1 ) = -12, ( 1, 1 ) = -14, ( 3, 1 ) = -50 ] ) (4)
 

> transpose(A); 1
 

array( 1 .. 3, 1 .. 3, [( 2, 1 ) = 2, ( 1, 1 ) = 1, ( 1, 2 ) = 4, ( 1, 3 ) = 7, ( 3, 1 ) = 3, ( 2, 3 ) = 8, ( 3, 2 ) = 6, ( 3, 3 ) = 9, ( 2, 2 ) = -5 ] ) (5)
 

> rref(A); 1
 

array( 1 .. 3, 1 .. 3, [( 2, 1 ) = 0, ( 1, 1 ) = 1, ( 1, 2 ) = 0, ( 1, 3 ) = 0, ( 3, 1 ) = 0, ( 2, 3 ) = 0, ( 3, 2 ) = 0, ( 3, 3 ) = 1, ( 2, 2 ) = 1 ] ) (6)
 

> inverse(A); 1
 

array( 1 .. 3, 1 .. 3, [( 2, 1 ) = `/`(1, 20), ( 1, 1 ) = -`/`(31, 40), ( 1, 2 ) = `/`(1, 20), ( 1, 3 ) = `/`(9, 40), ( 3, 1 ) = `/`(67, 120), ( 2, 3 ) = `/`(1, 20), ( 3, 2 ) = `/`(1, 20), ( 3, 3 ) = ... (7)
 

>