Learning Tools for Linear Algebra - New Features in Maple 2020 - Maplesoft

What's New in Maple 2020

Learning Tools for Linear Algebra

Maple 2020 includes many new additions designed to support learning and teaching Linear Algebra.


with(Student:-LinearAlgebra); -1 

Step-by-Step Solutions for Tutors 

A much-requested feature, the Gaussian Elimination, Gauss-Jordan Elimination, and Matrix Inverse tutors all now return the step-by-step solutions from the tutor to the Maple worksheet.

GaussJordanEliminationTutor(rtable(1 .. 3, 1 .. 4, [[1, 0, 0, 3], [2, 1, 2, 5], [0, 2, 1, 5]], subtype = Matrix));  

 

 

rtable(1 .. 3, 1 .. 4, [[1, 0, 0, 3], [2, 1, 2, 5], [0, 2, 1, 5]], subtype = Matrix);
Add -2 times row 1 to row 2:
rtable(1 .. 3, 1 .. 4, [[1, 0, 0, 3], [0, 1, 2, -1], [0, 2, 1, 5]], subtype = Matrix);
Add -2 times row 2 to row 3:
rtable(1 .. 3, 1 .. 4, [[1, 0, 0, 3], [0, 1, 2, -1], [0, 0, -3, 7]], subtype = Matrix);
Multiply row 3 by -1/3:
rtable(1 .. 3, 1 .. 4, [[1, 0, 0, 3], [0, 1, 2, -1], [0, 0, 1, -`/`(7, 3)]], subtype = Matrix);
Add -2 times row 3 to row 2:
Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mn(
 

Context Panel Options 

Many visualizations have been added to the Student:-LinearAlgebra context panel, including CrossProductPlot, EigenPlot, LeastSquaresPlot, LinearSystemPlot, LinearTransformPlot, PlanePlot, ProjectionPlot, and VectorSumPlot (plot or animation). 

For example, clicking on each output below and selecting from the options in the context panel, you can quickly generate the following plots: 

Image 

 

`<,>`(1, 4), `<,>`(5, 3);  

Typesetting:-mprintslash([Vector[column]([[Typesetting:-mn(
 

 

Plot_2d
 

rtable(1 .. 2, 1 .. 2, [[1, 2], [2, 0]], subtype = Matrix);  

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mn(
 

 

Plot_2d
 

`+`(x, `*`(2, `*`(y)), `-`(`*`(3, `*`(z)))) = 0;  

`+`(x, `*`(2, `*`(y)), `-`(`*`(3, `*`(z)))) = 0
 

 

Plot_2d
 

[seq([sin(`+`(`*`(.5, `*`(i)))), cos(`+`(`*`(.3, `*`(i))))], i = 3 .. 10)];  

[[.9974949866, .6216099683], [.9092974268, .3623577545], [.5984721441, 0.7073720167e-1], [.1411200081, -.2272020947], [-.3507832277, -.5048461046], [-.7568024953, -.7373937155], [-.9775301177, -.90407...
[[.9974949866, .6216099683], [.9092974268, .3623577545], [.5984721441, 0.7073720167e-1], [.1411200081, -.2272020947], [-.3507832277, -.5048461046], [-.7568024953, -.7373937155], [-.9775301177, -.90407...
[[.9974949866, .6216099683], [.9092974268, .3623577545], [.5984721441, 0.7073720167e-1], [.1411200081, -.2272020947], [-.3507832277, -.5048461046], [-.7568024953, -.7373937155], [-.9775301177, -.90407...
[[.9974949866, .6216099683], [.9092974268, .3623577545], [.5984721441, 0.7073720167e-1], [.1411200081, -.2272020947], [-.3507832277, -.5048461046], [-.7568024953, -.7373937155], [-.9775301177, -.90407...
[[.9974949866, .6216099683], [.9092974268, .3623577545], [.5984721441, 0.7073720167e-1], [.1411200081, -.2272020947], [-.3507832277, -.5048461046], [-.7568024953, -.7373937155], [-.9775301177, -.90407...
 

 

Plot_2d
 

 

The context panel options have also been simplified to show fewer items than before when the Student:-LinearAlgebra package is loaded. 

New Commands 

  • Student[LinearAlgebra][CrossProduct]

  • Student[LinearAlgebra][MatrixExponential]

  • Student[LinearAlgebra][MatrixInverse]

  • Student[LinearAlgebra][Pseudoinverse]


Several of these new commands call commands from the LinearAlgebra package, however they have been slightly modified to suit the
Student:-LinearAlgebra package.  

 

For example, the LinearAlgebra:-MatrixInverse command returns results for square and non-square matrices. In Student:-LinearAlgebra, this command has been split into two commands: MatrixInverse, which only works for square matrices, and Pseudoinverse, which works for non-square matrices. 

 

MatrixInverse(rtable(1 .. 2, 1 .. 2, [[1, 2], [3, 1]], subtype = Matrix));  

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mrow(Typesetting:-mo(
 

Pseudoinverse(rtable(1 .. 2, 1 .. 3, [[3, -2, -3], [1, 2, -1]], subtype = Matrix));  

Typesetting:-mfenced(Typesetting:-mrow(Typesetting:-mtable(Typesetting:-mtr(Typesetting:-mtd(Typesetting:-mfrac(Typesetting:-mn(
 

 

New Math Apps 

Interactive Math Apps are now available for the following linear algebra topics: 

Diagonalization of Matrices 

Solving Systems of Linear Inequalities 

Gram-Schmidt Calculator 

Jordan Canonical Form