New LinearAlgebra Package in Maple 6
Efficient Numeric Linear Algebra ComputationsData Structure, Storage, and Algorithm Selection ImprovementsNew Programming InterfaceFurther Details and Examples
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk0">Efficient Numeric Linear Algebra Computations</Text-field>
One of the biggest features of Maple 6 is its new LinearAlgebra package which sets new standards in efficiency, robustness, available features, and accuracy for computational linear algebra. This was achieved by tightly and seamlessly integrating state-of-the-art NAG computational linear algebra routines into Maple 6 via its external calling mechanism. Furthermore, Waterloo Maple Inc. developed some breakthrough technology to not only allow hardware floating-point versions of these routines to be incorporated, but also arbitrary-precision floating-point versions too. Now, for the very first time, you can use the powerful NAG algorithms to do linear algebra computations with unrivaled accuracy.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk1">Data Structure, Storage, and Algorithm Selection Improvements</Text-field>
Unlike other attempts at incorporating powerful numerics into a computer algebra system, not only are full rectangular and sparse matrices fully supported in Maple 6 at the data structure level, but so are upper and lower triangular matrices, unit triangular matrices, banded matrices, as well as a variety of others. Further, symmetric, skew-symmetric, hermitian, and skew-hermitian are known qualifiers that are used appropriately to reduce storage and select amongst algorithms.
Just as important, the following data types are handled efficiently: hardware floating-point numbers (both real and complex), hardware integers of various sizes, arbitrary-precision floating-point numbers (both real and complex), and finally, but not least, general symbolic expressions. And, for increased compatibility with external routines, matrices can be stored in either C or Fortran order (in other words both row-major and column-major orders are supported).
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk2">New Programming Interface</Text-field>
Perhaps just as important, careful attention has been paid to two different sets of usage scenarios: casual use and programming use. Correspondingly, there are functions and notations designed for easy casual use (sometimes at the cost of some efficiency), and some functions designed for maximal efficiency (sometimes at the cost of ease-of-use). In this way, Maple 6's LinearAlgebra facilities scale easily from first year classroom use to heavy industrial usage, emphasizing the different qualities that each type of use needs.
<Text-field style="Heading 2" layout="Heading 2" bookmark="bkmrk3">Further Details and Examples</Text-field>
LinearAlgebra Package Index (?LAOverview)
Overview of the LinearAlgebra Package (?LinearAlgebra)
Efficient Numeric Linear Algebra Computation (?LA_numerics)
Programming with the LinearAlgebra Package (?LA_programming)
Matrix Import and Export and Vector Import and Export (?ImportMatrix and ?ImportVector)
Example - LinearAlgebra Shortcuts
Example - LinearAlgebra Options
Example - Solving Linear Systems
Example - LinearAlgebra with NAG