Dave L

Dave Linder

517 Reputation

18 Badges

18 years, 59 days
Maplesoft
Software Architect
Waterloo, Ontario, Canada

 

Dave Linder
Mathematical Software, Maplesoft

MaplePrimes Activity


These are replies submitted by Dave L

For floating-point data in particular, you can set > infolevel[LinearAlgebra]:=1; # or higher and get information printed about which external (compiled) function is being used. For example, > with(LinearAlgebra): > M := RandomMatrix(10): > infolevel[LinearAlgebra]:=1: > Eigenvalues(evalf(M)): Eigenvalues: "calling external function" Eigenvalues: "CLAPACK" hw_dgeevx_ > Rank(evalf(M)): SingularValues: "calling external function" SingularValues: "NAG" hw_f08kef SingularValues: "NAG" hw_f08mef The "hw_" prefix simply denotes that the hardware double precision version is being called. The rest of the name indicates the entry point function in the external library. In the Eigenvalues example above, the CLAPACK function dgeevx is being used. For exact (eg. symbolic, integer, etc) data your approach to use showstat() to see the relevant Maple Library source code may suffice. But note that the routines with names like, LinearAlgebra:-Eigenvalues are top-level entry points designed to allow various options to be passed (or not passed). The routines which do the actual work are usually named like, LinearAlgebra:-LA_Main:-Eigenvalues so you may wish to issue showstat() on that instead. Dave Linder Team Lead, Mathematical Software, Maplesoft, Inc.
First 9 10 11 Page 11 of 11