Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Bareiss algorithm

From Wikipedia, the free encyclopedia
Algorithm for determinants of integers

In mathematics, theBareiss algorithm, named afterErwin Bareiss, is analgorithm to calculate thedeterminant or theechelon form of amatrix withinteger entries using only integer arithmetic; anydivisions that are performed are guaranteed to be exact (there is noremainder). The method can also be used to compute the determinant of matrices with (approximated)real entries, avoiding the introduction of any round-off errors beyond those already present in the input.

Overview

[edit]

Determinant definition has only multiplication, addition and subtraction operations. Obviously the determinant is integer if all matrix entries are integer. However actual computation of the determinant using the definition orLeibniz formula is impractical, as it requires O(n!) operations.

Gaussian elimination has O(n3) complexity, but introduces division, which results in round-off errors when implemented using floating point numbers.

Round-off errors can be avoided if all the numbers are kept as integer fractions instead of floating point. But then the size of each element grows in size exponentially with the number of rows.[1]

Bareiss brings up a question of performing an integer-preserving elimination while keeping the magnitudes of the intermediate coefficients reasonably small. Two algorithms are suggested:[2][3]

  1. Division-free algorithm — performs matrix reduction to triangular form without any division operation.
  2. Fraction-free algorithm — uses division to keep the intermediate entries smaller, but due to the Sylvester's Identity the transformation is still integer-preserving (the division has zero remainder).

For completeness Bareiss also suggests fraction-producing multiplication-free elimination methods.[2]

The algorithm

[edit]

The program structure of this algorithm is a simple triple-loop, as in the standard Gaussian elimination. However in this case the matrix is modified so that eachMk,k entry contains the leading principalminor [M]k,k. Algorithm correctness is easily shown by induction onk.[4]

  • Input:M — ann-square matrix
    assuming its leading principal minors [M]k,k are all non-zero.
  • LetM0,0 = 1 (Note:M0,0 is a special variable)
  • Fork from 1 ton−1:
  • Output: The matrix is modifiedin-place,
    eachMk,k entry contains the leading minor [M]k,k,
    entryMn,n contains the determinant of the originalM.

If the assumption about principal minors turns out to be false, e.g. ifMk−1,k−1 = 0 and someMi,k−1 ≠ 0 (i =k,...,n) then we can exchange thek−1-th row with thei-th row and change the sign of the final answer.

Analysis

[edit]

During execution of the Bareiss algorithm, every integer that is computed is the determinant of a submatrix of the input matrix. This allows, using theHadamard inequality, to bound the size of these integers. Otherwise, the Bareiss algorithm may be viewed as a variant ofGaussian elimination and needs roughly the same number of arithmetic operations.

It follows that, for ann ×n matrix of maximum (absolute) value 2L for each entry, the Bareiss algorithm runs inO(n3) elementary operations with an O(nn/2 2nL) bound on the absolute value of intermediate values needed. Itscomputational complexity is thus O(n5L2 (log(n)2 + L2)) when using elementary arithmetic or O(n4L (log(n) + L) log(log(n) + L))) by usingfast multiplication.

References

[edit]
  1. ^Middeke, J.; Jeffrey, D.J.; Koutschan, C. (2020), "Common Factors in Fraction-Free Matrix Decompositions",Mathematics in Computer Science,15 (4):589–608,arXiv:2005.12380,doi:10.1007/s11786-020-00495-9
  2. ^abBareiss, Erwin H. (1968),"Sylvester's Identity and multistep integer-preserving Gaussian elimination"(PDF),Mathematics of Computation,22 (103):565–578,doi:10.2307/2004533,JSTOR 2004533
  3. ^Bareiss, Erwin H. (1966),MULTISTEP INTEGER-PRESERVING GAUSSIAN ELIMINATION(PDF).(Contains a clearer picture of the operations sequence)
  4. ^Yap, Chee Keng (2000),Fundamental Problems of Algorithmic Algebra, Oxford University Press
Key concepts
Problems
Hardware
Software
Retrieved from "https://en.wikipedia.org/w/index.php?title=Bareiss_algorithm&oldid=1281233503"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp