Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
LinearAlgebra[Generic][Determinant] - compute the determinant of a square Matrix
Calling Sequence
Determinant[R](A)
Determinant[R](A,method=BerkowitzAlgorithm)
Determinant[R](A,method=MinorExpansion)
Determinant[R](A,method=BareissAlgorithm)
Determinant[R](A,method=GaussianElimination)
Parameters
R
-
the domain of computation
A
square Matrix of values in R
Description
The parameter A must be a square (n x n) Matrix of values from R.
The (indexed) parameter R, which specifies the domain of computation, a commutative ring, must be a Maple table/module which has the following values/exports:
R[`0`] : a constant for the zero of the ring R
R[`1`] : a constant for the (multiplicative) identity of R
R[`+`] : a procedure for adding elements of R (nary)
R[`-`] : a procedure for negating and subtracting elements of R (unary and binary)
R[`*`] : a procedure for multiplying elements of R (binary and commutative)
R[`=`] : a boolean procedure for testing if two elements of R are equal
The optional argument method=... specifies the algorithm to be used. The specific algorithms are as follows:
method=MinorExpansion directs the code to use minor expansion. This algorithm uses O(n 2^n) arithmetic operations in R.
method=BerkowitzAlgorithm directs the code to use the Berkowitz algorithm. This algorithm uses O(n^4) arithmetic operations in R.
method=BareissAlgorithm directs the code to use the Bareiss algorithm. This algorithm uses O(n^3) arithmetic operations in R but requires exact division, i.e., it requires R to be an integral domain with the following operation defined:
R[Divide]: a boolean procedure for dividing two elements of R where R[Divide](a,b,'q') outputs true if b | a and optionally assigns q the quotient such that a = b q.
method=GaussianElimination directs the code to use the Gaussian elimination algorithm. This algorithm uses O(n^3) arithmetic operations in R but requires R to be a field, i.e., the following operation must be defined:
R[`/`]: a procedure for dividing two elements of R
If the method is not given and the operation R[Divide] is defined, then the Bareiss algorithm is used, otherwise if the operation R[`/`] is defined then GaussianElimination is used, otherwise the Berkowitz algorithm is used.
Examples
See Also
LinearAlgebra[Determinant], LinearAlgebra[Generic], LinearAlgebra[Generic][BareissAlgorithm], LinearAlgebra[Generic][BerkowitzAlgorithm], LinearAlgebra[Generic][GaussianElimination], LinearAlgebra[Generic][MinorExpansion]
Download Help Document