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 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.
|
•
|
To use hardware floating-point computations and treat symbols as complex-valued, use the SetDefault command in the Student[LinearAlgebra] 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[LinearAlgebra]):
|
| (1) |
|
To assume that the symbols are complex for a particular computation:
|
>
|
Norm(<a,b>, 2, conjugate);
|
| (2) |
|
To assume that symbols are complex in any computation:
|
>
|
SetDefault(conjugate = true);
|
| (3) |
| (4) |
|
Normal floating-point computation:
|
| (5) |
|
For floating-point computations to take place in hardware whenever possible:
|
>
|
SetDefault(hardwarefloats=true);
|
| (6) |
| (7) |
>
|
A := <<a,b>|<c,d>|<e,f>>;
|
| (8) |
| (9) |
| (10) |
| (11) |
|