passagemath-modules 10.5.46__cp310-cp310-macosx_14_0_arm64.whl → 10.6.20__cp310-cp310-macosx_14_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of passagemath-modules might be problematic. Click here for more details.
- {passagemath_modules-10.5.46.dist-info → passagemath_modules-10.6.20.dist-info}/METADATA +49 -44
- {passagemath_modules-10.5.46.dist-info → passagemath_modules-10.6.20.dist-info}/RECORD +320 -314
- passagemath_modules.dylibs/libmpc.3.dylib +0 -0
- passagemath_modules.dylibs/libopenblasp-r0.3.29.dylib +0 -0
- sage/algebras/clifford_algebra.py +2 -2
- sage/algebras/clifford_algebra_element.cpython-310-darwin.so +0 -0
- sage/algebras/clifford_algebra_element.pyx +4 -2
- sage/algebras/exterior_algebra_groebner.cpython-310-darwin.so +0 -0
- sage/algebras/exterior_algebra_groebner.pyx +2 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +83 -5
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.cpython-310-darwin.so +0 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +2 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +28 -3
- sage/algebras/finite_gca.py +1 -1
- sage/algebras/lie_algebras/bgg_dual_module.py +18 -11
- sage/algebras/lie_algebras/classical_lie_algebra.py +3 -3
- sage/algebras/lie_algebras/examples.py +2 -2
- sage/algebras/lie_algebras/free_lie_algebra.py +1 -1
- sage/algebras/lie_algebras/heisenberg.py +4 -4
- sage/algebras/lie_algebras/lie_algebra.py +1 -1
- sage/algebras/lie_algebras/lie_algebra_element.cpython-310-darwin.so +0 -0
- sage/algebras/lie_algebras/lie_algebra_element.pyx +63 -27
- sage/algebras/lie_algebras/quotient.py +40 -29
- sage/algebras/lie_algebras/subalgebra.py +76 -53
- sage/algebras/lie_algebras/verma_module.py +1 -3
- sage/algebras/octonion_algebra.cpython-310-darwin.so +0 -0
- sage/algebras/octonion_algebra.pyx +1 -1
- sage/algebras/orlik_solomon.py +4 -4
- sage/algebras/orlik_terao.py +4 -4
- sage/algebras/steenrod/steenrod_algebra.py +37 -30
- sage/algebras/steenrod/steenrod_algebra_bases.py +2 -2
- sage/algebras/steenrod/steenrod_algebra_misc.py +4 -4
- sage/algebras/steenrod/steenrod_algebra_mult.py +2 -2
- sage/all__sagemath_modules.py +1 -0
- sage/calculus/integration.cpython-310-darwin.so +0 -0
- sage/calculus/integration.pyx +6 -5
- sage/calculus/interpolation.cpython-310-darwin.so +0 -0
- sage/calculus/interpolators.cpython-310-darwin.so +0 -0
- sage/calculus/ode.cpython-310-darwin.so +0 -0
- sage/calculus/ode.pxd +2 -2
- sage/calculus/ode.pyx +6 -4
- sage/calculus/riemann.cpython-310-darwin.so +0 -0
- sage/calculus/riemann.pyx +68 -48
- sage/calculus/transforms/dwt.cpython-310-darwin.so +0 -0
- sage/calculus/transforms/fft.cpython-310-darwin.so +0 -0
- sage/coding/ag_code_decoders.cpython-310-darwin.so +0 -0
- sage/coding/ag_code_decoders.pyx +31 -31
- sage/coding/binary_code.cpython-310-darwin.so +0 -0
- sage/coding/binary_code.pxd +6 -6
- sage/coding/binary_code.pyx +212 -173
- sage/coding/guruswami_sudan/utils.py +3 -5
- sage/coding/kasami_codes.cpython-310-darwin.so +0 -0
- sage/coding/kasami_codes.pyx +20 -24
- sage/coding/linear_code.py +2 -2
- sage/coding/linear_code_no_metric.py +5 -5
- sage/coding/linear_rank_metric.py +81 -19
- sage/combinat/free_module.py +22 -2
- sage/combinat/root_system/ambient_space.py +1 -1
- sage/combinat/root_system/associahedron.py +4 -4
- sage/combinat/root_system/braid_move_calculator.py +1 -1
- sage/combinat/root_system/braid_orbit.cpython-310-darwin.so +0 -0
- sage/combinat/root_system/branching_rules.py +2 -2
- sage/combinat/root_system/cartan_type.py +14 -14
- sage/combinat/root_system/coxeter_group.py +2 -2
- sage/combinat/root_system/coxeter_type.py +11 -0
- sage/combinat/root_system/extended_affine_weyl_group.py +8 -8
- sage/combinat/root_system/fundamental_group.py +2 -4
- sage/combinat/root_system/hecke_algebra_representation.py +1 -1
- sage/combinat/root_system/pieri_factors.py +2 -2
- sage/combinat/root_system/root_lattice_realization_algebras.py +1 -1
- sage/combinat/root_system/root_lattice_realizations.py +1 -1
- sage/combinat/root_system/type_folded.py +3 -3
- sage/combinat/root_system/type_reducible.py +8 -7
- sage/combinat/root_system/type_super_A.py +2 -2
- sage/combinat/root_system/weight_lattice_realizations.py +9 -8
- sage/combinat/root_system/weyl_characters.py +1 -1
- sage/crypto/__init__.py +1 -0
- sage/crypto/block_cipher/des.py +1 -1
- sage/crypto/block_cipher/miniaes.py +3 -3
- sage/crypto/block_cipher/present.py +3 -3
- sage/crypto/block_cipher/sdes.py +3 -3
- sage/crypto/boolean_function.cpython-310-darwin.so +0 -0
- sage/crypto/boolean_function.pyx +22 -23
- sage/crypto/key_exchange/diffie_hellman.py +4 -9
- sage/crypto/mq/sr.py +1 -1
- sage/crypto/public_key/blum_goldwasser.py +3 -3
- sage/crypto/sbox.cpython-310-darwin.so +0 -0
- sage/crypto/sbox.pyx +1 -1
- sage/crypto/sboxes.py +22 -0
- sage/crypto/util.py +4 -6
- sage/ext/interpreters/__init__.py +1 -1
- sage/ext/interpreters/all__sagemath_modules.py +1 -1
- sage/ext/interpreters/wrapper_cc.cpython-310-darwin.so +0 -0
- sage/ext/interpreters/wrapper_cc.pxd +5 -5
- sage/ext/interpreters/wrapper_cc.pyx +1 -1
- sage/ext/interpreters/wrapper_cdf.cpython-310-darwin.so +0 -0
- sage/ext/interpreters/wrapper_cdf.pxd +5 -7
- sage/ext/interpreters/wrapper_cdf.pyx +4 -10
- sage/ext/interpreters/wrapper_rdf.cpython-310-darwin.so +0 -0
- sage/ext/interpreters/wrapper_rdf.pxd +1 -1
- sage/ext/interpreters/wrapper_rdf.pyx +1 -1
- sage/ext/interpreters/wrapper_rr.cpython-310-darwin.so +0 -0
- sage/ext/interpreters/wrapper_rr.pxd +5 -5
- sage/ext/interpreters/wrapper_rr.pyx +1 -2
- sage/geometry/toric_lattice.py +3 -3
- sage/geometry/toric_lattice_element.cpython-310-darwin.so +0 -0
- sage/groups/additive_abelian/additive_abelian_group.py +1 -1
- sage/groups/additive_abelian/qmodnz.py +4 -4
- sage/groups/matrix_gps/coxeter_group.py +17 -4
- sage/groups/matrix_gps/group_element.cpython-310-darwin.so +0 -0
- sage/groups/misc_gps/argument_groups.py +2 -2
- sage/groups/misc_gps/imaginary_groups.py +4 -4
- sage/groups/perm_gps/partn_ref/refinement_binary.cpython-310-darwin.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.cpython-310-darwin.so +0 -0
- sage/homology/chain_complex.py +0 -2
- sage/homology/hochschild_complex.py +3 -3
- sage/homology/homology_morphism.py +6 -6
- sage/homology/homology_vector_space_with_basis.py +1 -1
- sage/libs/gsl/array.cpython-310-darwin.so +0 -0
- sage/libs/mpmath/utils.cpython-310-darwin.so +0 -0
- sage/matrix/action.cpython-310-darwin.so +0 -0
- sage/matrix/args.cpython-310-darwin.so +0 -0
- sage/matrix/args.pyx +25 -10
- sage/matrix/benchmark.py +8 -4
- sage/matrix/compute_J_ideal.py +2 -2
- sage/matrix/constructor.cpython-310-darwin.so +0 -0
- sage/matrix/echelon_matrix.cpython-310-darwin.so +0 -0
- sage/matrix/echelon_matrix.pyx +1 -1
- sage/matrix/matrix0.cpython-310-darwin.so +0 -0
- sage/matrix/matrix0.pxd +3 -3
- sage/matrix/matrix0.pyx +7 -5
- sage/matrix/matrix1.cpython-310-darwin.so +0 -0
- sage/matrix/matrix1.pyx +87 -48
- sage/matrix/matrix2.cpython-310-darwin.so +0 -0
- sage/matrix/matrix2.pxd +3 -3
- sage/matrix/matrix2.pyx +758 -75
- sage/matrix/matrix_cdv.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_complex_double_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_complex_double_dense.pyx +1 -1
- sage/matrix/matrix_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_dense.pyx +2 -3
- sage/matrix/matrix_double_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_double_dense.pyx +11 -5
- sage/matrix/matrix_double_sparse.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_generic_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_generic_sparse.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_generic_sparse.pyx +1 -1
- sage/matrix/matrix_laurent_mpolynomial_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_numpy_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_numpy_integer_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_polynomial_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_polynomial_dense.pyx +952 -261
- sage/matrix/matrix_real_double_dense.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_sparse.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_sparse.pyx +2 -3
- sage/matrix/matrix_window.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_window.pyx +2 -2
- sage/matrix/misc_mpfr.cpython-310-darwin.so +0 -0
- sage/matrix/operation_table.py +0 -2
- sage/matrix/special.py +4 -0
- sage/matrix/strassen.cpython-310-darwin.so +0 -0
- sage/matrix/strassen.pyx +1 -1
- sage/matroids/basis_exchange_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/basis_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/chow_ring.py +68 -65
- sage/matroids/chow_ring_ideal.py +41 -38
- sage/matroids/circuit_closures_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/circuits_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/database_matroids.py +16 -5
- sage/matroids/dual_matroid.py +2 -2
- sage/matroids/extension.cpython-310-darwin.so +0 -0
- sage/matroids/flats_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/gammoid.py +1 -1
- sage/matroids/graphic_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/graphic_matroid.pyx +3 -3
- sage/matroids/lean_matrix.cpython-310-darwin.so +0 -0
- sage/matroids/lean_matrix.pyx +22 -22
- sage/matroids/linear_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/linear_matroid.pyx +13 -13
- sage/matroids/matroid.cpython-310-darwin.so +0 -0
- sage/matroids/matroid.pyx +15 -15
- sage/matroids/matroids_plot_helpers.py +48 -46
- sage/matroids/minor_matroid.py +2 -2
- sage/matroids/set_system.cpython-310-darwin.so +0 -0
- sage/matroids/transversal_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/transversal_matroid.pyx +3 -3
- sage/matroids/union_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/union_matroid.pyx +3 -0
- sage/matroids/unpickling.cpython-310-darwin.so +0 -0
- sage/matroids/utilities.py +2 -2
- sage/misc/c3.cpython-310-darwin.so +0 -0
- sage/misc/compat.py +1 -2
- sage/misc/pickle_old.cpython-310-darwin.so +0 -0
- sage/modules/diamond_cutting.py +117 -30
- sage/modules/fg_pid/fgp_module.py +3 -3
- sage/modules/filtered_vector_space.py +4 -4
- sage/modules/finite_submodule_iter.cpython-310-darwin.so +0 -0
- sage/modules/fp_graded/free_module.py +2 -2
- sage/modules/fp_graded/module.py +2 -2
- sage/modules/fp_graded/morphism.py +4 -4
- sage/modules/fp_graded/steenrod/morphism.py +1 -1
- sage/modules/free_module.py +144 -15
- sage/modules/free_module_element.cpython-310-darwin.so +0 -0
- sage/modules/free_module_element.pyx +4 -4
- sage/modules/free_module_integer.py +2 -2
- sage/modules/free_module_morphism.py +3 -3
- sage/modules/free_module_pseudohomspace.py +352 -0
- sage/modules/free_module_pseudomorphism.py +578 -0
- sage/modules/free_quadratic_module_integer_symmetric.py +24 -13
- sage/modules/matrix_morphism.py +9 -9
- sage/modules/multi_filtered_vector_space.py +4 -4
- sage/modules/ore_module.py +2208 -0
- sage/modules/ore_module_element.py +178 -0
- sage/modules/ore_module_homspace.py +147 -0
- sage/modules/ore_module_morphism.py +968 -0
- sage/modules/quotient_module.py +11 -1
- sage/modules/submodule.py +1 -1
- sage/modules/torsion_quadratic_module.py +1 -1
- sage/modules/vector_complex_double_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_double_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_integer_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_integer_sparse.cpython-310-darwin.so +0 -0
- sage/modules/vector_integer_sparse.pyx +4 -4
- sage/modules/vector_modn_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_modn_sparse.cpython-310-darwin.so +0 -0
- sage/modules/vector_numpy_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_numpy_integer_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_rational_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_rational_dense.pyx +1 -1
- sage/modules/vector_rational_sparse.cpython-310-darwin.so +0 -0
- sage/modules/vector_rational_sparse.pyx +5 -5
- sage/modules/vector_real_double_dense.cpython-310-darwin.so +0 -0
- sage/modules/vector_space_morphism.py +2 -2
- sage/modules/with_basis/cell_module.py +17 -0
- sage/modules/with_basis/indexed_element.cpython-310-darwin.so +0 -0
- sage/modules/with_basis/indexed_element.pyx +1 -1
- sage/modules/with_basis/invariant.py +1 -1
- sage/modules/with_basis/representation.py +0 -1
- sage/modules/with_basis/subquotient.py +2 -2
- sage/numerical/gauss_legendre.cpython-310-darwin.so +0 -0
- sage/probability/probability_distribution.cpython-310-darwin.so +0 -0
- sage/quadratic_forms/binary_qf.py +7 -7
- sage/quadratic_forms/bqf_class_group.py +26 -92
- sage/quadratic_forms/count_local_2.cpython-310-darwin.so +0 -0
- sage/quadratic_forms/extras.py +1 -1
- sage/quadratic_forms/quadratic_form.py +5 -4
- sage/quadratic_forms/quadratic_form__equivalence_testing.py +7 -4
- sage/quadratic_forms/quadratic_form__evaluate.cpython-310-darwin.so +0 -0
- sage/quadratic_forms/quadratic_form__local_field_invariants.py +10 -10
- sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +2 -2
- sage/quadratic_forms/ternary.cpython-310-darwin.so +0 -0
- sage/quadratic_forms/ternary_qf.py +50 -83
- sage/rings/complex_conversion.cpython-310-darwin.so +0 -0
- sage/rings/complex_double.cpython-310-darwin.so +0 -0
- sage/rings/complex_double.pxd +1 -0
- sage/rings/complex_double.pyx +37 -32
- sage/rings/complex_mpc.cpython-310-darwin.so +0 -0
- sage/rings/complex_mpc.pyx +27 -23
- sage/rings/complex_mpfr.cpython-310-darwin.so +0 -0
- sage/rings/complex_mpfr.pyx +11 -9
- sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py +277 -21
- sage/rings/function_field/drinfeld_modules/drinfeld_module.py +10 -1
- sage/rings/function_field/drinfeld_modules/finite_drinfeld_module.py +1 -1
- sage/rings/function_field/drinfeld_modules/homset.py +1 -2
- sage/rings/function_field/drinfeld_modules/morphism.py +2 -2
- sage/rings/function_field/hermite_form_polynomial.cpython-310-darwin.so +0 -0
- sage/rings/function_field/khuri_makdisi.cpython-310-darwin.so +0 -0
- sage/rings/function_field/khuri_makdisi.pyx +27 -25
- sage/rings/invariants/invariant_theory.py +61 -60
- sage/rings/invariants/reconstruction.py +8 -8
- sage/rings/polynomial/laurent_polynomial_mpair.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/ore_function_element.py +1 -1
- sage/rings/polynomial/ore_polynomial_element.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/ore_polynomial_element.pyx +8 -8
- sage/rings/polynomial/ore_polynomial_ring.py +134 -17
- sage/rings/polynomial/polynomial_real_mpfr_dense.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/skew_polynomial_element.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_field.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_field.pyx +3 -4
- sage/rings/polynomial/skew_polynomial_finite_order.cpython-310-darwin.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_order.pyx +2 -5
- sage/rings/real_double_element_gsl.cpython-310-darwin.so +0 -0
- sage/rings/real_mpfr.cpython-310-darwin.so +0 -0
- sage/rings/real_mpfr.pyx +25 -7
- sage/rings/ring_extension.cpython-310-darwin.so +0 -0
- sage/rings/ring_extension.pyx +4 -2
- sage/rings/ring_extension_conversion.cpython-310-darwin.so +0 -0
- sage/rings/ring_extension_element.cpython-310-darwin.so +0 -0
- sage/rings/ring_extension_element.pyx +42 -0
- sage/rings/ring_extension_morphism.cpython-310-darwin.so +0 -0
- sage/schemes/projective/cohomology.py +2 -2
- sage/stats/basic_stats.py +9 -6
- sage/stats/distributions/dgs_misc.h +11 -4
- sage/stats/distributions/discrete_gaussian_integer.cpython-310-darwin.so +0 -0
- sage/stats/distributions/discrete_gaussian_integer.pyx +9 -7
- sage/stats/hmm/chmm.cpython-310-darwin.so +0 -0
- sage/stats/hmm/chmm.pyx +13 -13
- sage/stats/hmm/distributions.cpython-310-darwin.so +0 -0
- sage/stats/hmm/distributions.pxd +3 -3
- sage/stats/hmm/distributions.pyx +3 -3
- sage/stats/hmm/hmm.cpython-310-darwin.so +0 -0
- sage/stats/hmm/hmm.pxd +3 -3
- sage/stats/hmm/hmm.pyx +6 -6
- sage/stats/hmm/util.cpython-310-darwin.so +0 -0
- sage/stats/hmm/util.pyx +6 -6
- sage/stats/intlist.cpython-310-darwin.so +0 -0
- sage/stats/intlist.pxd +3 -3
- sage/stats/time_series.cpython-310-darwin.so +0 -0
- sage/tensor/modules/alternating_contr_tensor.py +3 -3
- sage/tensor/modules/comp.py +3 -3
- sage/tensor/modules/ext_pow_free_module.py +3 -3
- sage/tensor/modules/format_utilities.py +3 -3
- sage/tensor/modules/free_module_linear_group.py +3 -3
- sage/tensor/modules/free_module_morphism.py +0 -1
- sage/tensor/modules/tensor_free_module.py +3 -3
- sage/tensor/modules/tensor_free_submodule.py +1 -1
- sage/tensor/modules/tensor_free_submodule_basis.py +1 -1
- sage/tensor/modules/tensor_with_indices.py +5 -5
- {passagemath_modules-10.5.46.dist-info → passagemath_modules-10.6.20.dist-info}/WHEEL +0 -0
- {passagemath_modules-10.5.46.dist-info → passagemath_modules-10.6.20.dist-info}/top_level.txt +0 -0
|
Binary file
|
|
Binary file
|
sage/coding/ag_code_decoders.pyx
CHANGED
|
@@ -605,15 +605,16 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
605
605
|
|
|
606
606
|
if Q.degree() > 1:
|
|
607
607
|
circuit = EvaluationAGCodeDecoder_K_extension(code._pls, code._G, Q,
|
|
608
|
-
|
|
608
|
+
verbose=verbose)
|
|
609
609
|
else:
|
|
610
610
|
circuit = EvaluationAGCodeDecoder_K(code._pls, code._G, Q,
|
|
611
|
-
|
|
611
|
+
verbose=verbose)
|
|
612
612
|
|
|
613
613
|
if basis is None:
|
|
614
614
|
basis = code._basis_functions
|
|
615
615
|
|
|
616
|
-
C = matrix([circuit.decode(vector(K,
|
|
616
|
+
C = matrix([circuit.decode(vector(K,
|
|
617
|
+
[f.evaluate(p) for p in code._pls]))
|
|
617
618
|
for f in basis])
|
|
618
619
|
|
|
619
620
|
self._extension = Q.degree() > 1
|
|
@@ -648,7 +649,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
648
649
|
"""
|
|
649
650
|
return hash((self.code(), self._Q))
|
|
650
651
|
|
|
651
|
-
def __eq__(self, other):
|
|
652
|
+
def __eq__(self, other) -> bool:
|
|
652
653
|
"""
|
|
653
654
|
Check whether ``other`` equals ``self``.
|
|
654
655
|
|
|
@@ -678,7 +679,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
678
679
|
return (self.code() == other.code() and self._Q == other._Q
|
|
679
680
|
and self._basis == other._basis)
|
|
680
681
|
|
|
681
|
-
def _repr_(self):
|
|
682
|
+
def _repr_(self) -> str:
|
|
682
683
|
r"""
|
|
683
684
|
Return the string representation of ``self``.
|
|
684
685
|
|
|
@@ -700,7 +701,7 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
700
701
|
"""
|
|
701
702
|
return "Unique decoder for {}".format(self.code())
|
|
702
703
|
|
|
703
|
-
def _latex_(self):
|
|
704
|
+
def _latex_(self) -> str:
|
|
704
705
|
r"""
|
|
705
706
|
Return the latex representation of ``self``.
|
|
706
707
|
|
|
@@ -758,13 +759,13 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
758
759
|
else:
|
|
759
760
|
return circuit.encode(vector(K, message) * C)
|
|
760
761
|
|
|
761
|
-
def _decode(self,
|
|
762
|
+
def _decode(self, vect, **kwargs):
|
|
762
763
|
r"""
|
|
763
|
-
Return the message decoded from ``
|
|
764
|
+
Return the message decoded from the vector ``vect``.
|
|
764
765
|
|
|
765
766
|
INPUT:
|
|
766
767
|
|
|
767
|
-
- ``
|
|
768
|
+
- ``vect`` -- a vector to be decoded to a message
|
|
768
769
|
|
|
769
770
|
TESTS::
|
|
770
771
|
|
|
@@ -788,10 +789,10 @@ class EvaluationAGCodeUniqueDecoder(Decoder):
|
|
|
788
789
|
circuit = self._circuit
|
|
789
790
|
|
|
790
791
|
if self._extension:
|
|
791
|
-
internal_message = circuit.decode(circuit._lift(
|
|
792
|
+
internal_message = circuit.decode(circuit._lift(vect), **kwargs) * Cinv
|
|
792
793
|
return circuit._pull_back(internal_message)
|
|
793
|
-
|
|
794
|
-
|
|
794
|
+
|
|
795
|
+
return circuit.decode(vect, **kwargs) * Cinv
|
|
795
796
|
|
|
796
797
|
def connected_encoder(self, *args, **kwargs):
|
|
797
798
|
r"""
|
|
@@ -1012,10 +1013,10 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1012
1013
|
|
|
1013
1014
|
if Q.degree() > 1:
|
|
1014
1015
|
circuit = DifferentialAGCodeDecoder_K_extension(code._pls, code._G, Q,
|
|
1015
|
-
|
|
1016
|
+
verbose=verbose)
|
|
1016
1017
|
else:
|
|
1017
1018
|
circuit = DifferentialAGCodeDecoder_K(code._pls, code._G, Q,
|
|
1018
|
-
|
|
1019
|
+
verbose=verbose)
|
|
1019
1020
|
|
|
1020
1021
|
if basis is None:
|
|
1021
1022
|
basis = code._basis_differentials
|
|
@@ -1055,7 +1056,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1055
1056
|
"""
|
|
1056
1057
|
return hash((self.code(), self._Q))
|
|
1057
1058
|
|
|
1058
|
-
def __eq__(self, other):
|
|
1059
|
+
def __eq__(self, other) -> bool:
|
|
1059
1060
|
"""
|
|
1060
1061
|
Check whether ``other`` equals ``self``.
|
|
1061
1062
|
|
|
@@ -1085,7 +1086,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1085
1086
|
return (self.code() == other.code() and self._Q == other._Q
|
|
1086
1087
|
and self._basis == other._basis)
|
|
1087
1088
|
|
|
1088
|
-
def _repr_(self):
|
|
1089
|
+
def _repr_(self) -> str:
|
|
1089
1090
|
r"""
|
|
1090
1091
|
Return the string representation of ``self``.
|
|
1091
1092
|
|
|
@@ -1107,7 +1108,7 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1107
1108
|
"""
|
|
1108
1109
|
return "Unique decoder for {}".format(self.code())
|
|
1109
1110
|
|
|
1110
|
-
def _latex_(self):
|
|
1111
|
+
def _latex_(self) -> str:
|
|
1111
1112
|
r"""
|
|
1112
1113
|
Return the latex representation of ``self``.
|
|
1113
1114
|
|
|
@@ -1165,13 +1166,13 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1165
1166
|
else:
|
|
1166
1167
|
return circuit.encode(vector(K, message) * C)
|
|
1167
1168
|
|
|
1168
|
-
def _decode(self,
|
|
1169
|
+
def _decode(self, vect, **kwargs):
|
|
1169
1170
|
r"""
|
|
1170
|
-
Return the message decoded from ``
|
|
1171
|
+
Return the message decoded from the vector ``vect``.
|
|
1171
1172
|
|
|
1172
1173
|
INPUT:
|
|
1173
1174
|
|
|
1174
|
-
- ``
|
|
1175
|
+
- ``vect`` -- a vector to be decoded to a message
|
|
1175
1176
|
|
|
1176
1177
|
TESTS::
|
|
1177
1178
|
|
|
@@ -1195,10 +1196,10 @@ class DifferentialAGCodeUniqueDecoder(Decoder):
|
|
|
1195
1196
|
circuit = self._circuit
|
|
1196
1197
|
|
|
1197
1198
|
if self._extension:
|
|
1198
|
-
internal_message = circuit.decode(circuit._lift(
|
|
1199
|
+
internal_message = circuit.decode(circuit._lift(vect), **kwargs) * Cinv
|
|
1199
1200
|
return circuit._pull_back(internal_message)
|
|
1200
|
-
|
|
1201
|
-
|
|
1201
|
+
|
|
1202
|
+
return circuit.decode(vect, **kwargs) * Cinv
|
|
1202
1203
|
|
|
1203
1204
|
def connected_encoder(self, *args, **kwargs):
|
|
1204
1205
|
r"""
|
|
@@ -1424,7 +1425,7 @@ cdef class Decoder_K():
|
|
|
1424
1425
|
This modified the ``vec`` input.
|
|
1425
1426
|
"""
|
|
1426
1427
|
cdef Py_ssize_t j, m
|
|
1427
|
-
cdef list a,
|
|
1428
|
+
cdef list a, s
|
|
1428
1429
|
cdef FreeModuleElement temp
|
|
1429
1430
|
cdef Polynomial c
|
|
1430
1431
|
|
|
@@ -1508,7 +1509,6 @@ cdef class Decoder_K():
|
|
|
1508
1509
|
coeff_mat = self.coeff_mat
|
|
1509
1510
|
|
|
1510
1511
|
cdef list message_index = self.message_index
|
|
1511
|
-
cdef list code_basis = self.code_basis
|
|
1512
1512
|
|
|
1513
1513
|
cdef int s0 = self.s0
|
|
1514
1514
|
cdef int tau = self.tau
|
|
@@ -1801,7 +1801,7 @@ cdef class Decoder_K():
|
|
|
1801
1801
|
h = [W.zero() for k in range(gamma)]
|
|
1802
1802
|
for j in range(code_length):
|
|
1803
1803
|
t = delta[j]
|
|
1804
|
-
h[<Py_ssize_t> t[1]] += matinv[i,j] * x**(<int> t[0])
|
|
1804
|
+
h[<Py_ssize_t> t[1]] += matinv[i, j] * x**(<int> t[0])
|
|
1805
1805
|
vecs[i] = vector(h)
|
|
1806
1806
|
|
|
1807
1807
|
|
|
@@ -1859,7 +1859,7 @@ cdef class EvaluationAGCodeDecoder_K(Decoder_K):
|
|
|
1859
1859
|
sage: circuit = EvaluationAGCodeDecoder_K(D, G, Q) # long time
|
|
1860
1860
|
sage: TestSuite(circuit).run(skip='_test_pickling') # long time
|
|
1861
1861
|
"""
|
|
1862
|
-
cdef int i, j, s, s0, sk, si, n, r, d
|
|
1862
|
+
cdef int i, j, s, s0, sk, si, n, r, d
|
|
1863
1863
|
cdef int code_length, genus, gamma, dLO, tau
|
|
1864
1864
|
cdef list gaps, dR, yR, dRbar, yRbar, evyRbar, nus, mul_mat
|
|
1865
1865
|
cdef list message_index, code_basis
|
|
@@ -2033,7 +2033,7 @@ cdef class EvaluationAGCodeDecoder_K(Decoder_K):
|
|
|
2033
2033
|
f = yR[i] * yRbar[j]
|
|
2034
2034
|
v = vec_form(f)
|
|
2035
2035
|
self._exponents((<int> dR[i]) + (<int> dRbar[j]), &sk, &si)
|
|
2036
|
-
coeff_mat[i,j] = v[si][sk]
|
|
2036
|
+
coeff_mat[i, j] = v[si][sk]
|
|
2037
2037
|
(<list> mul_mat[i])[j] = v
|
|
2038
2038
|
|
|
2039
2039
|
if verbose:
|
|
@@ -2114,7 +2114,7 @@ cdef class DifferentialAGCodeDecoder_K(Decoder_K):
|
|
|
2114
2114
|
sage: circuit = DifferentialAGCodeDecoder_K(D, G, Q) # long time
|
|
2115
2115
|
sage: TestSuite(circuit).run(skip='_test_pickling') # long time
|
|
2116
2116
|
"""
|
|
2117
|
-
cdef int i, j, s, s0, sk, si, n, r, d
|
|
2117
|
+
cdef int i, j, s, s0, sk, si, n, r, d
|
|
2118
2118
|
cdef int code_length, genus, gamma, dLO, tau
|
|
2119
2119
|
cdef list gaps, dR, yR, dWbar, wWbar, reswWbar, nus, mul_mat
|
|
2120
2120
|
cdef list message_index, code_basis
|
|
@@ -2288,7 +2288,7 @@ cdef class DifferentialAGCodeDecoder_K(Decoder_K):
|
|
|
2288
2288
|
f = yR[i] * wWbar[j]
|
|
2289
2289
|
v = vec_form(f)
|
|
2290
2290
|
self._exponents((<int> dR[i]) + (<int> dWbar[j]), &sk, &si)
|
|
2291
|
-
coeff_mat[i,j] = v[si][sk]
|
|
2291
|
+
coeff_mat[i, j] = v[si][sk]
|
|
2292
2292
|
(<list> mul_mat[i])[j] = v
|
|
2293
2293
|
|
|
2294
2294
|
if verbose:
|
|
@@ -2388,7 +2388,7 @@ cdef class Decoder_K_extension():
|
|
|
2388
2388
|
# construct constant field extension F_ext of F
|
|
2389
2389
|
def_poly = F.polynomial().base_extend(F_ext_base)
|
|
2390
2390
|
F_ext = F_ext_base.extension(def_poly, names=def_poly.variable_name())
|
|
2391
|
-
else:
|
|
2391
|
+
else: # rational function field
|
|
2392
2392
|
F_ext = F_ext_base
|
|
2393
2393
|
|
|
2394
2394
|
O_ext = F_ext.maximal_order()
|
|
Binary file
|
sage/coding/binary_code.pxd
CHANGED
|
@@ -68,12 +68,12 @@ cdef class PartitionStack:
|
|
|
68
68
|
cdef int ncols
|
|
69
69
|
cdef int radix
|
|
70
70
|
cdef int flag
|
|
71
|
-
cdef int *col_degs
|
|
72
|
-
cdef int *col_counts
|
|
73
|
-
cdef int *col_output
|
|
74
|
-
cdef int *wd_degs
|
|
75
|
-
cdef int *wd_counts
|
|
76
|
-
cdef int *wd_output
|
|
71
|
+
cdef int *col_degs #
|
|
72
|
+
cdef int *col_counts #
|
|
73
|
+
cdef int *col_output #
|
|
74
|
+
cdef int *wd_degs #
|
|
75
|
+
cdef int *wd_counts # These are just for scratch space...
|
|
76
|
+
cdef int *wd_output #
|
|
77
77
|
|
|
78
78
|
cdef int is_discrete(self, int) noexcept
|
|
79
79
|
cdef int num_cells(self, int) noexcept
|