Overview of Computation in Student:-LinearAlgebra
For a general introduction to the LinearAlgebra subpackage of the Student package and a list of the linear algebra computation routines, see Student:-LinearAlgebra.
The computation routines in the Student:-LinearAlgebra subpackage are interfaces to the corresponding routines in the top-level LinearAlgebra package. There are two principal differences that these interfaces implement, however.
First, the top-level LinearAlgebra routines use hardware floating-point computations whenever possible. While this is important for large scale problems, it is potentially confusing, so in the Student:-LinearAlgebra subpackage this feature is turned off by default.
Second, the top-level LinearAlgebra routines generally treat symbols as complex-valued rather than real-valued. For example, a calculation such as a,b·c,d results in complex conjugates being applied to some of the symbols. Again, this working environment, while important in the context of the full Maple program, is less essential in the Student:-LinearAlgebra context, and symbols are generally treated as real-valued in this package.
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
Pseudoinverse
QRDecomposition
RandomMatrix
RandomVector
Rank
ReducedRowEchelonForm
ReflectionMatrix
RotationMatrix
RowDimension
RowSpace
SingularValues
SumBasis
SwapRow
Trace
Transpose
UnitVector
VectorAngle
ZeroMatrix
ZeroVector
To use hardware floating-point computations and treat symbols as complex-valued, use the SetDefault command in the (main) Student subpackage. Local control is available for the complex-versus-real assumption by appropriate use of the conjugate option on relevant Student:-LinearAlgebra commands. This local control is not available for the hardware-versus-software floating-point context. These variations are illustrated in the following examples.
with(Student):
with(LinearAlgebra):
Normal usage:
Norm(<a,b>, 2);
a2+b2
To assume that the symbols are complex for a particular computation:
Norm(<a,b>, 2, conjugate);
To assume that symbols are complex in any computation:
SetDefault(conjugate = true);
conjugate=false
Normal floating-point computation:
<1.2,3.4> . <1.3,4.2>;
15.8399999999999999
For floating-point computations to take place in hardware whenever possible:
SetDefault(hardwarefloats=true);
hardwarefloats=false
There is special notation for the transpose and Hermitian transpose operations for Matrices and Vectors: M+ computes the transpose of M, where M is a Matrix or Vector (or scalar); and M* computes the Hermitian (conjugate) transpose of M.
A := <<a,b>|<c,d>|<e,f>>;
A≔acebdf
v := <a | b | c>;
v≔abc
A^+, v^+;
abcdef,abc
A^*, v^*;
a&conjugate0;b&conjugate0;c&conjugate0;d&conjugate0;e&conjugate0;f&conjugate0;,a&conjugate0;b&conjugate0;c&conjugate0;
See Also
LinearAlgebra Computation Example Worksheet
Student
Student:-LinearAlgebra
Student[LinearAlgebra][InteractiveOverview]
Student[LinearAlgebra][VisualizationOverview]
Download Help Document