Knowledge

Bareiss algorithm

Source 📝

403: 116:
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 or
151:
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).
144:
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:
141:
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.
743: 163:
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 each
864: 509:
During execution of the Bareiss algorithm, every integer that is computed is the determinant of a submatrix of the input matrix. This allows, using the
889: 98: 271: 884: 736: 645: 915: 843: 729: 874: 118: 801: 920: 833: 135:) complexity, but introduces division, which results in round-off errors when implemented using floating point numbers. 688: 787: 653: 925: 838: 752: 541: 94: 603:
Middeke, J.; Jeffrey, D.J.; Koutschan, C. (2020), "Common Factors in Fraction-Free Matrix Decompositions",
173: 56: 910: 797: 513:, to bound the size of these integers. Otherwise, the Bareiss algorithm may be viewed as a variant of 148:
Division-free algorithm — performs matrix reduction to triangular form without any division operation.
67:
entries, avoiding the introduction of any round-off errors beyond those already present in the input.
792: 514: 128: 48: 80: 771: 583: 510: 155:
For completeness Bareiss also suggests fraction-producing multiplication-free elimination methods.
32: 670: 612: 414: 807: 662: 622: 848: 138: 83: 63:). The method can also be used to compute the determinant of matrices with (approximated) 766: 529: 904: 812: 528:
matrix of maximum (absolute) value 2 for each entry, the Bareiss algorithm runs in
76: 44: 17: 113: 64: 40: 627: 828: 646:"Sylvester's Identity and multistep integer-preserving Gaussian elimination" 398:{\displaystyle M_{i,j}={\frac {M_{i,j}M_{k,k}-M_{i,k}M_{k,j}}{M_{k-1,k-1}}}} 60: 36: 721: 82:
The general Bareiss algorithm is distinct from the Bareiss algorithm for
540: 2) bound on the absolute value of intermediate values needed. Its 453:
If the assumption about principal minors turns out to be false, e.g. if
674: 52: 879: 869: 102: 666: 89:
In some Spanish-speaking countries, this algorithm is also known as
617: 725: 517:
and needs roughly the same number of arithmetic operations.
59:
that are performed are guaranteed to be exact (there is no
181:. Algorithm correctness is easily shown by induction on 699:(Contains a clearer picture of the operations sequence) 274: 857: 821: 780: 759: 397: 690:MULTISTEP INTEGER-PRESERVING GAUSSIAN ELIMINATION 501:-th row and change the sign of the final answer. 105:, who popularized the method among his students. 737: 8: 712:Fundamental Problems of Algorithmic Algebra 55:entries using only integer arithmetic; any 744: 730: 722: 75:The algorithm was originally announced by 639: 637: 626: 616: 559:)) when using elementary arithmetic or O( 443:contains the determinant of the original 369: 352: 336: 317: 301: 294: 279: 273: 875:Basic Linear Algebra Subprograms (BLAS) 595: 201:assuming its leading principal minors 172:entry contains the leading principal 7: 99:Universidad Autónoma de Nuevo León 25: 428:entry contains the leading minor 121:is impractical, as it requires O( 536:elementary operations with an O( 605:Mathematics in Computer Science 413:Output: The matrix is modified 1: 493:) then we can exchange the 942: 788:System of linear equations 687:Bareiss, Erwin H. (1966), 654:Mathematics of Computation 644:Bareiss, Erwin H. (1968), 628:10.1007/s11786-020-00495-9 79:in 1966 published in 1967. 839:Cache-oblivious algorithm 714:, Oxford University Press 497:−1-th row with the 95:René Mario Montante Pardo 916:Numerical linear algebra 890:General purpose software 753:Numerical linear algebra 542:computational complexity 520:It follows that, for an 710:Yap, Chee Keng (2000), 399: 224:is a special variable) 885:Specialized libraries 798:Matrix multiplication 793:Matrix decompositions 400: 97:, a professor of the 515:Gaussian elimination 272: 129:Gaussian elimination 27:In mathematics, the 921:Exchange algorithms 772:Numerical stability 584:fast multiplication 511:Hadamard inequality 395: 898: 897: 393: 207:are all non-zero. 84:Toeplitz matrices 39:to calculate the 29:Bareiss algorithm 18:Bareiss Algorithm 16:(Redirected from 933: 926:Computer algebra 808:Matrix splitting 746: 739: 732: 723: 716: 715: 707: 701: 696: 695: 684: 678: 677: 661:(103): 565–578, 650: 641: 632: 631: 630: 620: 600: 500: 496: 492: 488: 484: 478: 474: 470: 464: 460: 456: 446: 442: 432: 426: 422: 404: 402: 401: 396: 394: 392: 391: 364: 363: 362: 347: 346: 328: 327: 312: 311: 295: 290: 289: 264: 260: 256: 249: 245: 241: 234: 230: 205: 198: 194: 184: 179: 170: 166: 139:Round-off errors 91:Bareiss-Montante 21: 941: 940: 936: 935: 934: 932: 931: 930: 901: 900: 899: 894: 853: 849:Multiprocessing 817: 813:Sparse problems 776: 755: 750: 720: 719: 709: 708: 704: 693: 686: 685: 681: 667:10.2307/2004533 648: 643: 642: 635: 602: 601: 597: 592: 574:) log(log( 507: 498: 494: 490: 486: 482: 480: 476: 472: 468: 466: 462: 458: 454: 451: 450: 444: 441: 437: 435: 433: 430: 427: 424: 420: 418: 365: 348: 332: 313: 297: 296: 275: 270: 269: 262: 258: 254: 247: 243: 239: 232: 228: 223: 216: 206: 203: 200: 196: 192: 182: 180: 177: 171: 168: 164: 161: 119:Leibniz formula 111: 73: 23: 22: 15: 12: 11: 5: 939: 937: 929: 928: 923: 918: 913: 903: 902: 896: 895: 893: 892: 887: 882: 877: 872: 867: 861: 859: 855: 854: 852: 851: 846: 841: 836: 831: 825: 823: 819: 818: 816: 815: 810: 805: 795: 790: 784: 782: 778: 777: 775: 774: 769: 767:Floating point 763: 761: 757: 756: 751: 749: 748: 741: 734: 726: 718: 717: 702: 679: 633: 611:(4): 589–608, 594: 593: 591: 588: 578:) +  570:) +  555:) +  506: 503: 471: 457: 449: 448: 439: 429: 423: 411: 410: 409: 408: 407: 406: 405: 390: 387: 384: 381: 378: 375: 372: 368: 361: 358: 355: 351: 345: 342: 339: 335: 331: 326: 323: 320: 316: 310: 307: 304: 300: 293: 288: 285: 282: 278: 225: 221: 214: 208: 202: 199:-square matrix 188: 187: 176: 167: 160: 157: 153: 152: 149: 125:) operations. 110: 107: 72: 69: 31:, named after 24: 14: 13: 10: 9: 6: 4: 3: 2: 938: 927: 924: 922: 919: 917: 914: 912: 909: 908: 906: 891: 888: 886: 883: 881: 878: 876: 873: 871: 868: 866: 863: 862: 860: 856: 850: 847: 845: 842: 840: 837: 835: 832: 830: 827: 826: 824: 820: 814: 811: 809: 806: 803: 799: 796: 794: 791: 789: 786: 785: 783: 779: 773: 770: 768: 765: 764: 762: 758: 754: 747: 742: 740: 735: 733: 728: 727: 724: 713: 706: 703: 700: 692: 691: 683: 680: 676: 672: 668: 664: 660: 656: 655: 647: 640: 638: 634: 629: 624: 619: 614: 610: 606: 599: 596: 589: 587: 585: 582:))) by using 581: 577: 573: 569: 565: 562: 558: 554: 550: 547: 543: 539: 535: 533: 527: 523: 518: 516: 512: 504: 502: 467:= 0 and some 416: 412: 388: 385: 382: 379: 376: 373: 370: 366: 359: 356: 353: 349: 343: 340: 337: 333: 329: 324: 321: 318: 314: 308: 305: 302: 298: 291: 286: 283: 280: 276: 267: 266: 252: 251: 237: 236: 226: 220: 213: 209: 190: 189: 186: 175: 159:The algorithm 158: 156: 150: 147: 146: 145: 142: 140: 136: 134: 130: 126: 124: 120: 115: 108: 106: 104: 100: 96: 93:, because of 92: 87: 85: 81: 78: 70: 68: 66: 62: 58: 54: 50: 46: 42: 38: 34: 33:Erwin Bareiss 30: 19: 911:Determinants 760:Key concepts 711: 705: 698: 689: 682: 658: 652: 608: 604: 598: 579: 575: 571: 567: 563: 560: 556: 552: 548: 545: 537: 531: 525: 521: 519: 508: 452: 218: 211: 162: 154: 143: 137: 132: 127: 122: 112: 90: 88: 77:Jack Edmonds 74: 45:echelon form 28: 26: 566: (log( 551: (log( 217:= 1 (Note: 114:Determinant 41:determinant 905:Categories 802:algorithms 618:2005.12380 590:References 544:is thus O( 235:−1: 231:from 1 to 829:CPU cache 461:−1, 386:− 374:− 330:− 61:remainder 57:divisions 37:algorithm 858:Software 822:Hardware 781:Problems 505:Analysis 479:−1 465:−1 415:in-place 109:Overview 35:, is an 675:2004533 191:Input: 71:History 53:integer 43:or the 880:LAPACK 870:MATLAB 673:  436:entry 261:+1 to 246:+1 to 131:has O( 103:Mexico 49:matrix 865:ATLAS 694:(PDF) 671:JSTOR 649:(PDF) 613:arXiv 489:,..., 481:≠ 0 ( 419:each 257:from 242:from 195:— an 174:minor 51:with 47:of a 844:SIMD 268:Set 253:For 238:For 227:For 210:Let 65:real 834:TLB 663:doi 623:doi 440:n,n 431:k,k 425:k,k 222:0,0 215:0,0 204:k,k 178:k,k 169:k,k 907:: 697:. 669:, 659:22 657:, 651:, 636:^ 621:, 609:15 607:, 586:. 530:O( 524:× 485:= 265:: 250:: 185:. 123:n! 101:, 86:. 804:) 800:( 745:e 738:t 731:v 665:: 625:: 615:: 580:L 576:n 572:L 568:n 564:L 561:n 557:L 553:n 549:L 546:n 538:n 534:) 532:n 526:n 522:n 499:i 495:k 491:n 487:k 483:i 477:k 475:, 473:i 469:M 463:k 459:k 455:M 447:. 445:M 438:M 434:, 421:M 417:, 389:1 383:k 380:, 377:1 371:k 367:M 360:j 357:, 354:k 350:M 344:k 341:, 338:i 334:M 325:k 322:, 319:k 315:M 309:j 306:, 303:i 299:M 292:= 287:j 284:, 281:i 277:M 263:n 259:k 255:j 248:n 244:k 240:i 233:n 229:k 219:M 212:M 197:n 193:M 183:k 165:M 133:n 20:)

Index

Bareiss Algorithm
Erwin Bareiss
algorithm
determinant
echelon form
matrix
integer
divisions
remainder
real
Jack Edmonds

Toeplitz matrices
René Mario Montante Pardo
Universidad Autónoma de Nuevo León
Mexico
Determinant
Leibniz formula
Gaussian elimination
Round-off errors
minor
in-place
Hadamard inequality
Gaussian elimination
O(n)
computational complexity
fast multiplication
arXiv
2005.12380
doi

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.