@@ -560,8 +560,7 @@ Return the lifted product code given by the matrices `A` and `B`.
560560```jldoctest
561561julia> F = Oscar.Nemo.Native.GF(2);
562562
563- julia> S, x = polynomial_ring(F, :x)
564- (Univariate polynomial ring in x over F, x)
563+ julia> S, x = polynomial_ring(F, :x);
565564
566565julia> l = 63;
567566
@@ -630,7 +629,7 @@ function bias_tailored_lifted_product_matrices(A::MatElem{T}, B::MatElem{T}) whe
630629 A13 = En1 ⊗ B
631630 A21 = A ⊗ En2
632631 A24 = Ek1 ⊗ B_tr
633- return vcat (hcat (zeros (A21), A12, A13, zeros (A24)), hcat (A21, zeros (A12), zeros (A13), A24))
632+ return vcat (hcat (zero (A21), A12, A13, zero (A24)), hcat (A21, zero (A12), zero (A13), A24))
634633end
635634
636635"""
@@ -644,6 +643,38 @@ Return the pre-lifted stabilizer matrix for bias-tailored lifted product code of
644643
645644# Notes
646645- Use `BiasTailoredLiftedProductCode` to return a quantum code over the base ring directly.
646+
647+ # Example
648+
649+ [[882, 24, d ≤ 24]] BiasTailored Lifted Product Code from Appendix B of [roffe2023bias](@cite).
650+
651+ ```jldoctest
652+ julia> F = Oscar.Nemo.Native.GF(2);
653+
654+ julia> S, x = polynomial_ring(F, :x);
655+
656+ julia> l = 63;
657+
658+ julia> R, _ = residue_ring(S, x^l - 1);
659+
660+ julia> A1 = matrix(R, 1, 1, [1 + x^1 + x^6]);
661+
662+ julia> A2 = matrix(R, 7, 7,
663+ [x^36, 0 , 0 , 0 , 0 , 1 , x^9,
664+ x^9 , x^36, 0 , 0 , 0 , 0 , 1 ,
665+ 1 , x^9 , x^36, 0 , 0 , 0 , 0 ,
666+ 0 , 1 , x^9 , x^36, 0 , 0 , 0 ,
667+ 0 , 0 , 1 , x^9 , x^36, 0 , 0 ,
668+ 0 , 0 , 0 , 1 , x^9 , x^36, 0 ,
669+ 0 , 0 , 0 , 0 , 1 , x^9 , x^36]);
670+
671+ julia> code = BiasTailoredLiftedProductCode(A1, A2);
672+ ┌ Warning: Commutativity of A and b required but not yet enforced.
673+ └ @ CodingTheory ~/Desktop/ct/doctests/CodingTheory/src/Quantum/product_codes.jl:60
674+
675+ julia> length(code), dimension(code)
676+ (882, 24)
677+ ```
647678"""
648679function bias_tailored_lifted_product_matrices (A:: MatElem{T} , B:: MatElem{T} ) where T <: CTGroupAlgebra
649680
@@ -664,7 +695,7 @@ function bias_tailored_lifted_product_matrices(A::MatElem{T}, B::MatElem{T}) whe
664695 A13 = En1 ⊗ B
665696 A21 = A ⊗ En2
666697 A24 = Ek1 ⊗ B_tr
667- return vcat (hcat (zeros (A21), A12, A13, zeros (A24)), hcat (A21, zeros (A12), zeros (A13), A24))
698+ return vcat (hcat (zero (A21), A12, A13, zero (A24)), hcat (A21, zero (A12), zero (A13), A24))
668699end
669700
670701"""
0 commit comments