Overview of the Student LinearAlgebra Subpackage
Calling Sequence
Description
The Student Linear Algebra Environment
Matrices and Vectors
Visualization
Interactive
Computation
Interactive MathApps
Getting Help with a Command in the Package
Compatibility
Student:-LinearAlgebra:-command(arguments)
command(arguments)
The Student:-LinearAlgebra subpackage is designed to help teachers present and students understand the basic material of a standard first course in linear algebra. The subpackage has three principal components: interactive, visualization, and matrix computations. These components are described in the following sections.
Each command in the Student:-LinearAlgebra subpackage can be accessed by using either the long form or the short form of the command name in the command calling sequence.
For example, to visualize the intersection of a set of planes in 3-D space, use the following command (assuming that with(Student:-LinearAlgebra) has already been entered).
LinearSystemPlot({3*x+2*y-z=4, -x+3*y+2*z=1})
The long form, Student:-LinearAlgebra:-command, is always available. The short form can be used after loading the package.
The Maple Command Completion facility is helpful for entering the names of Student package commands.
Many of the commands and tutors in the Student:-LinearAlgebra package can be accessed through the context panel. First, load the Student:-LinearAlgebra package. Then, these commands are consolidated under the Student:-LinearAlgebra name.
A note on boolean options: Many of the commands in the Student:-LinearAlgebra subpackage take boolean options, that is, options of the form option_name = value, where value is one of true or false. These options are used, for example, to control which components are included in a plot. In all cases, the form option_name = true can be abbreviated as simply option_name.
Linear algebra operations and data structures are used throughout the Maple system and by a wide variety of users, from students in a classroom to professionals solving large, real world problems. Certain aspects of the design of Maple support for linear algebra address the needs of the former group (for example, syntactic shortcuts for common operations), while others address the needs of the latter group (for example, using hardware precision for floating-point computations, and computing over the complex numbers).
In the Student:-LinearAlgebra subpackage, the default environment has been slightly modified from that of the broader Maple context, in that floating-point computations are not routinely carried out using hardware precision, and symbols are generally assumed to represent real, rather than complex, quantities. Both of these defaults, as well as others, can be controlled through the SetDefault command.
The general constructor commands for Matrix and Vector objects are called, respectively, Matrix and Vector. These are powerful commands, providing the user with extensive control over the precise formats of the underlying data structures as well as constraints on types and locations of entries. However, within the context of the Student:-LinearAlgebra subpackage, it is rarely necessary to use these commands directly.
A Vector can also be constructed using either of two shortcut syntaxes:
<1, 2, 3, 4>
constructs a column Vector
<a | b | c>
constructs a row Vector
This syntax allows the user to control only the entries of the Vector. In general, this is sufficient for interactive work on small Vectors.
A Matrix can be constructed from scalar data using a similar syntax:
<a,b;c,d;e,f>
constructs a 3x2 Matrix from rows of scalars
<a,b|c,d|e,f>
constructs a 2x3 Matrix from columns of scalars
A Matrix can be also be constructed from Vector or Matrix inputs:
<<1,2>|<3,4>|<5,6>>
constructs a 2x3 Matrix out of 3 column Vectors
<<a|b>,<c|d>,<e|f>>
constructs a 3x2 Matrix out of 3 row Vectors
The general rule is that vertical bars (|) separate objects horizontally (across rows), while commas separate objects vertically (down columns). The objects themselves must have dimensions which allow for correct alignment. This means, for example, that when a Matrix is constructed from Vectors, all the Vectors must have the same orientation and dimension.
The objects used to create a Matrix (by rows or columns) need not be Vectors. For example, if A is a 3x3 Matrix and b is a 3-D column Vector, then A|b builds the corresponding 3x4 augmented Matrix, while A,bT builds a 4x3 Matrix whose last row is the transpose of b.
See Matrix and Vector Construction Shortcuts for more details.
See Operators for details on how to perform standard arithmetic operations on Matrices and Vectors.
It is convenient to use the Matrix or Vector constructor directly when creating a symbolic Matrix or Vector and giving a generic name to the entries (by default, unspecified entries in a Matrix or Vector are set to 0). For example, to create a 3x2 Matrix A whose entries are appropriately subscripted letters a, use A≔Matrix⁡3,2,symbol=a. Do not assign any other value to the name used for this symbol.
The visualization commands are designed to assist in the understanding of basic linear algebra concepts. Each of these commands produces a Maple plot, which is a static plot or an animation, depending on the options you select. Additionally, if you set infolevel[Student] := 1 or infolevel[Student:-LinearAlgebra] := 1, these commands print useful information about the computation. For details, see infolevel and SetDefault.
You have considerable control over the presentation of plots produced by the visualization routines. The display of each object included in the plot can be adjusted by using a corresponding option in the calling sequence. For details, see the help pages for the individual commands.
For more information on this functionality, see Student/LinearAlgebra/VisualizationOverview.
The visualization commands are:
ApplyLinearTransformPlot
CrossProductPlot
EigenPlot
LeastSquaresPlot
LinearSystemPlot
LinearTransformPlot
PlanePlot
ProjectionPlot
VectorSumPlot
For examples, see LinearAlgebra Visualization Example Worksheet 1 and LinearAlgebra Visualization Example Worksheet 2.
The interactive routines use the Maple Maplet technology to assist you to work through the standard computations of linear algebra in a visually directed manner. These commands display one or more dialog boxes presenting the current state of the problem you are working on and a set of controls which let you move to the next step in the solution of that problem. Each command takes as input a Matrix, or a Matrix and Vector.
As these Maplet applications are designed to demonstrate concepts, the problems they accept are restricted to low dimensionality, typically no more than dimension 4 or 5.
Note: Algorithms for linear algebra computations using floating-point numbers are different from algorithms for similar computations using integers, rational numbers, or symbolic expressions. Thus, any floating-point numbers present in parameters passed to any of the Maplet applications in this subpackage are converted to rationals before the computation proceeds.
For more information on this functionality, see Student/LinearAlgebra/InteractiveOverview.
The interactive commands are:
EigenPlotTutor
EigenvaluesTutor
EigenvectorsTutor
GaussianEliminationTutor
GaussJordanEliminationTutor
InverseTutor
LinearSolveTutor
LinearSystemPlotTutor
LinearTransformPlotTutor
For examples, see LinearAlgebra Interactive Example Worksheet.
Maple includes a large package, called LinearAlgebra, of routines supporting computations in linear algebra. The bulk of the routines in the Student:-LinearAlgebra subpackage relating to such computations are front-ends to this larger package.
The help page for each of these computation commands is generally a shortened version of the corresponding main LinearAlgebra documentation page, describing the parameters and options most likely to be used in a first linear algebra course setting. If more information is required, you can follow a link to the main LinearAlgebra page to get a description of the full functionality of the command.
For more information on this functionality, see Student/LinearAlgebra/ComputationOverview.
The commands available for use in linear algebra computation are:
&x
*
+
.
^
^*
^+
AddRow
Adjoint
BackwardSubstitute
BandMatrix
Basis
BilinearForm
CharacteristicMatrix
CharacteristicPolynomial
ColumnDimension
ColumnSpace
CompanionMatrix
ConstantMatrix
ConstantVector
CrossProduct
Determinant
Diagonal
DiagonalMatrix
Dimension
Eigenvalues
Eigenvectors
Equal
GaussianElimination
GenerateEquations
GenerateMatrix
GramSchmidt
HermitianTranspose
HouseholderMatrix
Id
IdentityMatrix
IntersectionBasis
IsDefinite
IsOrthogonal
IsSimilar
IsUnitary
JordanBlockMatrix
JordanForm
LeastSquares
LinearSolve
LUDecomposition
MatrixExponential
MatrixInverse
MinimalPolynomial
Minor
MultiplyRow
Norm
Normalize
NullSpace
Pivot
ProjectionMatrix
Pseudoinverse
QRDecomposition
RandomMatrix
RandomVector
Rank
ReducedRowEchelonForm
ReflectionMatrix
RotationMatrix
RowDimension
RowSpace
SingularValues
SumBasis
SwapRow
Trace
Transpose
UnitVector
VectorAngle
ZeroMatrix
ZeroVector
For examples, see LinearAlgebra Computation Example Worksheet.
For information on setting default parameters for the Student:-LinearAlgebra subpackage, see SetDefault.
There are many interactive MathApps available in Maple that compliment content contained in the Student LinearAlgebra package. For some examples, see the Points, Lines, and Planes or Vectors sections of the MathApps Guide.
To display the help page for a particular Student:-LinearAlgebra command, see Getting Help with a Command in a Package.
A comment on notation: Prior to Maple 6, the data structures used for linear algebra computations were matrix and vector. These objects were based on the Maple table data structure, and the support for linear algebra was largely contained in the (now deprecated) linalg package.
In Maple 6, a new data structure, called an rtable, was introduced. The name rtable is short for rectangular table and reflects the underlying storage scheme, which in most cases is a contiguous block of computer memory. This enables Maple to achieve high efficiencies in large linear algebra computations. A new package, called LinearAlgebra, was developed to take advantage of this technology. The data structures used by the LinearAlgebra package, and now by this Student:-LinearAlgebra subpackage, are Matrix and Vector, which are based on the new rtable structure.
The Student:-LinearAlgebra subpackage, like the main LinearAlgebra package, does not recognize the older matrix and vector data structures. However, for backwards compatibility reasons, these data structures continue to exist and be supported in Maple. For the purposes of clarity, therefore, the documentation for the Student:-LinearAlgebra subpackage uses the capitalized names, Matrix and Vector, throughout.
Applications
Student:-LinearAlgebra Examples
LinearAlgebra Computation Example Worksheet
LinearAlgebra Interactive Example Worksheet
LinearAlgebra Visualization Example Worksheet 1
LinearAlgebra Visualization Example Worksheet 2
See Also
Command Completion
LinearAlgebra
Matrix
Matrix and Vector Construction Shortcuts
rtable
Student
Student/LinearAlgebra/ComputationOverview
Student/LinearAlgebra/InteractiveOverview
Student/LinearAlgebra/VisualizationOverview
Student:-SetDefault
Vector
Download Help Document