|
607 | 607 | @test dimension(Q) == 12 |
608 | 608 | @test_broken minimum_distance(S) == 8 |
609 | 609 |
|
610 | | - # co-prime bivariate bicycle codes |
| 610 | + # Coprime Bivariate Bicycle codes |
| 611 | + # Table 2 of https://arxiv.org/pdf/2408.10001v1 |
611 | 612 | # [[30, 4, 6]] |
612 | | - S, (π) = polynomial_ring(Oscar.Nemo.Native.GF(2), [:π]) |
| 613 | + S, (P) = polynomial_ring(Oscar.Nemo.Native.GF(2), [:P]) |
613 | 614 | l = 3 |
614 | 615 | m = 5 |
615 | | - R, _ = quo(S, ideal(S, [π[1]^(l*m)])) |
616 | | - a = R(1 + π[1] + π[1]^2) |
617 | | - b = R(π[1] + π[1]^3 + π[1]^8) |
618 | | - Q = CoPrimeBivariateBicycleCode(a, b, l, m) |
| 616 | + R, _ = quo(S, ideal(S, [P[1]^(l*m)])) |
| 617 | + a = R(1 + P[1] + P[1]^2) |
| 618 | + b = R(P[1] + P[1]^3 + P[1]^8) |
| 619 | + Q = CoprimeBivariateBicycleCode(a, b, l, m) |
619 | 620 | @test length(Q) == 30 |
620 | | - @test_broken dimension(code) == 4 |
| 621 | + @test dimension(Q) == 4 |
621 | 622 | @test_broken minimum_distance(S) == 6 |
622 | | - |
| 623 | + |
623 | 624 | # [[42, 6, 6]] |
624 | 625 | l = 3 |
625 | 626 | m = 7 |
626 | | - R, _ = quo(S, ideal(S, [π[1]^(l*m)])) |
627 | | - a = R(1 + π[1]^2 + π[1]^3) |
628 | | - b = R(π[1] + π[1]^3 + π[1]^11) |
629 | | - Q = CoPrimeBivariateBicycleCode(a, b, l, m) |
| 627 | + R, _ = quo(S, ideal(S, [P[1]^(l*m)])) |
| 628 | + a = R(1 + P[1]^2 + P[1]^3) |
| 629 | + b = R(P[1] + P[1]^3 + P[1]^11) |
| 630 | + Q = CoprimeBivariateBicycleCode(a, b, l, m) |
630 | 631 | @test length(Q) == 42 |
631 | | - @test_broken dimension(Q) == 6 |
| 632 | + @test dimension(Q) == 6 |
632 | 633 | @test_broken minimum_distance(S) == 6 |
633 | 634 |
|
634 | 635 | # [[70, 6, 8]] |
635 | 636 | l = 5 |
636 | 637 | m = 7 |
637 | | - R, _ = quo(S, ideal(S, [π[1]^(l*m)])) |
638 | | - a = R(1 + π[1]^2 + π[1]^5) |
639 | | - b = R(1 + π[1] + π[1]^12) |
640 | | - Q = CoPrimeBivariateBicycleCode(a, b, l, m) |
| 638 | + R, _ = quo(S, ideal(S, [P[1]^(l*m)])) |
| 639 | + a = R(1 + P[1] + P[1]^5) |
| 640 | + b = R(1 + P[1] + P[1]^12) |
| 641 | + Q = CoprimeBivariateBicycleCode(a, b, l, m) |
641 | 642 | @test length(Q) == 70 |
642 | | - @test_broken dimension(Q) == 6 |
| 643 | + @test dimension(Q) == 6 |
643 | 644 | @test_broken minimum_distance(S) == 8 |
644 | 645 |
|
645 | 646 | # [[108, 12, 6]] |
646 | 647 | l = 2 |
647 | 648 | m = 27 |
648 | | - R, _ = quo(S, ideal(S, [π[1]^(l*m)])) |
649 | | - a = R(π[1]^2 + π[1]^5 + π[1]^44) |
650 | | - b = R(π[1]^8 + π[1]^14 + π[1]^47) |
651 | | - Q = CoPrimeBivariateBicycleCode(a, b, l, m) |
| 649 | + R, _ = quo(S, ideal(S, [P[1]^(l*m)])) |
| 650 | + a = R(P[1]^2 + P[1]^5 + P[1]^44) |
| 651 | + b = R(P[1]^8 + P[1]^14 + P[1]^47) |
| 652 | + Q = CoprimeBivariateBicycleCode(a, b, l, m) |
652 | 653 | @test length(Q) == 108 |
653 | | - @test_broken dimension(Q) == 12 |
| 654 | + @test dimension(Q) == 12 |
654 | 655 | @test_broken minimum_distance(S) == 6 |
655 | 656 |
|
656 | 657 | # [126, 12, 10]] |
657 | 658 | l = 7 |
658 | 659 | m = 9 |
659 | | - R, _ = quo(S, ideal(S, [π[1]^(l*m)])) |
660 | | - a = R(1 + π[1] + π[1]^58) |
661 | | - b = R(π[1]^3 + π[1]^16 + π[1]^44) |
662 | | - Q = CoPrimeBivariateBicycleCode(a, b, l, m) |
| 660 | + R, _ = quo(S, ideal(S, [P[1]^(l*m)])) |
| 661 | + a = R(1 + P[1] + P[1]^58) |
| 662 | + b = R(P[1]^3 + P[1]^16 + P[1]^44) |
| 663 | + Q = CoprimeBivariateBicycleCode(a, b, l, m) |
663 | 664 | @test length(Q) == 126 |
664 | | - @test_broken dimension(Q) == 12 |
| 665 | + @test dimension(Q) == 12 |
665 | 666 | @test_broken dimension(Q) == 10 |
666 | 667 | end |
0 commit comments