Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

naive and shor measurement circuits throw error while testing on master branch #394

Closed
Fe-r-oz opened this issue Oct 17, 2024 · 11 comments
Closed
Labels
bug Something isn't working

Comments

@Fe-r-oz
Copy link
Contributor

Fe-r-oz commented Oct 17, 2024

Describe the bug 🐞

There is an error on the master branch now, which I think seems to be because of using '. This error started showing up in a PR when I pushed a polish. It was unrealted to the work, so I created a new branch w.r.t to upstream master branch and ran the tests to see whether the error occurred.

It seems that latest PR #393 fixes this bug.

Error Location, line 126 and 135 based on the Error Trace:

function parity_checks_xz(c::LPCode)
hx, hz = hgp(c.A, c.B')
hx, hz = concat_lift_repr(c.repr,hx), concat_lift_repr(c.repr,hz)
return hx, hz
end

parity_checks(c::LPCode) = parity_checks(CSS(parity_checks_xz(c)...))

Opening this issue so we can keep a log on this bug.

Expected behavior

All the test should pass.

Minimal Reproducible Example 👇

] test QuantumClifford # on upstream master branch

Error & Stacktrace or other complete output produced by the MRE ⚠️

     Testing Running tests...
skipping gpu tests (set GPU_TESTS=true to test gpu)
Starting tests with 1 threads out of `Sys.CPU_THREADS = 4`...
naive and shor measurement circuits: Error During Test at /home/Desktop/diag/QuantumClifford.jl/test/test_ecc_syndromes.jl:44
  Got exception outside of a @test
  BoundsError: attempt to access 4×3 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [1, 4]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] getindex
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/adjtrans.jl:334 [inlined]
    [5] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [6] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                    
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [7] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                                                        
      @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/codes/util.jl:6
    [8] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:126
    [9] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
   [10] code_k
      @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [11] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
      @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/circuits.jl:20
   [12] naive_encoding_circuit
      @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/circuits.jl:18 [inlined]
   [13] pframe_naive_vs_shor_syndrome(code::QuantumCliffordHeckeExt.LPCode)
      @ Main.var"##245" ~/Desktop/diag/QuantumClifford.jl/test/test_ecc_syndromes.jl:9
   [14] macro expansion
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc_syndromes.jl:46 [inlined]
   [15] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [16] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc_syndromes.jl:45
   [17] eval
      @ ./boot.jl:430 [inlined]
   [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [19] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [20] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [21] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [22] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [23] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [24] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [25] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [26] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [27] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [28] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/runtests.jl:32
   [29] include(fname::String)
      @ Main ./sysimg.jl:38
   [30] top-level scope
      @ none:6
   [31] eval
      @ ./boot.jl:430 [inlined]
   [32] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [33] _start()
      @ Base ./client.jl:531
naive syndrome circuits - zero syndrome for logical states: Error During Test at /home/Transcendence/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:36
  Got exception outside of a @test
  BoundsError: attempt to access 4×3 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [1, 4]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] getindex
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/adjtrans.jl:334 [inlined]
    [5] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [6] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                    
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [7] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                                                        
      @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/codes/util.jl:6
    [8] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:126
    [9] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
   [10] code_k
      @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [11] test_naive_syndrome(c::QuantumCliffordHeckeExt.LPCode, e::Bool)
      @ Main.var"##251" ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:11
   [12] macro expansion
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:38 [inlined]
   [13] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [14] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:37
   [15] eval
      @ ./boot.jl:430 [inlined]
   [16] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [17] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [18] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [19] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [20] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [21] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [22] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [23] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [24] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [25] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [26] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/runtests.jl:32
   [27] include(fname::String)
      @ Main ./sysimg.jl:38
   [28] top-level scope
      @ none:6
   [29] eval
      @ ./boot.jl:430 [inlined]
   [30] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [31] _start()
      @ Base ./client.jl:531
naive syndrome circuits - zero syndrome for logical states: Error During Test at /home/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:58
  Got exception outside of a @test
  BoundsError: attempt to access 4×3 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [1, 4]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] getindex
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/adjtrans.jl:334 [inlined]
    [5] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [6] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                    
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [7] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                                                        
      @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/codes/util.jl:6
    [8] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:126
    [9] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
   [10] code_k
      @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [11] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
      @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/circuits.jl:20
   [12] naive_encoding_circuit
      @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/circuits.jl:18 [inlined]
   [13] test_with_pframes(code::QuantumCliffordHeckeExt.LPCode)
      @ Main.var"##251" ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:46
   [14] macro expansion
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:60 [inlined]
   [15] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [16] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/test_ecc.jl:59
   [17] eval
      @ ./boot.jl:430 [inlined]
   [18] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [19] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [20] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [21] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [22] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [23] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [24] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [25] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [26] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [27] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [28] top-level scope
      @ ~/Desktop/diag/QuantumClifford.jl/test/runtests.jl:32
   [29] include(fname::String)
      @ Main ./sysimg.jl:38
   [30] top-level scope
      @ none:6
   [31] eval
      @ ./boot.jl:430 [inlined]
   [32] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [33] _start()
      @ Base ./client.jl:531
[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: running doctests.
[ Info: Skipped ExpandTemplates step (doctest only).
[ Info: Skipped CrossReferences step (doctest only).
[ Info: Skipped CheckDocument step (doctest only).
[ Info: Skipped Populate step (doctest only).
[ Info: Skipped RenderDocument step (doctest only).
ERROR: LoadError: BoundsError: attempt to access 4×3 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [1, 4]
Stacktrace:
  [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                      
    @ Base ./essentials.jl:14
  [2] checkbounds
    @ ./abstractarray.jl:699 [inlined]
  [3] getindex
    @ ./array.jl:918 [inlined]
  [4] getindex
    @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/adjtrans.jl:334 [inlined]
  [5] kron!
    @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
  [6] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                      
    @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
  [7] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})                                                                          
    @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/codes/util.jl:6
  [8] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
    @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:126
  [9] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
    @ QuantumCliffordHeckeExt ~/Desktop/diag/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
 [10] code_k
    @ ~/Desktop/diag/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
 [11] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
    @ QuantumClifford.ECC ~/Desktop/diag/QuantumClifford.jl/src/ecc/circuits.jl:20
 [12] top-level scope
    @ ~/Desktop/diag/QuantumClifford.jl/src/QuantumClifford.jl:27
 [13] eval
    @ ./boot.jl:430 [inlined]
 [14] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:2643
 [15] include_string(m::Module, txt::String, fname::String)
    @ Base ./loading.jl:2653
 [16] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [17] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [18] #8
    @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
 [19] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
 [20] #7
    @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
 [21] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
    @ Base.Filesystem ./file.jl:112
 [22] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
 [23] run_tests(path::String; filter::var"#1#2", verbose::Bool)
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
 [24] top-level scope
    @ ~/Desktop/diag/QuantumClifford.jl/test/runtests.jl:32
 [25] include(fname::String)
    @ Main ./sysimg.jl:38
 [26] top-level scope
    @ none:6
in expression starting at /home/Desktop/diag/QuantumClifford.jl/test/test_ecc_encoding.jl:11
in expression starting at /home/Desktop/diag/QuantumClifford.jl/test/runtests.jl:32
ERROR: Package QuantumClifford errored during testing

Environment (please complete the following information):

  • Output of using Pkg; Pkg.status()
julia> using Pkg; Pkg.status()
Project QuantumClifford v0.9.11
  [861a8166] Combinatorics v1.0.2
  [864edb3b] DataStructures v0.18.20
  [ffbed154] DocStringExtensions v0.9.3
  [86223c79] Graphs v1.12.0
  [3e5b6fbb] HostCPUFeatures v0.1.17
⌅ [2cd5bd5f] ILog2 v0.2.4
  [1914dd2f] MacroTools v0.5.13
  [2edaba10] Nemo v0.47.2
  [aea7be01] PrecompileTools v1.2.1
  [5717a53b] QuantumInterface v0.3.6
  [fdea26ae] SIMD v3.6.0
  [10745b16] Statistics v1.11.1
  [8e1ec7a9] SumTypes v0.5.8
  [b77e0a4c] InteractiveUtils v1.11.0
  [37e2e46d] LinearAlgebra v1.11.0
  [9a3f8284] Random v1.11.0
  [2f01184e] SparseArrays v1.11.0
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated
  • Output of using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
julia> using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
Project QuantumClifford v0.9.11
  [c3fe647b] AbstractAlgebra v0.43.6
  [ec485272] ArnoldiMethod v0.4.0
  [62783981] BitTwiddlingConvenienceFunctions v0.1.6
  [861a8166] Combinatorics v1.0.2
  [f70d9fcc] CommonWorldInvalidations v1.0.0
  [34da2185] Compat v4.16.0
  [864edb3b] DataStructures v0.18.20
  [ffbed154] DocStringExtensions v0.9.3
  [86223c79] Graphs v1.12.0
  [3e5b6fbb] HostCPUFeatures v0.1.17
⌅ [2cd5bd5f] ILog2 v0.2.4
  [615f187c] IfElse v0.1.1
  [d25df0c9] Inflate v0.1.5
  [692b3bcd] JLLWrappers v1.6.1
  [1914dd2f] MacroTools v0.5.13
  [2edaba10] Nemo v0.47.2
  [bac558e1] OrderedCollections v1.6.3
  [aea7be01] PrecompileTools v1.2.1
  [21216c6a] Preferences v1.4.3
  [5717a53b] QuantumInterface v0.3.6
  [fb686558] RandomExtensions v0.4.4
  [fdea26ae] SIMD v3.6.0
  [699a6c99] SimpleTraits v0.9.4
  [aedffcd0] Static v1.1.1
  [90137ffa] StaticArrays v1.9.7
  [1e83bf80] StaticArraysCore v1.4.3
  [10745b16] Statistics v1.11.1
  [8e1ec7a9] SumTypes v0.5.8
  [e134572f] FLINT_jll v300.100.300+0
  [656ef2d0] OpenBLAS32_jll v0.3.28+3
  [0dad84c5] ArgTools v1.1.2
  [56f22d72] Artifacts v1.11.0
  [2a0f44e3] Base64 v1.11.0
  [ade2ca70] Dates v1.11.0
  [8ba89e20] Distributed v1.11.0
  [f43a241f] Downloads v1.6.0
  [7b1f6079] FileWatching v1.11.0
  [b77e0a4c] InteractiveUtils v1.11.0
  [b27032c2] LibCURL v0.6.4
  [76f85450] LibGit2 v1.11.0
  [8f399da3] Libdl v1.11.0
  [37e2e46d] LinearAlgebra v1.11.0
  [56ddb016] Logging v1.11.0
  [d6f4376e] Markdown v1.11.0
  [a63ad114] Mmap v1.11.0
  [ca575930] NetworkOptions v1.2.0
  [44cfe95a] Pkg v1.11.0
  [de0858da] Printf v1.11.0
  [9a3f8284] Random v1.11.0
  [ea8e919c] SHA v0.7.0
  [9e88b42a] Serialization v1.11.0
  [1a1011a3] SharedArrays v1.11.0
  [6462fe0b] Sockets v1.11.0
  [2f01184e] SparseArrays v1.11.0
  [fa267f1f] TOML v1.0.3
  [a4e569a6] Tar v1.10.0
  [8dfed614] Test v1.11.0
  [cf7118a7] UUIDs v1.11.0
  [4ec0a83e] Unicode v1.11.0
  [e66e0078] CompilerSupportLibraries_jll v1.1.1+0
  [781609d7] GMP_jll v6.3.0+0
  [deac9b47] LibCURL_jll v8.6.0+0
  [e37daf67] LibGit2_jll v1.7.2+0
  [29816b5a] LibSSH2_jll v1.11.0+1
  [3a97d323] MPFR_jll v4.2.1+0
  [c8ffd9c3] MbedTLS_jll v2.28.6+0
  [14a3606d] MozillaCACerts_jll v2023.12.12
  [4536629a] OpenBLAS_jll v0.3.27+1
  [bea87d4a] SuiteSparse_jll v7.7.0+0
  [83775a58] Zlib_jll v1.2.13+1
  [8e850b90] libblastrampoline_jll v5.11.0+0
  [8e850ede] nghttp2_jll v1.59.0+0
  [3f19e933] p7zip_jll v17.4.0+2
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m`
  • Output of versioninfo()
julia> versioninfo()
Julia Version 1.11.1
Commit 8f5b7ca12ad (2024-10-16 10:53 UTC)
Build Info:
  Official https://julialang.org/ release
Platform Info:
  OS: Linux (x86_64-linux-gnu)
  CPU: 4 × Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
  WORD_SIZE: 64
  LLVM: libLLVM-16.0.6 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 4 virtual cores
@Fe-r-oz Fe-r-oz added the bug Something isn't working label Oct 17, 2024
@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Oct 17, 2024

It seems that latest PR #393 fixes this bug.

In order to check whether it does, I added the changes made in aforementioned PR 393 and ran the tests again to a new upstream master branch. The stack trace below shows, that the error is now at Line 130, Line 135, and Line 144 which are

Line 130
hz = hcat(kron(LinearAlgebra.I(n₁), h₂), kron(permutedims(group_algebra_conj.(h₁)), LinearAlgebra.I(r₂)))

Line 135
hx, hz = hgp(c.A, permutedims(group_algebra_conj.(c.B)))

Line 144
parity_checks(c::LPCode) = parity_checks(CSS(parity_checks_xz(c)...))

The test runner at the time of commit in PR 393 didn't detect these errors. @royess, since you are working on the PR, could you check whether this stack trace is reproducible on your end as well? I started noticing these errors within last 10 hours from now. Thanks!

I think the source of these errors (as seen from the stack trace) is kron from Line 130.

Please note that I am using Julia Version 1.11.1, and Hecke Version 0.34.4

Error & Stacktrace or other complete output produced by the MRE ⚠️

     Testing Running tests...
skipping gpu tests (set GPU_TESTS=true to test gpu)
Starting tests with 1 threads out of `Sys.CPU_THREADS = 4`...
[ Info: SetupBuildDirectory: setting up build directory.
[ Info: Doctest: running doctests.
[ Info: Skipped ExpandTemplates step (doctest only).
[ Info: Skipped CrossReferences step (doctest only).
[ Info: Skipped CheckDocument step (doctest only).
[ Info: Skipped Populate step (doctest only).
[ Info: Skipped RenderDocument step (doctest only).
naive syndrome circuits - zero syndrome for logical states: Error During Test at /home/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:36
  Got exception outside of a @test
  BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                          
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                              
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
    [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
    [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
    [9] code_k
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [10] test_naive_syndrome(c::QuantumCliffordHeckeExt.LPCode, e::Bool)
      @ Main.var"##333" ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:11
   [11] macro expansion
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:38 [inlined]
   [12] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [13] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:37
   [14] eval
      @ ./boot.jl:430 [inlined]
   [15] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [16] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [17] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [18] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [19] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [20] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [21] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [22] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [23] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [24] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [25] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
   [26] include(fname::String)
      @ Main ./sysimg.jl:38
   [27] top-level scope
      @ none:6
   [28] eval
      @ ./boot.jl:430 [inlined]
   [29] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [30] _start()
      @ Base ./client.jl:531
naive syndrome circuits - zero syndrome for logical states: Error During Test at /home//Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:58
  Got exception outside of a @test
  BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                          
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                              
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
    [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
    [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
    [9] code_k
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [10] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
      @ QuantumClifford.ECC ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/circuits.jl:20
   [11] naive_encoding_circuit
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/circuits.jl:18 [inlined]
   [12] test_with_pframes(code::QuantumCliffordHeckeExt.LPCode)
      @ Main.var"##333" ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:46
   [13] macro expansion
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:60 [inlined]
   [14] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [15] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc.jl:59
   [16] eval
      @ ./boot.jl:430 [inlined]
   [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [18] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [19] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [20] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [21] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [22] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [23] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [24] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [25] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [26] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [27] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
   [28] include(fname::String)
      @ Main ./sysimg.jl:38
   [29] top-level scope
      @ none:6
   [30] eval
      @ ./boot.jl:430 [inlined]
   [31] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [32] _start()
      @ Base ./client.jl:531
is CSS: Error During Test at /home//Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:21
  Got exception outside of a @test
  BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                          
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                              
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
    [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
    [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
    [9] macro expansion
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:23 [inlined]
   [10] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [11] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:22
   [12] eval
      @ ./boot.jl:430 [inlined]
   [13] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [14] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [15] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [16] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [17] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [18] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [19] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [20] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [21] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [22] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [23] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
   [24] include(fname::String)
      @ Main ./sysimg.jl:38
   [25] top-level scope
      @ none:6
   [26] eval
      @ ./boot.jl:430 [inlined]
   [27] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [28] _start()
      @ Base ./client.jl:531
code tableau consistency: Error During Test at /home/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:28
  Got exception outside of a @test
  BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                          
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                              
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
    [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
    [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
    [9] macro expansion
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:30 [inlined]
   [10] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [11] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_codeproperties.jl:29
   [12] eval
      @ ./boot.jl:430 [inlined]
   [13] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [14] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [15] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [16] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [17] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [18] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [19] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [20] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [21] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [22] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [23] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
   [24] include(fname::String)
      @ Main ./sysimg.jl:38
   [25] top-level scope
      @ none:6
   [26] eval
      @ ./boot.jl:430 [inlined]
   [27] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [28] _start()
      @ Base ./client.jl:531
naive and shor measurement circuits: Error During Test at /home//Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_syndromes.jl:44
  Got exception outside of a @test
  BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                    
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] kron!
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                          
      @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                              
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
    [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
    [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
    [9] code_k
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
   [10] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
      @ QuantumClifford.ECC ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/circuits.jl:20
   [11] naive_encoding_circuit
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/circuits.jl:18 [inlined]
   [12] pframe_naive_vs_shor_syndrome(code::QuantumCliffordHeckeExt.LPCode)
      @ Main.var"##351" ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_syndromes.jl:9
   [13] macro expansion
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_syndromes.jl:46 [inlined]
   [14] macro expansion
      @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/Test/src/Test.jl:1700 [inlined]
   [15] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_syndromes.jl:45
   [16] eval
      @ ./boot.jl:430 [inlined]
   [17] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
      @ Base ./loading.jl:2643
   [18] include_string(m::Module, txt::String, fname::String)
      @ Base ./loading.jl:2653
   [19] #invokelatest#2
      @ ./essentials.jl:1055 [inlined]
   [20] invokelatest
      @ ./essentials.jl:1052 [inlined]
   [21] #8
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
   [22] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
   [23] #7
      @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
   [24] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
      @ Base.Filesystem ./file.jl:112
   [25] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
   [26] run_tests(path::String; filter::var"#1#2", verbose::Bool)
      @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
   [27] top-level scope
      @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
   [28] include(fname::String)
      @ Main ./sysimg.jl:38
   [29] top-level scope
      @ none:6
   [30] eval
      @ ./boot.jl:430 [inlined]
   [31] exec_options(opts::Base.JLOptions)
      @ Base ./client.jl:296
   [32] _start()
      @ Base ./client.jl:531
ERROR: LoadError: BoundsError: attempt to access 3×4 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [4, 1]
Stacktrace:
  [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})                                                                      
    @ Base ./essentials.jl:14
  [2] checkbounds
    @ ./abstractarray.jl:699 [inlined]
  [3] getindex
    @ ./array.jl:918 [inlined]
  [4] kron!
    @ ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
  [5] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                            
    @ LinearAlgebra ~/.julia/juliaup/julia-1.11.1+0.x64.linux.gnu/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
  [6] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}})                                                                                                
    @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:130
  [7] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
    @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
  [8] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
    @ QuantumCliffordHeckeExt ~/Desktop/diagnostic2/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:144
  [9] code_k
    @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/ECC.jl:106 [inlined]
 [10] naive_encoding_circuit(code::QuantumCliffordHeckeExt.LPCode; undoperm::Bool)
    @ QuantumClifford.ECC ~/Desktop/diagnostic2/QuantumClifford.jl/src/ecc/circuits.jl:20
 [11] top-level scope
    @ ~/Desktop/diagnostic2/QuantumClifford.jl/src/QuantumClifford.jl:27
 [12] eval
    @ ./boot.jl:430 [inlined]
 [13] include_string(mapexpr::typeof(identity), mod::Module, code::String, filename::String)
    @ Base ./loading.jl:2643
 [14] include_string(m::Module, txt::String, fname::String)
    @ Base ./loading.jl:2653
 [15] #invokelatest#2
    @ ./essentials.jl:1055 [inlined]
 [16] invokelatest
    @ ./essentials.jl:1052 [inlined]
 [17] #8
    @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:118 [inlined]
 [18] withpath(f::TestItemRunner.var"#8#12"{String, String, Module}, path::String)
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/vendored_code.jl:7
 [19] #7
    @ ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:117 [inlined]
 [20] cd(f::TestItemRunner.var"#7#11"{String, String, Module}, dir::String)
    @ Base.Filesystem ./file.jl:112
 [21] run_testitem(filepath::String, use_default_usings::Bool, setups::Vector{Symbol}, package_name::String, original_code::String, line::Int64, column::Int64, test_setup_module_set::TestItemRunner.TestSetupModuleSet, testsetups::Dict{Symbol, Any})
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:116
 [22] run_tests(path::String; filter::var"#1#2", verbose::Bool)
    @ TestItemRunner ~/.julia/packages/TestItemRunner/Qioo0/src/TestItemRunner.jl:221
 [23] top-level scope
    @ ~/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
 [24] include(fname::String)
    @ Main ./sysimg.jl:38
 [25] top-level scope
    @ none:6
in expression starting at /home/Desktop/diagnostic2/QuantumClifford.jl/test/test_ecc_encoding.jl:11
in expression starting at /home/Desktop/diagnostic2/QuantumClifford.jl/test/runtests.jl:32
ERROR: Package QuantumClifford errored during testing

@royess
Copy link
Contributor

royess commented Oct 17, 2024

First, I think your error (or its fix) is unrelated to the contents of my PR.

No, I do not have such an error locally, the same as in CI tests.

There are many codes used in tests. It would help if you could specify which one caused your error.

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Oct 17, 2024

The stack trace seems its related to LPCode.

As mentioned above, I have used the updated master branch (this corresponds to #386 without adding anything or removing anything. And I get the first stack trace in the first comment.

@royess
Copy link
Contributor

royess commented Oct 17, 2024

I mean, which code instance caused the error? There are several LP codes generated in tests.

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Oct 17, 2024

I did a diagnostic test just to reaffirm that test stack tracks are NOT just occurring on my end: #395

As I have mentioned above, they are related to your PR #393 or (its fix) because they originate from kron [6] -> hgp [7] -> parity_checks_xz [8] . This is because the error originating from hgp and parity_checks_xz.

You can check the failing CIs which will provide all the same stack trace as I have mentioned in the first two comments:

I think you can try pushing a empty commit to your PR and you will get these same errors now as well.

naive syndrome circuits - zero syndrome for logical states: Error During Test at /Users/runner/work/QuantumClifford.jl/QuantumClifford.jl/test/test_ecc.jl:36
  Got exception outside of a @test
  BoundsError: attempt to access 4×3 Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}} at index [1, 4]
  Stacktrace:
    [1] throw_boundserror(A::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, I::Tuple{Int64, Int64})
      @ Base ./essentials.jl:14
    [2] checkbounds
      @ ./abstractarray.jl:699 [inlined]
    [3] getindex
      @ ./array.jl:918 [inlined]
    [4] getindex
      @ ~/hostedtoolcache/julia/1.11.1/aarch64/share/julia/stdlib/v1.11/LinearAlgebra/src/adjtrans.jl:334 [inlined]
    [5] kron!
      @ ~/hostedtoolcache/julia/1.11.1/aarch64/share/julia/stdlib/v1.11/LinearAlgebra/src/diagonal.jl:716 [inlined]
    [6] kron(A::LinearAlgebra.Diagonal{Bool, Vector{Bool}}, B::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})
      @ LinearAlgebra ~/hostedtoolcache/julia/1.11.1/aarch64/share/julia/stdlib/v1.11/LinearAlgebra/src/dense.jl:495
    [7] hgp(h₁::Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}, h₂::LinearAlgebra.Adjoint{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}, Matrix{Hecke.GroupAlgebraElem{Nemo.FqFieldElem, Hecke.GroupAlgebra{Nemo.FqFieldElem, Hecke.FinGenAbGroup, Hecke.FinGenAbGroupElem}}}})
      @ QuantumClifford.ECC ~/work/QuantumClifford.jl/QuantumClifford.jl/src/ecc/codes/util.jl:6
    [8] parity_checks_xz(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/work/QuantumClifford.jl/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:126
    [9] parity_checks(c::QuantumCliffordHeckeExt.LPCode)
      @ QuantumCliffordHeckeExt ~/work/QuantumClifford.jl/QuantumClifford.jl/ext/QuantumCliffordHeckeExt/lifted_product.jl:135
   [10] code_k

@royess
Copy link
Contributor

royess commented Oct 17, 2024

Based on the information provided, it might be because of Julia's new version, 1.11.1, released 20 hours ago. So, I haven't been able to reproduce your error in my 1.11.0 environment. You may also downgrade to verify whether that is the case.

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Oct 17, 2024

Alright. I have started the downgrade process. I will check whether these errors happen in 1.11.0. I think they might not, in 1.11.0.

@royess
Copy link
Contributor

royess commented Oct 17, 2024

I also get the error using Julia 1.11.1. Both master and #393.

So, to summarize, this is a compatibility problem with the new Julia version 1.11.1. (Although it is said that the version contains no breaking changes.) It cannot be fixed by #393 and requires further investigation.

@Krastanov please note this bug. I will be willing to spend time solving this but perhaps not very soon.

@royess
Copy link
Contributor

royess commented Oct 18, 2024

Looks like this commit might be the cause: JuliaLang/julia@4e03986, where kron! is modified.

@royess
Copy link
Contributor

royess commented Oct 18, 2024

For a quick workaround, we could convert LinearAlgebra.I in hgp to Matrix type, added to #393.

@Fe-r-oz
Copy link
Contributor Author

Fe-r-oz commented Oct 18, 2024

Resolved in #393

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants