passagemath-modules 10.6.31rc3__cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.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.6.31rc3.dist-info/METADATA +281 -0
- passagemath_modules-10.6.31rc3.dist-info/RECORD +806 -0
- passagemath_modules-10.6.31rc3.dist-info/WHEEL +6 -0
- passagemath_modules-10.6.31rc3.dist-info/top_level.txt +2 -0
- passagemath_modules.libs/libgfortran-e1b7dfc8.so.5.0.0 +0 -0
- passagemath_modules.libs/libgmp-93ebf16a.so.10.5.0 +0 -0
- passagemath_modules.libs/libgsl-e3525837.so.28.0.0 +0 -0
- passagemath_modules.libs/libmpc-c5c421e1.so.3.3.1 +0 -0
- passagemath_modules.libs/libmpfr-e0f11cf3.so.6.2.1 +0 -0
- passagemath_modules.libs/libopenblasp-r0-4c5b64b1.3.29.so +0 -0
- sage/algebras/all__sagemath_modules.py +20 -0
- sage/algebras/catalog.py +148 -0
- sage/algebras/clifford_algebra.py +3107 -0
- sage/algebras/clifford_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/algebras/clifford_algebra_element.pxd +16 -0
- sage/algebras/clifford_algebra_element.pyx +997 -0
- sage/algebras/commutative_dga.py +4252 -0
- sage/algebras/exterior_algebra_groebner.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/algebras/exterior_algebra_groebner.pxd +55 -0
- sage/algebras/exterior_algebra_groebner.pyx +727 -0
- sage/algebras/finite_dimensional_algebras/all.py +2 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra.py +1029 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pxd +12 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_element.pyx +706 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_ideal.py +196 -0
- sage/algebras/finite_dimensional_algebras/finite_dimensional_algebra_morphism.py +255 -0
- sage/algebras/finite_gca.py +528 -0
- sage/algebras/group_algebra.py +232 -0
- sage/algebras/lie_algebras/abelian.py +197 -0
- sage/algebras/lie_algebras/affine_lie_algebra.py +1213 -0
- sage/algebras/lie_algebras/all.py +25 -0
- sage/algebras/lie_algebras/all__sagemath_modules.py +1 -0
- sage/algebras/lie_algebras/bch.py +177 -0
- sage/algebras/lie_algebras/bgg_dual_module.py +1184 -0
- sage/algebras/lie_algebras/bgg_resolution.py +232 -0
- sage/algebras/lie_algebras/center_uea.py +767 -0
- sage/algebras/lie_algebras/classical_lie_algebra.py +2516 -0
- sage/algebras/lie_algebras/examples.py +683 -0
- sage/algebras/lie_algebras/free_lie_algebra.py +973 -0
- sage/algebras/lie_algebras/heisenberg.py +820 -0
- sage/algebras/lie_algebras/lie_algebra.py +1562 -0
- sage/algebras/lie_algebras/lie_algebra_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/algebras/lie_algebras/lie_algebra_element.pxd +68 -0
- sage/algebras/lie_algebras/lie_algebra_element.pyx +2122 -0
- sage/algebras/lie_algebras/morphism.py +661 -0
- sage/algebras/lie_algebras/nilpotent_lie_algebra.py +457 -0
- sage/algebras/lie_algebras/onsager.py +1324 -0
- sage/algebras/lie_algebras/poincare_birkhoff_witt.py +816 -0
- sage/algebras/lie_algebras/quotient.py +462 -0
- sage/algebras/lie_algebras/rank_two_heisenberg_virasoro.py +355 -0
- sage/algebras/lie_algebras/representation.py +1040 -0
- sage/algebras/lie_algebras/structure_coefficients.py +459 -0
- sage/algebras/lie_algebras/subalgebra.py +967 -0
- sage/algebras/lie_algebras/symplectic_derivation.py +289 -0
- sage/algebras/lie_algebras/verma_module.py +1630 -0
- sage/algebras/lie_algebras/virasoro.py +1186 -0
- sage/algebras/octonion_algebra.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/algebras/octonion_algebra.pxd +20 -0
- sage/algebras/octonion_algebra.pyx +987 -0
- sage/algebras/orlik_solomon.py +907 -0
- sage/algebras/orlik_terao.py +779 -0
- sage/algebras/steenrod/all.py +7 -0
- sage/algebras/steenrod/steenrod_algebra.py +4258 -0
- sage/algebras/steenrod/steenrod_algebra_bases.py +1179 -0
- sage/algebras/steenrod/steenrod_algebra_misc.py +1167 -0
- sage/algebras/steenrod/steenrod_algebra_mult.py +954 -0
- sage/algebras/weyl_algebra.py +1126 -0
- sage/all__sagemath_modules.py +62 -0
- sage/calculus/all__sagemath_modules.py +19 -0
- sage/calculus/expr.py +205 -0
- sage/calculus/integration.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/integration.pyx +698 -0
- sage/calculus/interpolation.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/interpolation.pxd +13 -0
- sage/calculus/interpolation.pyx +387 -0
- sage/calculus/interpolators.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/interpolators.pyx +326 -0
- sage/calculus/ode.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/ode.pxd +5 -0
- sage/calculus/ode.pyx +610 -0
- sage/calculus/riemann.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/riemann.pyx +1521 -0
- sage/calculus/test_sympy.py +201 -0
- sage/calculus/transforms/all.py +7 -0
- sage/calculus/transforms/dft.py +844 -0
- sage/calculus/transforms/dwt.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/transforms/dwt.pxd +7 -0
- sage/calculus/transforms/dwt.pyx +160 -0
- sage/calculus/transforms/fft.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/calculus/transforms/fft.pxd +12 -0
- sage/calculus/transforms/fft.pyx +487 -0
- sage/calculus/wester.py +662 -0
- sage/coding/abstract_code.py +1108 -0
- sage/coding/ag_code.py +868 -0
- sage/coding/ag_code_decoders.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/coding/ag_code_decoders.pyx +2639 -0
- sage/coding/all.py +15 -0
- sage/coding/bch_code.py +494 -0
- sage/coding/binary_code.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/coding/binary_code.pxd +124 -0
- sage/coding/binary_code.pyx +4139 -0
- sage/coding/bounds_catalog.py +43 -0
- sage/coding/channel.py +819 -0
- sage/coding/channels_catalog.py +29 -0
- sage/coding/code_bounds.py +755 -0
- sage/coding/code_constructions.py +804 -0
- sage/coding/codes_catalog.py +111 -0
- sage/coding/cyclic_code.py +1329 -0
- sage/coding/databases.py +316 -0
- sage/coding/decoder.py +373 -0
- sage/coding/decoders_catalog.py +88 -0
- sage/coding/delsarte_bounds.py +709 -0
- sage/coding/encoder.py +390 -0
- sage/coding/encoders_catalog.py +64 -0
- sage/coding/extended_code.py +468 -0
- sage/coding/gabidulin_code.py +1058 -0
- sage/coding/golay_code.py +404 -0
- sage/coding/goppa_code.py +441 -0
- sage/coding/grs_code.py +2371 -0
- sage/coding/guava.py +107 -0
- sage/coding/guruswami_sudan/all.py +1 -0
- sage/coding/guruswami_sudan/gs_decoder.py +897 -0
- sage/coding/guruswami_sudan/interpolation.py +409 -0
- sage/coding/guruswami_sudan/utils.py +176 -0
- sage/coding/hamming_code.py +176 -0
- sage/coding/information_set_decoder.py +1032 -0
- sage/coding/kasami_codes.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/coding/kasami_codes.pyx +351 -0
- sage/coding/linear_code.py +3067 -0
- sage/coding/linear_code_no_metric.py +1354 -0
- sage/coding/linear_rank_metric.py +961 -0
- sage/coding/parity_check_code.py +353 -0
- sage/coding/punctured_code.py +719 -0
- sage/coding/reed_muller_code.py +999 -0
- sage/coding/self_dual_codes.py +942 -0
- sage/coding/source_coding/all.py +2 -0
- sage/coding/source_coding/huffman.py +553 -0
- sage/coding/subfield_subcode.py +423 -0
- sage/coding/two_weight_db.py +399 -0
- sage/combinat/all__sagemath_modules.py +7 -0
- sage/combinat/cartesian_product.py +347 -0
- sage/combinat/family.py +11 -0
- sage/combinat/free_module.py +1977 -0
- sage/combinat/root_system/all.py +147 -0
- sage/combinat/root_system/ambient_space.py +527 -0
- sage/combinat/root_system/associahedron.py +471 -0
- sage/combinat/root_system/braid_move_calculator.py +143 -0
- sage/combinat/root_system/braid_orbit.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/combinat/root_system/braid_orbit.pyx +144 -0
- sage/combinat/root_system/branching_rules.py +2301 -0
- sage/combinat/root_system/cartan_matrix.py +1245 -0
- sage/combinat/root_system/cartan_type.py +3069 -0
- sage/combinat/root_system/coxeter_group.py +162 -0
- sage/combinat/root_system/coxeter_matrix.py +1261 -0
- sage/combinat/root_system/coxeter_type.py +681 -0
- sage/combinat/root_system/dynkin_diagram.py +900 -0
- sage/combinat/root_system/extended_affine_weyl_group.py +2993 -0
- sage/combinat/root_system/fundamental_group.py +795 -0
- sage/combinat/root_system/hecke_algebra_representation.py +1203 -0
- sage/combinat/root_system/integrable_representations.py +1227 -0
- sage/combinat/root_system/non_symmetric_macdonald_polynomials.py +1965 -0
- sage/combinat/root_system/pieri_factors.py +1147 -0
- sage/combinat/root_system/plot.py +1615 -0
- sage/combinat/root_system/root_lattice_realization_algebras.py +1214 -0
- sage/combinat/root_system/root_lattice_realizations.py +4628 -0
- sage/combinat/root_system/root_space.py +487 -0
- sage/combinat/root_system/root_system.py +882 -0
- sage/combinat/root_system/type_A.py +348 -0
- sage/combinat/root_system/type_A_affine.py +227 -0
- sage/combinat/root_system/type_A_infinity.py +241 -0
- sage/combinat/root_system/type_B.py +347 -0
- sage/combinat/root_system/type_BC_affine.py +287 -0
- sage/combinat/root_system/type_B_affine.py +216 -0
- sage/combinat/root_system/type_C.py +317 -0
- sage/combinat/root_system/type_C_affine.py +188 -0
- sage/combinat/root_system/type_D.py +357 -0
- sage/combinat/root_system/type_D_affine.py +208 -0
- sage/combinat/root_system/type_E.py +641 -0
- sage/combinat/root_system/type_E_affine.py +231 -0
- sage/combinat/root_system/type_F.py +387 -0
- sage/combinat/root_system/type_F_affine.py +137 -0
- sage/combinat/root_system/type_G.py +293 -0
- sage/combinat/root_system/type_G_affine.py +132 -0
- sage/combinat/root_system/type_H.py +105 -0
- sage/combinat/root_system/type_I.py +110 -0
- sage/combinat/root_system/type_Q.py +150 -0
- sage/combinat/root_system/type_affine.py +509 -0
- sage/combinat/root_system/type_dual.py +704 -0
- sage/combinat/root_system/type_folded.py +301 -0
- sage/combinat/root_system/type_marked.py +748 -0
- sage/combinat/root_system/type_reducible.py +601 -0
- sage/combinat/root_system/type_relabel.py +730 -0
- sage/combinat/root_system/type_super_A.py +837 -0
- sage/combinat/root_system/weight_lattice_realizations.py +1188 -0
- sage/combinat/root_system/weight_space.py +639 -0
- sage/combinat/root_system/weyl_characters.py +2238 -0
- sage/crypto/__init__.py +4 -0
- sage/crypto/all.py +28 -0
- sage/crypto/block_cipher/all.py +7 -0
- sage/crypto/block_cipher/des.py +1065 -0
- sage/crypto/block_cipher/miniaes.py +2171 -0
- sage/crypto/block_cipher/present.py +909 -0
- sage/crypto/block_cipher/sdes.py +1527 -0
- sage/crypto/boolean_function.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/crypto/boolean_function.pxd +10 -0
- sage/crypto/boolean_function.pyx +1487 -0
- sage/crypto/cipher.py +78 -0
- sage/crypto/classical.py +3668 -0
- sage/crypto/classical_cipher.py +569 -0
- sage/crypto/cryptosystem.py +387 -0
- sage/crypto/key_exchange/all.py +7 -0
- sage/crypto/key_exchange/catalog.py +24 -0
- sage/crypto/key_exchange/diffie_hellman.py +323 -0
- sage/crypto/key_exchange/key_exchange_scheme.py +107 -0
- sage/crypto/lattice.py +312 -0
- sage/crypto/lfsr.py +295 -0
- sage/crypto/lwe.py +840 -0
- sage/crypto/mq/__init__.py +4 -0
- sage/crypto/mq/mpolynomialsystemgenerator.py +204 -0
- sage/crypto/mq/rijndael_gf.py +2345 -0
- sage/crypto/mq/sbox.py +7 -0
- sage/crypto/mq/sr.py +3344 -0
- sage/crypto/public_key/all.py +5 -0
- sage/crypto/public_key/blum_goldwasser.py +776 -0
- sage/crypto/sbox.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/crypto/sbox.pyx +2090 -0
- sage/crypto/sboxes.py +2090 -0
- sage/crypto/stream.py +390 -0
- sage/crypto/stream_cipher.py +297 -0
- sage/crypto/util.py +519 -0
- sage/ext/all__sagemath_modules.py +1 -0
- sage/ext/interpreters/__init__.py +1 -0
- sage/ext/interpreters/all__sagemath_modules.py +2 -0
- sage/ext/interpreters/wrapper_cc.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_cc.pxd +30 -0
- sage/ext/interpreters/wrapper_cc.pyx +252 -0
- sage/ext/interpreters/wrapper_cdf.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_cdf.pxd +26 -0
- sage/ext/interpreters/wrapper_cdf.pyx +245 -0
- sage/ext/interpreters/wrapper_rdf.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_rdf.pxd +23 -0
- sage/ext/interpreters/wrapper_rdf.pyx +221 -0
- sage/ext/interpreters/wrapper_rr.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/ext/interpreters/wrapper_rr.pxd +28 -0
- sage/ext/interpreters/wrapper_rr.pyx +335 -0
- sage/geometry/all__sagemath_modules.py +5 -0
- sage/geometry/toric_lattice.py +1745 -0
- sage/geometry/toric_lattice_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/geometry/toric_lattice_element.pyx +432 -0
- sage/groups/abelian_gps/abelian_group.py +1925 -0
- sage/groups/abelian_gps/abelian_group_element.py +164 -0
- sage/groups/abelian_gps/all__sagemath_modules.py +5 -0
- sage/groups/abelian_gps/dual_abelian_group.py +421 -0
- sage/groups/abelian_gps/dual_abelian_group_element.py +179 -0
- sage/groups/abelian_gps/element_base.py +341 -0
- sage/groups/abelian_gps/values.py +488 -0
- sage/groups/additive_abelian/additive_abelian_group.py +476 -0
- sage/groups/additive_abelian/additive_abelian_wrapper.py +857 -0
- sage/groups/additive_abelian/all.py +4 -0
- sage/groups/additive_abelian/qmodnz.py +231 -0
- sage/groups/additive_abelian/qmodnz_element.py +349 -0
- sage/groups/affine_gps/affine_group.py +535 -0
- sage/groups/affine_gps/all.py +1 -0
- sage/groups/affine_gps/catalog.py +17 -0
- sage/groups/affine_gps/euclidean_group.py +246 -0
- sage/groups/affine_gps/group_element.py +562 -0
- sage/groups/all__sagemath_modules.py +12 -0
- sage/groups/galois_group.py +479 -0
- sage/groups/matrix_gps/all.py +4 -0
- sage/groups/matrix_gps/all__sagemath_modules.py +13 -0
- sage/groups/matrix_gps/catalog.py +26 -0
- sage/groups/matrix_gps/coxeter_group.py +927 -0
- sage/groups/matrix_gps/finitely_generated.py +487 -0
- sage/groups/matrix_gps/group_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/groups/matrix_gps/group_element.pxd +11 -0
- sage/groups/matrix_gps/group_element.pyx +431 -0
- sage/groups/matrix_gps/linear.py +440 -0
- sage/groups/matrix_gps/matrix_group.py +617 -0
- sage/groups/matrix_gps/named_group.py +296 -0
- sage/groups/matrix_gps/orthogonal.py +544 -0
- sage/groups/matrix_gps/symplectic.py +251 -0
- sage/groups/matrix_gps/unitary.py +436 -0
- sage/groups/misc_gps/all__sagemath_modules.py +1 -0
- sage/groups/misc_gps/argument_groups.py +1905 -0
- sage/groups/misc_gps/imaginary_groups.py +479 -0
- sage/groups/perm_gps/all__sagemath_modules.py +1 -0
- sage/groups/perm_gps/partn_ref/all__sagemath_modules.py +1 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.pxd +41 -0
- sage/groups/perm_gps/partn_ref/refinement_binary.pyx +1167 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.pxd +31 -0
- sage/groups/perm_gps/partn_ref/refinement_matrices.pyx +385 -0
- sage/homology/algebraic_topological_model.py +595 -0
- sage/homology/all.py +2 -0
- sage/homology/all__sagemath_modules.py +8 -0
- sage/homology/chain_complex.py +2148 -0
- sage/homology/chain_complex_homspace.py +165 -0
- sage/homology/chain_complex_morphism.py +629 -0
- sage/homology/chain_homotopy.py +604 -0
- sage/homology/chains.py +653 -0
- sage/homology/free_resolution.py +923 -0
- sage/homology/graded_resolution.py +567 -0
- sage/homology/hochschild_complex.py +756 -0
- sage/homology/homology_group.py +188 -0
- sage/homology/homology_morphism.py +422 -0
- sage/homology/homology_vector_space_with_basis.py +1454 -0
- sage/homology/koszul_complex.py +169 -0
- sage/homology/matrix_utils.py +205 -0
- sage/libs/all__sagemath_modules.py +1 -0
- sage/libs/gsl/__init__.py +1 -0
- sage/libs/gsl/airy.pxd +56 -0
- sage/libs/gsl/all.pxd +66 -0
- sage/libs/gsl/array.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/libs/gsl/array.pxd +5 -0
- sage/libs/gsl/array.pyx +102 -0
- sage/libs/gsl/bessel.pxd +208 -0
- sage/libs/gsl/blas.pxd +116 -0
- sage/libs/gsl/blas_types.pxd +34 -0
- sage/libs/gsl/block.pxd +52 -0
- sage/libs/gsl/chebyshev.pxd +37 -0
- sage/libs/gsl/clausen.pxd +12 -0
- sage/libs/gsl/combination.pxd +47 -0
- sage/libs/gsl/complex.pxd +151 -0
- sage/libs/gsl/coulomb.pxd +30 -0
- sage/libs/gsl/coupling.pxd +21 -0
- sage/libs/gsl/dawson.pxd +12 -0
- sage/libs/gsl/debye.pxd +24 -0
- sage/libs/gsl/dilog.pxd +14 -0
- sage/libs/gsl/eigen.pxd +46 -0
- sage/libs/gsl/elementary.pxd +12 -0
- sage/libs/gsl/ellint.pxd +48 -0
- sage/libs/gsl/elljac.pxd +8 -0
- sage/libs/gsl/erf.pxd +32 -0
- sage/libs/gsl/errno.pxd +26 -0
- sage/libs/gsl/exp.pxd +44 -0
- sage/libs/gsl/expint.pxd +44 -0
- sage/libs/gsl/fermi_dirac.pxd +44 -0
- sage/libs/gsl/fft.pxd +121 -0
- sage/libs/gsl/fit.pxd +50 -0
- sage/libs/gsl/gamma.pxd +94 -0
- sage/libs/gsl/gegenbauer.pxd +26 -0
- sage/libs/gsl/histogram.pxd +176 -0
- sage/libs/gsl/hyperg.pxd +52 -0
- sage/libs/gsl/integration.pxd +69 -0
- sage/libs/gsl/interp.pxd +109 -0
- sage/libs/gsl/laguerre.pxd +24 -0
- sage/libs/gsl/lambert.pxd +16 -0
- sage/libs/gsl/legendre.pxd +90 -0
- sage/libs/gsl/linalg.pxd +185 -0
- sage/libs/gsl/log.pxd +26 -0
- sage/libs/gsl/math.pxd +43 -0
- sage/libs/gsl/matrix.pxd +143 -0
- sage/libs/gsl/matrix_complex.pxd +130 -0
- sage/libs/gsl/min.pxd +67 -0
- sage/libs/gsl/monte.pxd +56 -0
- sage/libs/gsl/ntuple.pxd +32 -0
- sage/libs/gsl/odeiv.pxd +70 -0
- sage/libs/gsl/permutation.pxd +78 -0
- sage/libs/gsl/poly.pxd +40 -0
- sage/libs/gsl/pow_int.pxd +12 -0
- sage/libs/gsl/psi.pxd +28 -0
- sage/libs/gsl/qrng.pxd +29 -0
- sage/libs/gsl/random.pxd +257 -0
- sage/libs/gsl/rng.pxd +100 -0
- sage/libs/gsl/roots.pxd +72 -0
- sage/libs/gsl/sort.pxd +36 -0
- sage/libs/gsl/statistics.pxd +59 -0
- sage/libs/gsl/sum.pxd +55 -0
- sage/libs/gsl/synchrotron.pxd +16 -0
- sage/libs/gsl/transport.pxd +24 -0
- sage/libs/gsl/trig.pxd +58 -0
- sage/libs/gsl/types.pxd +137 -0
- sage/libs/gsl/vector.pxd +101 -0
- sage/libs/gsl/vector_complex.pxd +83 -0
- sage/libs/gsl/wavelet.pxd +49 -0
- sage/libs/gsl/zeta.pxd +28 -0
- sage/libs/mpc/__init__.pxd +114 -0
- sage/libs/mpc/types.pxd +28 -0
- sage/libs/mpfr/__init__.pxd +299 -0
- sage/libs/mpfr/types.pxd +26 -0
- sage/libs/mpmath/__init__.py +1 -0
- sage/libs/mpmath/all.py +27 -0
- sage/libs/mpmath/all__sagemath_modules.py +1 -0
- sage/libs/mpmath/utils.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/libs/mpmath/utils.pxd +4 -0
- sage/libs/mpmath/utils.pyx +319 -0
- sage/matrix/action.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/action.pxd +26 -0
- sage/matrix/action.pyx +596 -0
- sage/matrix/all.py +9 -0
- sage/matrix/args.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/args.pxd +144 -0
- sage/matrix/args.pyx +1668 -0
- sage/matrix/benchmark.py +1258 -0
- sage/matrix/berlekamp_massey.py +95 -0
- sage/matrix/compute_J_ideal.py +926 -0
- sage/matrix/constructor.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/constructor.pyx +750 -0
- sage/matrix/docs.py +430 -0
- sage/matrix/echelon_matrix.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/echelon_matrix.pyx +155 -0
- sage/matrix/matrix.pxd +2 -0
- sage/matrix/matrix0.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix0.pxd +68 -0
- sage/matrix/matrix0.pyx +6324 -0
- sage/matrix/matrix1.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix1.pxd +8 -0
- sage/matrix/matrix1.pyx +2851 -0
- sage/matrix/matrix2.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix2.pxd +25 -0
- sage/matrix/matrix2.pyx +20181 -0
- sage/matrix/matrix_cdv.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_cdv.pxd +4 -0
- sage/matrix/matrix_cdv.pyx +93 -0
- sage/matrix/matrix_complex_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_complex_double_dense.pxd +5 -0
- sage/matrix/matrix_complex_double_dense.pyx +98 -0
- sage/matrix/matrix_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_dense.pxd +5 -0
- sage/matrix/matrix_dense.pyx +343 -0
- sage/matrix/matrix_domain_dense.pxd +5 -0
- sage/matrix/matrix_domain_sparse.pxd +5 -0
- sage/matrix/matrix_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_double_dense.pxd +7 -0
- sage/matrix/matrix_double_dense.pyx +3906 -0
- sage/matrix/matrix_double_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_double_sparse.pxd +6 -0
- sage/matrix/matrix_double_sparse.pyx +248 -0
- sage/matrix/matrix_generic_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_generic_dense.pxd +7 -0
- sage/matrix/matrix_generic_dense.pyx +354 -0
- sage/matrix/matrix_generic_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_generic_sparse.pxd +7 -0
- sage/matrix/matrix_generic_sparse.pyx +461 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.pxd +5 -0
- sage/matrix/matrix_laurent_mpolynomial_dense.pyx +115 -0
- sage/matrix/matrix_misc.py +313 -0
- sage/matrix/matrix_numpy_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_numpy_dense.pxd +14 -0
- sage/matrix/matrix_numpy_dense.pyx +450 -0
- sage/matrix/matrix_numpy_integer_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_numpy_integer_dense.pxd +7 -0
- sage/matrix/matrix_numpy_integer_dense.pyx +59 -0
- sage/matrix/matrix_polynomial_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_polynomial_dense.pxd +5 -0
- sage/matrix/matrix_polynomial_dense.pyx +5341 -0
- sage/matrix/matrix_real_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_real_double_dense.pxd +7 -0
- sage/matrix/matrix_real_double_dense.pyx +122 -0
- sage/matrix/matrix_space.py +2848 -0
- sage/matrix/matrix_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_sparse.pxd +5 -0
- sage/matrix/matrix_sparse.pyx +1222 -0
- sage/matrix/matrix_window.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/matrix_window.pxd +37 -0
- sage/matrix/matrix_window.pyx +242 -0
- sage/matrix/misc_mpfr.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/misc_mpfr.pyx +80 -0
- sage/matrix/operation_table.py +1182 -0
- sage/matrix/special.py +3666 -0
- sage/matrix/strassen.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matrix/strassen.pyx +851 -0
- sage/matrix/symplectic_basis.py +541 -0
- sage/matrix/template.pxd +6 -0
- sage/matrix/tests.py +71 -0
- sage/matroids/advanced.py +77 -0
- sage/matroids/all.py +13 -0
- sage/matroids/basis_exchange_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/basis_exchange_matroid.pxd +96 -0
- sage/matroids/basis_exchange_matroid.pyx +2344 -0
- sage/matroids/basis_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/basis_matroid.pxd +45 -0
- sage/matroids/basis_matroid.pyx +1217 -0
- sage/matroids/catalog.py +44 -0
- sage/matroids/chow_ring.py +473 -0
- sage/matroids/chow_ring_ideal.py +849 -0
- sage/matroids/circuit_closures_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/circuit_closures_matroid.pxd +16 -0
- sage/matroids/circuit_closures_matroid.pyx +559 -0
- sage/matroids/circuits_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/circuits_matroid.pxd +38 -0
- sage/matroids/circuits_matroid.pyx +947 -0
- sage/matroids/constructor.py +1086 -0
- sage/matroids/database_collections.py +365 -0
- sage/matroids/database_matroids.py +5338 -0
- sage/matroids/dual_matroid.py +583 -0
- sage/matroids/extension.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/extension.pxd +34 -0
- sage/matroids/extension.pyx +519 -0
- sage/matroids/flats_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/flats_matroid.pxd +28 -0
- sage/matroids/flats_matroid.pyx +715 -0
- sage/matroids/gammoid.py +600 -0
- sage/matroids/graphic_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/graphic_matroid.pxd +39 -0
- sage/matroids/graphic_matroid.pyx +2024 -0
- sage/matroids/lean_matrix.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/lean_matrix.pxd +126 -0
- sage/matroids/lean_matrix.pyx +3667 -0
- sage/matroids/linear_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/linear_matroid.pxd +180 -0
- sage/matroids/linear_matroid.pyx +6649 -0
- sage/matroids/matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/matroid.pxd +243 -0
- sage/matroids/matroid.pyx +8759 -0
- sage/matroids/matroids_catalog.py +190 -0
- sage/matroids/matroids_plot_helpers.py +890 -0
- sage/matroids/minor_matroid.py +480 -0
- sage/matroids/minorfix.h +9 -0
- sage/matroids/named_matroids.py +5 -0
- sage/matroids/rank_matroid.py +268 -0
- sage/matroids/set_system.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/set_system.pxd +38 -0
- sage/matroids/set_system.pyx +800 -0
- sage/matroids/transversal_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/transversal_matroid.pxd +14 -0
- sage/matroids/transversal_matroid.pyx +893 -0
- sage/matroids/union_matroid.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/union_matroid.pxd +20 -0
- sage/matroids/union_matroid.pyx +331 -0
- sage/matroids/unpickling.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/matroids/unpickling.pyx +843 -0
- sage/matroids/utilities.py +809 -0
- sage/misc/all__sagemath_modules.py +20 -0
- sage/misc/c3.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/misc/c3.pyx +238 -0
- sage/misc/compat.py +87 -0
- sage/misc/element_with_label.py +173 -0
- sage/misc/func_persist.py +79 -0
- sage/misc/pickle_old.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/misc/pickle_old.pyx +19 -0
- sage/misc/proof.py +7 -0
- sage/misc/replace_dot_all.py +472 -0
- sage/misc/sagedoc_conf.py +168 -0
- sage/misc/sphinxify.py +167 -0
- sage/misc/test_class_pickling.py +85 -0
- sage/modules/all.py +42 -0
- sage/modules/complex_double_vector.py +25 -0
- sage/modules/diamond_cutting.py +380 -0
- sage/modules/fg_pid/all.py +1 -0
- sage/modules/fg_pid/fgp_element.py +456 -0
- sage/modules/fg_pid/fgp_module.py +2091 -0
- sage/modules/fg_pid/fgp_morphism.py +550 -0
- sage/modules/filtered_vector_space.py +1271 -0
- sage/modules/finite_submodule_iter.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/finite_submodule_iter.pxd +27 -0
- sage/modules/finite_submodule_iter.pyx +452 -0
- sage/modules/fp_graded/all.py +1 -0
- sage/modules/fp_graded/element.py +346 -0
- sage/modules/fp_graded/free_element.py +298 -0
- sage/modules/fp_graded/free_homspace.py +53 -0
- sage/modules/fp_graded/free_module.py +1060 -0
- sage/modules/fp_graded/free_morphism.py +217 -0
- sage/modules/fp_graded/homspace.py +563 -0
- sage/modules/fp_graded/module.py +1340 -0
- sage/modules/fp_graded/morphism.py +1990 -0
- sage/modules/fp_graded/steenrod/all.py +1 -0
- sage/modules/fp_graded/steenrod/homspace.py +65 -0
- sage/modules/fp_graded/steenrod/module.py +477 -0
- sage/modules/fp_graded/steenrod/morphism.py +404 -0
- sage/modules/fp_graded/steenrod/profile.py +241 -0
- sage/modules/free_module.py +8447 -0
- sage/modules/free_module_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/free_module_element.pxd +22 -0
- sage/modules/free_module_element.pyx +5445 -0
- sage/modules/free_module_homspace.py +369 -0
- sage/modules/free_module_integer.py +896 -0
- sage/modules/free_module_morphism.py +823 -0
- sage/modules/free_module_pseudohomspace.py +352 -0
- sage/modules/free_module_pseudomorphism.py +578 -0
- sage/modules/free_quadratic_module.py +1706 -0
- sage/modules/free_quadratic_module_integer_symmetric.py +1790 -0
- sage/modules/matrix_morphism.py +1745 -0
- sage/modules/misc.py +103 -0
- sage/modules/module_functors.py +192 -0
- sage/modules/multi_filtered_vector_space.py +719 -0
- 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 +699 -0
- sage/modules/real_double_vector.py +22 -0
- sage/modules/submodule.py +255 -0
- sage/modules/tensor_operations.py +567 -0
- sage/modules/torsion_quadratic_module.py +1352 -0
- sage/modules/tutorial_free_modules.py +248 -0
- sage/modules/vector_complex_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_complex_double_dense.pxd +6 -0
- sage/modules/vector_complex_double_dense.pyx +117 -0
- sage/modules/vector_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_double_dense.pxd +6 -0
- sage/modules/vector_double_dense.pyx +604 -0
- sage/modules/vector_integer_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_integer_dense.pxd +15 -0
- sage/modules/vector_integer_dense.pyx +361 -0
- sage/modules/vector_integer_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_integer_sparse.pxd +29 -0
- sage/modules/vector_integer_sparse.pyx +406 -0
- sage/modules/vector_modn_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_modn_dense.pxd +12 -0
- sage/modules/vector_modn_dense.pyx +394 -0
- sage/modules/vector_modn_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_modn_sparse.pxd +21 -0
- sage/modules/vector_modn_sparse.pyx +298 -0
- sage/modules/vector_numpy_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_numpy_dense.pxd +15 -0
- sage/modules/vector_numpy_dense.pyx +304 -0
- sage/modules/vector_numpy_integer_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_numpy_integer_dense.pxd +7 -0
- sage/modules/vector_numpy_integer_dense.pyx +54 -0
- sage/modules/vector_rational_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_rational_dense.pxd +15 -0
- sage/modules/vector_rational_dense.pyx +387 -0
- sage/modules/vector_rational_sparse.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_rational_sparse.pxd +30 -0
- sage/modules/vector_rational_sparse.pyx +413 -0
- sage/modules/vector_real_double_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/vector_real_double_dense.pxd +6 -0
- sage/modules/vector_real_double_dense.pyx +126 -0
- sage/modules/vector_space_homspace.py +430 -0
- sage/modules/vector_space_morphism.py +989 -0
- sage/modules/with_basis/all.py +15 -0
- sage/modules/with_basis/cell_module.py +494 -0
- sage/modules/with_basis/indexed_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/modules/with_basis/indexed_element.pxd +13 -0
- sage/modules/with_basis/indexed_element.pyx +1058 -0
- sage/modules/with_basis/invariant.py +1075 -0
- sage/modules/with_basis/morphism.py +1636 -0
- sage/modules/with_basis/representation.py +2939 -0
- sage/modules/with_basis/subquotient.py +685 -0
- sage/numerical/all__sagemath_modules.py +6 -0
- sage/numerical/gauss_legendre.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/numerical/gauss_legendre.pyx +381 -0
- sage/numerical/optimize.py +910 -0
- sage/probability/all.py +10 -0
- sage/probability/probability_distribution.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/probability/probability_distribution.pyx +1242 -0
- sage/probability/random_variable.py +411 -0
- sage/quadratic_forms/all.py +4 -0
- sage/quadratic_forms/all__sagemath_modules.py +15 -0
- sage/quadratic_forms/binary_qf.py +2042 -0
- sage/quadratic_forms/bqf_class_group.py +748 -0
- sage/quadratic_forms/constructions.py +93 -0
- sage/quadratic_forms/count_local_2.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/quadratic_forms/count_local_2.pyx +365 -0
- sage/quadratic_forms/extras.py +195 -0
- sage/quadratic_forms/quadratic_form.py +1753 -0
- sage/quadratic_forms/quadratic_form__count_local_2.py +221 -0
- sage/quadratic_forms/quadratic_form__equivalence_testing.py +708 -0
- sage/quadratic_forms/quadratic_form__evaluate.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/quadratic_forms/quadratic_form__evaluate.pyx +139 -0
- sage/quadratic_forms/quadratic_form__local_density_congruence.py +977 -0
- sage/quadratic_forms/quadratic_form__local_field_invariants.py +1072 -0
- sage/quadratic_forms/quadratic_form__neighbors.py +424 -0
- sage/quadratic_forms/quadratic_form__reduction_theory.py +488 -0
- sage/quadratic_forms/quadratic_form__split_local_covering.py +416 -0
- sage/quadratic_forms/quadratic_form__ternary_Tornaria.py +657 -0
- sage/quadratic_forms/quadratic_form__theta.py +352 -0
- sage/quadratic_forms/quadratic_form__variable_substitutions.py +370 -0
- sage/quadratic_forms/random_quadraticform.py +209 -0
- sage/quadratic_forms/ternary.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/quadratic_forms/ternary.pyx +1154 -0
- sage/quadratic_forms/ternary_qf.py +2027 -0
- sage/rings/all__sagemath_modules.py +28 -0
- sage/rings/asymptotic/all__sagemath_modules.py +1 -0
- sage/rings/asymptotic/misc.py +1252 -0
- sage/rings/cc.py +4 -0
- sage/rings/cfinite_sequence.py +1306 -0
- sage/rings/complex_conversion.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/complex_conversion.pxd +8 -0
- sage/rings/complex_conversion.pyx +23 -0
- sage/rings/complex_double.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/complex_double.pxd +21 -0
- sage/rings/complex_double.pyx +2654 -0
- sage/rings/complex_mpc.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/complex_mpc.pxd +21 -0
- sage/rings/complex_mpc.pyx +2576 -0
- sage/rings/complex_mpfr.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/complex_mpfr.pxd +18 -0
- sage/rings/complex_mpfr.pyx +3602 -0
- sage/rings/derivation.py +2334 -0
- sage/rings/finite_rings/all__sagemath_modules.py +1 -0
- sage/rings/finite_rings/maps_finite_field.py +191 -0
- sage/rings/function_field/all__sagemath_modules.py +8 -0
- sage/rings/function_field/derivations.py +102 -0
- sage/rings/function_field/derivations_rational.py +132 -0
- sage/rings/function_field/differential.py +853 -0
- sage/rings/function_field/divisor.py +1107 -0
- sage/rings/function_field/drinfeld_modules/action.py +199 -0
- sage/rings/function_field/drinfeld_modules/all.py +1 -0
- sage/rings/function_field/drinfeld_modules/charzero_drinfeld_module.py +673 -0
- sage/rings/function_field/drinfeld_modules/drinfeld_module.py +2087 -0
- sage/rings/function_field/drinfeld_modules/finite_drinfeld_module.py +1131 -0
- sage/rings/function_field/drinfeld_modules/homset.py +420 -0
- sage/rings/function_field/drinfeld_modules/morphism.py +820 -0
- sage/rings/function_field/hermite_form_polynomial.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/function_field/hermite_form_polynomial.pyx +188 -0
- sage/rings/function_field/khuri_makdisi.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/function_field/khuri_makdisi.pyx +935 -0
- sage/rings/invariants/all.py +4 -0
- sage/rings/invariants/invariant_theory.py +4597 -0
- sage/rings/invariants/reconstruction.py +395 -0
- sage/rings/polynomial/all__sagemath_modules.py +17 -0
- sage/rings/polynomial/integer_valued_polynomials.py +1230 -0
- sage/rings/polynomial/laurent_polynomial_mpair.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/laurent_polynomial_mpair.pxd +15 -0
- sage/rings/polynomial/laurent_polynomial_mpair.pyx +2023 -0
- sage/rings/polynomial/ore_function_element.py +952 -0
- sage/rings/polynomial/ore_function_field.py +1028 -0
- sage/rings/polynomial/ore_polynomial_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/ore_polynomial_element.pxd +48 -0
- sage/rings/polynomial/ore_polynomial_element.pyx +3145 -0
- sage/rings/polynomial/ore_polynomial_ring.py +1334 -0
- sage/rings/polynomial/polynomial_real_mpfr_dense.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/polynomial_real_mpfr_dense.pyx +788 -0
- sage/rings/polynomial/q_integer_valued_polynomials.py +1264 -0
- sage/rings/polynomial/skew_polynomial_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_element.pxd +9 -0
- sage/rings/polynomial/skew_polynomial_element.pyx +684 -0
- sage/rings/polynomial/skew_polynomial_finite_field.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_field.pxd +19 -0
- sage/rings/polynomial/skew_polynomial_finite_field.pyx +1093 -0
- sage/rings/polynomial/skew_polynomial_finite_order.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/polynomial/skew_polynomial_finite_order.pxd +10 -0
- sage/rings/polynomial/skew_polynomial_finite_order.pyx +567 -0
- sage/rings/polynomial/skew_polynomial_ring.py +908 -0
- sage/rings/real_double_element_gsl.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/real_double_element_gsl.pxd +8 -0
- sage/rings/real_double_element_gsl.pyx +794 -0
- sage/rings/real_field.py +58 -0
- sage/rings/real_mpfr.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/real_mpfr.pxd +29 -0
- sage/rings/real_mpfr.pyx +6122 -0
- sage/rings/ring_extension.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/ring_extension.pxd +42 -0
- sage/rings/ring_extension.pyx +2779 -0
- sage/rings/ring_extension_conversion.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/ring_extension_conversion.pxd +16 -0
- sage/rings/ring_extension_conversion.pyx +462 -0
- sage/rings/ring_extension_element.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/ring_extension_element.pxd +21 -0
- sage/rings/ring_extension_element.pyx +1635 -0
- sage/rings/ring_extension_homset.py +64 -0
- sage/rings/ring_extension_morphism.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/rings/ring_extension_morphism.pxd +35 -0
- sage/rings/ring_extension_morphism.pyx +920 -0
- sage/schemes/all__sagemath_modules.py +1 -0
- sage/schemes/projective/all__sagemath_modules.py +1 -0
- sage/schemes/projective/coherent_sheaf.py +300 -0
- sage/schemes/projective/cohomology.py +510 -0
- sage/stats/all.py +15 -0
- sage/stats/basic_stats.py +489 -0
- sage/stats/distributions/all.py +7 -0
- sage/stats/distributions/catalog.py +34 -0
- sage/stats/distributions/dgs.h +50 -0
- sage/stats/distributions/dgs.pxd +111 -0
- sage/stats/distributions/dgs_bern.h +400 -0
- sage/stats/distributions/dgs_gauss.h +614 -0
- sage/stats/distributions/dgs_misc.h +104 -0
- sage/stats/distributions/discrete_gaussian_integer.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/distributions/discrete_gaussian_integer.pxd +14 -0
- sage/stats/distributions/discrete_gaussian_integer.pyx +498 -0
- sage/stats/distributions/discrete_gaussian_lattice.py +908 -0
- sage/stats/distributions/discrete_gaussian_polynomial.py +141 -0
- sage/stats/hmm/all.py +15 -0
- sage/stats/hmm/chmm.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/hmm/chmm.pyx +1595 -0
- sage/stats/hmm/distributions.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/hmm/distributions.pxd +29 -0
- sage/stats/hmm/distributions.pyx +531 -0
- sage/stats/hmm/hmm.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/hmm/hmm.pxd +17 -0
- sage/stats/hmm/hmm.pyx +1388 -0
- sage/stats/hmm/util.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/hmm/util.pxd +7 -0
- sage/stats/hmm/util.pyx +165 -0
- sage/stats/intlist.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/intlist.pxd +14 -0
- sage/stats/intlist.pyx +588 -0
- sage/stats/r.py +49 -0
- sage/stats/time_series.cpython-314-aarch64-linux-gnu.so +0 -0
- sage/stats/time_series.pxd +6 -0
- sage/stats/time_series.pyx +2546 -0
- sage/tensor/all.py +2 -0
- sage/tensor/modules/all.py +8 -0
- sage/tensor/modules/alternating_contr_tensor.py +761 -0
- sage/tensor/modules/comp.py +5598 -0
- sage/tensor/modules/ext_pow_free_module.py +824 -0
- sage/tensor/modules/finite_rank_free_module.py +3589 -0
- sage/tensor/modules/format_utilities.py +333 -0
- sage/tensor/modules/free_module_alt_form.py +858 -0
- sage/tensor/modules/free_module_automorphism.py +1207 -0
- sage/tensor/modules/free_module_basis.py +1074 -0
- sage/tensor/modules/free_module_element.py +284 -0
- sage/tensor/modules/free_module_homset.py +652 -0
- sage/tensor/modules/free_module_linear_group.py +564 -0
- sage/tensor/modules/free_module_morphism.py +1581 -0
- sage/tensor/modules/free_module_tensor.py +3289 -0
- sage/tensor/modules/reflexive_module.py +386 -0
- sage/tensor/modules/tensor_free_module.py +780 -0
- sage/tensor/modules/tensor_free_submodule.py +538 -0
- sage/tensor/modules/tensor_free_submodule_basis.py +140 -0
- sage/tensor/modules/tensor_with_indices.py +1043 -0
|
@@ -0,0 +1,563 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
# sage.doctest: needs sage.combinat
|
|
3
|
+
r"""
|
|
4
|
+
Homsets of finitely presented graded modules
|
|
5
|
+
|
|
6
|
+
TESTS::
|
|
7
|
+
|
|
8
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
9
|
+
sage: A = SteenrodAlgebra(2, profile=(3,2,1))
|
|
10
|
+
sage: F = A.free_graded_module([1,3], names='c')
|
|
11
|
+
sage: L = FPModule(A, [2,3], [[Sq(2),Sq(1)], [0,Sq(2)]], names='h')
|
|
12
|
+
sage: homset = Hom(F, L); homset
|
|
13
|
+
Set of Morphisms from Free graded left module on 2 generators ...
|
|
14
|
+
sage: homset.an_element()
|
|
15
|
+
Module morphism:
|
|
16
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
17
|
+
To: Finitely presented left module on 2 generators and 2 relations over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
18
|
+
Defn: c[1] |--> 0
|
|
19
|
+
c[3] |--> Sq(1)*h[2]
|
|
20
|
+
sage: f = homset([L((A.Sq(1), 1)), L((0, A.Sq(2)))]); f
|
|
21
|
+
Module morphism:
|
|
22
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
23
|
+
To: Finitely presented left module on 2 generators and 2 relations over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
24
|
+
Defn: c[1] |--> Sq(1)*h[2] + h[3]
|
|
25
|
+
c[3] |--> Sq(2)*h[3]
|
|
26
|
+
sage: f.kernel_inclusion()
|
|
27
|
+
Module morphism:
|
|
28
|
+
From: Finitely presented left module on 2 generators and 1 relation over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
29
|
+
To: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
30
|
+
Defn: g[3] |--> c[3]
|
|
31
|
+
g[4] |--> Sq(0,1)*c[1]
|
|
32
|
+
|
|
33
|
+
AUTHORS:
|
|
34
|
+
|
|
35
|
+
- Robert R. Bruner, Michael J. Catanzaro (2012): Initial version.
|
|
36
|
+
- Sverre Lunoee--Nielsen and Koen van Woerden (2019-11-29): Updated the
|
|
37
|
+
original software to Sage version 8.9.
|
|
38
|
+
- Sverre Lunoee--Nielsen (2020-07-01): Refactored the code and added
|
|
39
|
+
new documentation and tests.
|
|
40
|
+
"""
|
|
41
|
+
|
|
42
|
+
# *****************************************************************************
|
|
43
|
+
# Copyright (C) 2011 Robert R. Bruner <rrb@math.wayne.edu> and
|
|
44
|
+
# Michael J. Catanzaro <mike@math.wayne.edu>
|
|
45
|
+
#
|
|
46
|
+
# This program is free software: you can redistribute it and/or modify
|
|
47
|
+
# it under the terms of the GNU General Public License as published by
|
|
48
|
+
# the Free Software Foundation, either version 2 of the License, or
|
|
49
|
+
# (at your option) any later version.
|
|
50
|
+
# https://www.gnu.org/licenses/
|
|
51
|
+
# ****************************************************************************
|
|
52
|
+
|
|
53
|
+
from sage.categories.homset import Homset
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
class FPModuleHomspace(Homset):
|
|
57
|
+
# FPModuleMorphism imports FPModuleHomspace, so this import should
|
|
58
|
+
# not happen at the top level.
|
|
59
|
+
from .morphism import FPModuleMorphism as Element
|
|
60
|
+
|
|
61
|
+
def _element_constructor_(self, values):
|
|
62
|
+
r"""
|
|
63
|
+
Construct a morphism contained in ``self``.
|
|
64
|
+
|
|
65
|
+
This function is not part of the public API, but is used by
|
|
66
|
+
:meth:`Hom` method to create morphisms.
|
|
67
|
+
|
|
68
|
+
INPUT:
|
|
69
|
+
|
|
70
|
+
- ``values`` -- an iterable of FPElements of the codomain
|
|
71
|
+
|
|
72
|
+
OUTPUT:
|
|
73
|
+
|
|
74
|
+
A module homomorphism in this homspace sending the generators
|
|
75
|
+
of the domain module to the given values.
|
|
76
|
+
|
|
77
|
+
EXAMPLES::
|
|
78
|
+
|
|
79
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
80
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
81
|
+
sage: F = FPModule(A2, [1,3])
|
|
82
|
+
sage: L = FPModule(A2, [2,3], [[Sq(2),Sq(1)], [0,Sq(2)]])
|
|
83
|
+
|
|
84
|
+
sage: homset = Hom(F, L)
|
|
85
|
+
sage: v1 = L([A2.Sq(1), 1])
|
|
86
|
+
sage: v2 = L([0, A2.Sq(2)])
|
|
87
|
+
sage: f = homset._element_constructor_([v1, v2])
|
|
88
|
+
|
|
89
|
+
Rather than calling ``_element_constructor_`` explicitly, one
|
|
90
|
+
should call it implicitly using the syntax::
|
|
91
|
+
|
|
92
|
+
sage: f = homset([v1, v2]); f
|
|
93
|
+
Module morphism:
|
|
94
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
95
|
+
To: Finitely presented left module on 2 generators and 2 relations over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
96
|
+
Defn: g[1] |--> Sq(1)*g[2] + g[3]
|
|
97
|
+
g[3] |--> Sq(2)*g[3]
|
|
98
|
+
|
|
99
|
+
One can construct a homomorphism from another homomorphism::
|
|
100
|
+
|
|
101
|
+
sage: g = homset(f)
|
|
102
|
+
sage: f == g
|
|
103
|
+
True
|
|
104
|
+
|
|
105
|
+
And there is a convenient way of making the trivial homomorphism::
|
|
106
|
+
|
|
107
|
+
sage: homset(0) == 0
|
|
108
|
+
True
|
|
109
|
+
|
|
110
|
+
TESTS::
|
|
111
|
+
|
|
112
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
113
|
+
sage: F = A2.free_graded_module((1,3))
|
|
114
|
+
sage: L = A2.free_graded_module((2,5))
|
|
115
|
+
sage: H = Hom(F, L)
|
|
116
|
+
|
|
117
|
+
sage: values = (A2.Sq(4)*L.generator(0), A2.Sq(3)*L.generator(1))
|
|
118
|
+
sage: f = H(values); f
|
|
119
|
+
Module morphism:
|
|
120
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
121
|
+
To: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
122
|
+
Defn: g[1] |--> Sq(4)*g[2]
|
|
123
|
+
g[3] |--> Sq(3)*g[5]
|
|
124
|
+
|
|
125
|
+
sage: H(0)
|
|
126
|
+
Module morphism:
|
|
127
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
128
|
+
To: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
129
|
+
Defn: g[1] |--> 0
|
|
130
|
+
g[3] |--> 0
|
|
131
|
+
"""
|
|
132
|
+
if isinstance(values, self.element_class):
|
|
133
|
+
return values
|
|
134
|
+
elif values == 0 or all(v.is_zero() for v in values):
|
|
135
|
+
return self.zero()
|
|
136
|
+
else:
|
|
137
|
+
return self.element_class(self, values)
|
|
138
|
+
|
|
139
|
+
def an_element(self, n=0):
|
|
140
|
+
r"""
|
|
141
|
+
Create a homomorphism belonging to ``self``.
|
|
142
|
+
|
|
143
|
+
INPUT:
|
|
144
|
+
|
|
145
|
+
- ``n`` -- (default: 0) an integer degree
|
|
146
|
+
|
|
147
|
+
OUTPUT: a module homomorphism of degree ``n``
|
|
148
|
+
|
|
149
|
+
EXAMPLES::
|
|
150
|
+
|
|
151
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
152
|
+
sage: A = SteenrodAlgebra(2)
|
|
153
|
+
sage: HZ = FPModule(A, [0], relations=[[Sq(1)]])
|
|
154
|
+
|
|
155
|
+
sage: Hom(HZ, HZ).an_element(3)
|
|
156
|
+
Module endomorphism of Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
157
|
+
Defn: g[0] |--> Sq(0,1)*g[0]
|
|
158
|
+
|
|
159
|
+
TESTS::
|
|
160
|
+
|
|
161
|
+
sage: K = FPModule(A, [0, 0], [[Sq(2), 0]]) # Using a zero coefficient in the relations.
|
|
162
|
+
sage: Hom(K, K).an_element(4)
|
|
163
|
+
Module endomorphism of Finitely presented left module on 2 generators and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
164
|
+
Defn: g[0, 0] |--> 0
|
|
165
|
+
g[0, 1] |--> Sq(4)*g[0, 0]
|
|
166
|
+
|
|
167
|
+
sage: K = FPModule(A, [0, 0], [[Sq(2), 0], [0,0], [Sq(4), Sq(2)*Sq(2)]])
|
|
168
|
+
sage: Hom(K, K).an_element(n=3)
|
|
169
|
+
Module endomorphism of Finitely presented left module on 2 generators and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
170
|
+
Defn: g[0, 0] |--> 0
|
|
171
|
+
g[0, 1] |--> Sq(0,1)*g[0, 0]
|
|
172
|
+
|
|
173
|
+
An example involving free modules::
|
|
174
|
+
|
|
175
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
176
|
+
sage: F = A2.free_graded_module((1,3))
|
|
177
|
+
sage: L = A2.free_graded_module((1,2))
|
|
178
|
+
sage: H = Hom(F, L)
|
|
179
|
+
sage: H.an_element()
|
|
180
|
+
Module morphism:
|
|
181
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
182
|
+
To: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
183
|
+
Defn: g[1] |--> g[1]
|
|
184
|
+
g[3] |--> 0
|
|
185
|
+
"""
|
|
186
|
+
return self._basis_elements(n, basis=False)
|
|
187
|
+
|
|
188
|
+
def basis_elements(self, n):
|
|
189
|
+
r"""
|
|
190
|
+
Return a basis for the free module of degree ``n`` morphisms.
|
|
191
|
+
|
|
192
|
+
INPUT:
|
|
193
|
+
|
|
194
|
+
- ``n`` -- integer degree
|
|
195
|
+
|
|
196
|
+
OUTPUT: a basis for the set of all module homomorphisms of degree ``n``
|
|
197
|
+
|
|
198
|
+
EXAMPLES::
|
|
199
|
+
|
|
200
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
201
|
+
sage: A = SteenrodAlgebra(2)
|
|
202
|
+
sage: Hko = FPModule(A, [0], relations=[[Sq(2)], [Sq(1)]])
|
|
203
|
+
|
|
204
|
+
sage: Hom(Hko, Hko).basis_elements(21)
|
|
205
|
+
[Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
206
|
+
Defn: g[0] |--> (Sq(0,0,3)+Sq(0,2,0,1))*g[0],
|
|
207
|
+
Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
208
|
+
Defn: g[0] |--> Sq(8,2,1)*g[0]]
|
|
209
|
+
"""
|
|
210
|
+
return self._basis_elements(n, basis=True)
|
|
211
|
+
|
|
212
|
+
def zero(self):
|
|
213
|
+
r"""
|
|
214
|
+
Create the trivial homomorphism in ``self``.
|
|
215
|
+
|
|
216
|
+
EXAMPLES::
|
|
217
|
+
|
|
218
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
219
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
220
|
+
sage: F = FPModule(A2, [1,3])
|
|
221
|
+
sage: L = FPModule(A2, [2,3], [[Sq(2),Sq(1)], [0,Sq(2)]])
|
|
222
|
+
|
|
223
|
+
sage: z = Hom(F, L).zero()
|
|
224
|
+
sage: z(F.an_element(5))
|
|
225
|
+
0
|
|
226
|
+
sage: z(F.an_element(23))
|
|
227
|
+
0
|
|
228
|
+
|
|
229
|
+
Example with free modules::
|
|
230
|
+
|
|
231
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
232
|
+
sage: F = A2.free_graded_module((1,3))
|
|
233
|
+
sage: L = A2.free_graded_module((2,3))
|
|
234
|
+
sage: H = Hom(F, L)
|
|
235
|
+
sage: H.zero()
|
|
236
|
+
Module morphism:
|
|
237
|
+
From: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
238
|
+
To: Free graded left module on 2 generators over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
239
|
+
Defn: g[1] |--> 0
|
|
240
|
+
g[3] |--> 0
|
|
241
|
+
"""
|
|
242
|
+
ngens = len(self.domain().generator_degrees())
|
|
243
|
+
return self.element_class(self, [self.codomain().zero()] * ngens)
|
|
244
|
+
|
|
245
|
+
def identity(self):
|
|
246
|
+
r"""
|
|
247
|
+
Return the identity homomorphism.
|
|
248
|
+
|
|
249
|
+
EXAMPLES::
|
|
250
|
+
|
|
251
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
252
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
253
|
+
sage: L = FPModule(A2, [2,3], [[Sq(2),Sq(1)], [0,Sq(2)]])
|
|
254
|
+
|
|
255
|
+
sage: one = Hom(L, L).identity(); one
|
|
256
|
+
Module endomorphism of Finitely presented left module on 2 generators and 2 relations over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
257
|
+
Defn: g[2] |--> g[2]
|
|
258
|
+
g[3] |--> g[3]
|
|
259
|
+
|
|
260
|
+
sage: e = L.an_element(5)
|
|
261
|
+
sage: e == one(e)
|
|
262
|
+
True
|
|
263
|
+
|
|
264
|
+
It is an error to call this function when the homset is not a
|
|
265
|
+
set of endomorphisms::
|
|
266
|
+
|
|
267
|
+
sage: F = FPModule(A2, [1,3])
|
|
268
|
+
sage: Hom(F,L).identity()
|
|
269
|
+
Traceback (most recent call last):
|
|
270
|
+
...
|
|
271
|
+
TypeError: this homspace does not consist of endomorphisms
|
|
272
|
+
|
|
273
|
+
An example with free graded modules::
|
|
274
|
+
|
|
275
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
276
|
+
sage: L = A2.free_graded_module((2,3))
|
|
277
|
+
sage: H = Hom(L, L)
|
|
278
|
+
sage: H.identity()
|
|
279
|
+
Module endomorphism of Free graded left module on 2 generators
|
|
280
|
+
over sub-Hopf algebra of mod 2 Steenrod algebra, milnor basis, profile function [3, 2, 1]
|
|
281
|
+
Defn: g[2] |--> g[2]
|
|
282
|
+
g[3] |--> g[3]
|
|
283
|
+
|
|
284
|
+
TESTS::
|
|
285
|
+
|
|
286
|
+
sage: A2 = SteenrodAlgebra(2, profile=(3,2,1))
|
|
287
|
+
sage: L = A2.free_graded_module((2,3))
|
|
288
|
+
sage: F = A2.free_graded_module((1,3))
|
|
289
|
+
sage: H = Hom(F, L)
|
|
290
|
+
sage: H.identity()
|
|
291
|
+
Traceback (most recent call last):
|
|
292
|
+
...
|
|
293
|
+
TypeError: this homspace does not consist of endomorphisms
|
|
294
|
+
"""
|
|
295
|
+
if self.is_endomorphism_set():
|
|
296
|
+
return self.element_class(self, self.codomain().generators())
|
|
297
|
+
else:
|
|
298
|
+
raise TypeError('this homspace does not consist of endomorphisms')
|
|
299
|
+
|
|
300
|
+
def _basis_elements(self, n, basis):
|
|
301
|
+
r"""
|
|
302
|
+
Return a basis for the free module of degree ``n`` homomorphisms.
|
|
303
|
+
|
|
304
|
+
This function is private for use by :meth:`basis_elements` and
|
|
305
|
+
:meth:`an_element`.
|
|
306
|
+
|
|
307
|
+
INPUT:
|
|
308
|
+
|
|
309
|
+
- ``n`` -- integer degree
|
|
310
|
+
- ``basis`` -- boolean; decide if a basis should be returned or just
|
|
311
|
+
a single homomorphism
|
|
312
|
+
|
|
313
|
+
OUTPUT:
|
|
314
|
+
|
|
315
|
+
A basis for the set of all module homomorphisms of degree ``n``
|
|
316
|
+
if ``basis`` is ``True``. Otherwise a single element is returned.
|
|
317
|
+
In the latter case, this homomorphism is non-trivial if the vector
|
|
318
|
+
space of all homomorphisms is non-trivial.
|
|
319
|
+
|
|
320
|
+
TESTS::
|
|
321
|
+
|
|
322
|
+
sage: from sage.modules.fp_graded.module import FPModule
|
|
323
|
+
sage: A = SteenrodAlgebra(2)
|
|
324
|
+
sage: Hko = FPModule(A, [0], relations=[[Sq(2)], [Sq(1)]])
|
|
325
|
+
sage: Hom(Hko, Hko)._basis_elements(21, basis=True)
|
|
326
|
+
[Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
327
|
+
Defn: g[0] |--> (Sq(0,0,3)+Sq(0,2,0,1))*g[0],
|
|
328
|
+
Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
329
|
+
Defn: g[0] |--> Sq(8,2,1)*g[0]]
|
|
330
|
+
|
|
331
|
+
sage: Hom(Hko, Hko)._basis_elements(21, basis=False)
|
|
332
|
+
Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
333
|
+
Defn: g[0] |--> (Sq(0,0,3)+Sq(0,2,0,1))*g[0]
|
|
334
|
+
|
|
335
|
+
sage: F = FPModule(A, [0])
|
|
336
|
+
sage: Hom(F, Hko)._basis_elements(21, basis=False)
|
|
337
|
+
Module morphism:
|
|
338
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
339
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
340
|
+
Defn: g[0] |--> Sq(0,2,0,1)*g[0]
|
|
341
|
+
|
|
342
|
+
sage: Hom(F, Hko)._basis_elements(21, basis=False)
|
|
343
|
+
Module morphism:
|
|
344
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
345
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
346
|
+
Defn: g[0] |--> Sq(0,2,0,1)*g[0]
|
|
347
|
+
|
|
348
|
+
Test corner cases involving trivial modules::
|
|
349
|
+
|
|
350
|
+
sage: F = FPModule(A, [0]) # A module without relations.
|
|
351
|
+
sage: Z0 = FPModule(A, []) # A trivial module.
|
|
352
|
+
sage: Z1 = FPModule(A, [0], [[1]]) # A trivial module with a redundant generator and relation.
|
|
353
|
+
|
|
354
|
+
sage: Hom(FPModule(A, [-1]), F)._basis_elements(0, basis=True)
|
|
355
|
+
[]
|
|
356
|
+
sage: Hom(FPModule(A, [-1]), F)._basis_elements(0, basis=False)
|
|
357
|
+
Module morphism:
|
|
358
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
359
|
+
To: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
360
|
+
Defn: g[-1] |--> 0
|
|
361
|
+
|
|
362
|
+
sage: from itertools import product
|
|
363
|
+
sage: for D,C in product([(F, 'Free'), (Hko, 'Hko'), (Z0, 'Trivial'), (Z1, 'Trivial with redundant generator')], repeat=2):
|
|
364
|
+
....: print('Hom(%s, %s):' % (D[1], C[1]))
|
|
365
|
+
....: print(' basis==False:\n %s' % Hom(D[0], C[0])._basis_elements(n=7, basis=False))
|
|
366
|
+
....: print(' basis==True:\n %s' % Hom(D[0], C[0])._basis_elements(n=7, basis=True))
|
|
367
|
+
Hom(Free, Free):
|
|
368
|
+
basis==False:
|
|
369
|
+
Module endomorphism of Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
370
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0]
|
|
371
|
+
basis==True:
|
|
372
|
+
[Module endomorphism of Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
373
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0], Module endomorphism of Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
374
|
+
Defn: g[0] |--> Sq(1,2)*g[0], Module endomorphism of Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
375
|
+
Defn: g[0] |--> Sq(4,1)*g[0], Module endomorphism of Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
376
|
+
Defn: g[0] |--> Sq(7)*g[0]]
|
|
377
|
+
Hom(Free, Hko):
|
|
378
|
+
basis==False:
|
|
379
|
+
Module morphism:
|
|
380
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
381
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
382
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0]
|
|
383
|
+
basis==True:
|
|
384
|
+
[Module morphism:
|
|
385
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
386
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
387
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0]]
|
|
388
|
+
Hom(Free, Trivial):
|
|
389
|
+
basis==False:
|
|
390
|
+
Module morphism:
|
|
391
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
392
|
+
To: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
393
|
+
Defn: g[0] |--> 0
|
|
394
|
+
basis==True:
|
|
395
|
+
[]
|
|
396
|
+
Hom(Free, Trivial with redundant generator):
|
|
397
|
+
basis==False:
|
|
398
|
+
Module morphism:
|
|
399
|
+
From: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
400
|
+
To: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
401
|
+
Defn: g[0] |--> 0
|
|
402
|
+
basis==True:
|
|
403
|
+
[]
|
|
404
|
+
Hom(Hko, Free):
|
|
405
|
+
basis==False:
|
|
406
|
+
Module morphism:
|
|
407
|
+
From: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
408
|
+
To: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
409
|
+
Defn: g[0] |--> 0
|
|
410
|
+
basis==True:
|
|
411
|
+
[]
|
|
412
|
+
Hom(Hko, Hko):
|
|
413
|
+
basis==False:
|
|
414
|
+
Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
415
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0]
|
|
416
|
+
basis==True:
|
|
417
|
+
[Module endomorphism of Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
418
|
+
Defn: g[0] |--> Sq(0,0,1)*g[0]]
|
|
419
|
+
Hom(Hko, Trivial):
|
|
420
|
+
basis==False:
|
|
421
|
+
Module morphism:
|
|
422
|
+
From: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
423
|
+
To: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
424
|
+
Defn: g[0] |--> 0
|
|
425
|
+
basis==True:
|
|
426
|
+
[]
|
|
427
|
+
Hom(Hko, Trivial with redundant generator):
|
|
428
|
+
basis==False:
|
|
429
|
+
Module morphism:
|
|
430
|
+
From: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
431
|
+
To: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
432
|
+
Defn: g[0] |--> 0
|
|
433
|
+
basis==True:
|
|
434
|
+
[]
|
|
435
|
+
Hom(Trivial, Free):
|
|
436
|
+
basis==False:
|
|
437
|
+
Module morphism:
|
|
438
|
+
From: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
439
|
+
To: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
440
|
+
basis==True:
|
|
441
|
+
[]
|
|
442
|
+
Hom(Trivial, Hko):
|
|
443
|
+
basis==False:
|
|
444
|
+
Module morphism:
|
|
445
|
+
From: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
446
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
447
|
+
basis==True:
|
|
448
|
+
[]
|
|
449
|
+
Hom(Trivial, Trivial):
|
|
450
|
+
basis==False:
|
|
451
|
+
Module endomorphism of Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
452
|
+
basis==True:
|
|
453
|
+
[]
|
|
454
|
+
Hom(Trivial, Trivial with redundant generator):
|
|
455
|
+
basis==False:
|
|
456
|
+
Module morphism:
|
|
457
|
+
From: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
458
|
+
To: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
459
|
+
basis==True:
|
|
460
|
+
[]
|
|
461
|
+
Hom(Trivial with redundant generator, Free):
|
|
462
|
+
basis==False:
|
|
463
|
+
Module morphism:
|
|
464
|
+
From: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
465
|
+
To: Free graded left module on 1 generator over mod 2 Steenrod algebra, milnor basis
|
|
466
|
+
Defn: g[0] |--> 0
|
|
467
|
+
basis==True:
|
|
468
|
+
[]
|
|
469
|
+
Hom(Trivial with redundant generator, Hko):
|
|
470
|
+
basis==False:
|
|
471
|
+
Module morphism:
|
|
472
|
+
From: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
473
|
+
To: Finitely presented left module on 1 generator and 2 relations over mod 2 Steenrod algebra, milnor basis
|
|
474
|
+
Defn: g[0] |--> 0
|
|
475
|
+
basis==True:
|
|
476
|
+
[]
|
|
477
|
+
Hom(Trivial with redundant generator, Trivial):
|
|
478
|
+
basis==False:
|
|
479
|
+
Module morphism:
|
|
480
|
+
From: Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
481
|
+
To: Free graded left module on 0 generators over mod 2 Steenrod algebra, milnor basis
|
|
482
|
+
Defn: g[0] |--> 0
|
|
483
|
+
basis==True:
|
|
484
|
+
[]
|
|
485
|
+
Hom(Trivial with redundant generator, Trivial with redundant generator):
|
|
486
|
+
basis==False:
|
|
487
|
+
Module endomorphism of Finitely presented left module on 1 generator and 1 relation over mod 2 Steenrod algebra, milnor basis
|
|
488
|
+
Defn: g[0] |--> 0
|
|
489
|
+
basis==True:
|
|
490
|
+
[]
|
|
491
|
+
"""
|
|
492
|
+
from .morphism import _create_relations_matrix
|
|
493
|
+
|
|
494
|
+
M = self.domain()
|
|
495
|
+
N = self.codomain()
|
|
496
|
+
|
|
497
|
+
def _trivial_case():
|
|
498
|
+
'''
|
|
499
|
+
The return value if there are no non-trivial homomorphisms.
|
|
500
|
+
'''
|
|
501
|
+
if basis:
|
|
502
|
+
# Since the free module of homomorphisms is trivial, the basis
|
|
503
|
+
# is the empty set.
|
|
504
|
+
return []
|
|
505
|
+
else:
|
|
506
|
+
# Since the free module of homomorphisms is trivial, it contains
|
|
507
|
+
# only The trivial homomorphism
|
|
508
|
+
return self.zero()
|
|
509
|
+
|
|
510
|
+
# Deal with the trivial cases first. Note that this covers the case
|
|
511
|
+
# where the domain or codomain have no generators.
|
|
512
|
+
if N.is_trivial() or M.is_trivial():
|
|
513
|
+
return _trivial_case()
|
|
514
|
+
|
|
515
|
+
# Then deal with the case where the domain has no relations.
|
|
516
|
+
elif not M.has_relations():
|
|
517
|
+
res = []
|
|
518
|
+
num_generators = len(M.generators())
|
|
519
|
+
for i, g in enumerate(M.generators()):
|
|
520
|
+
# The i'th generator can go to any of these basis elements:
|
|
521
|
+
base = N.basis_elements(g.degree() + n)
|
|
522
|
+
for value in base:
|
|
523
|
+
values = [N.zero() if i != j else value for j in range(num_generators)]
|
|
524
|
+
res.append(self(values))
|
|
525
|
+
if not basis:
|
|
526
|
+
return res[0]
|
|
527
|
+
|
|
528
|
+
else:
|
|
529
|
+
# Note that this list is non-empty since we dealt with the trivial
|
|
530
|
+
# case above.
|
|
531
|
+
source_degs = [g.degree() + n for g in M.generators()]
|
|
532
|
+
|
|
533
|
+
# Note that this list is non-empty since we dealt with the free
|
|
534
|
+
# case above.
|
|
535
|
+
target_degs = [r.degree() + n for r in M.relations()]
|
|
536
|
+
|
|
537
|
+
block_matrix, R = _create_relations_matrix(
|
|
538
|
+
N,
|
|
539
|
+
[r.dense_coefficient_list() for r in M.relations()],
|
|
540
|
+
source_degs, target_degs)
|
|
541
|
+
|
|
542
|
+
ker = R.right_kernel()
|
|
543
|
+
|
|
544
|
+
res = []
|
|
545
|
+
for b in ker.basis():
|
|
546
|
+
n = 0
|
|
547
|
+
|
|
548
|
+
xs = []
|
|
549
|
+
for j, X in enumerate(block_matrix[0]):
|
|
550
|
+
k = X.domain().dimension()
|
|
551
|
+
xs.append(N.element_from_coordinates(b[n:n + k], source_degs[j]))
|
|
552
|
+
n += k
|
|
553
|
+
|
|
554
|
+
res.append(self(xs))
|
|
555
|
+
if not basis:
|
|
556
|
+
return res[0]
|
|
557
|
+
|
|
558
|
+
# If the code above found a non-trivial homomorphism and ``basis==False``,
|
|
559
|
+
# it will have terminated by now.
|
|
560
|
+
if not res:
|
|
561
|
+
return _trivial_case()
|
|
562
|
+
else:
|
|
563
|
+
return res
|