passagemath-modules 10.6.30__cp310-cp310-macosx_13_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.6.30.dist-info/METADATA +281 -0
- passagemath_modules-10.6.30.dist-info/RECORD +807 -0
- passagemath_modules-10.6.30.dist-info/WHEEL +6 -0
- passagemath_modules-10.6.30.dist-info/top_level.txt +2 -0
- passagemath_modules.dylibs/libgfortran.5.dylib +0 -0
- passagemath_modules.dylibs/libgmp.10.dylib +0 -0
- passagemath_modules.dylibs/libgsl.28.dylib +0 -0
- passagemath_modules.dylibs/libmpc.3.dylib +0 -0
- passagemath_modules.dylibs/libmpfr.6.dylib +0 -0
- passagemath_modules.dylibs/libopenblasp-r0.3.29.dylib +0 -0
- passagemath_modules.dylibs/libquadmath.0.dylib +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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/calculus/integration.pyx +698 -0
- sage/calculus/interpolation.cpython-310-darwin.so +0 -0
- sage/calculus/interpolation.pxd +13 -0
- sage/calculus/interpolation.pyx +387 -0
- sage/calculus/interpolators.cpython-310-darwin.so +0 -0
- sage/calculus/interpolators.pyx +326 -0
- sage/calculus/ode.cpython-310-darwin.so +0 -0
- sage/calculus/ode.pxd +5 -0
- sage/calculus/ode.pyx +610 -0
- sage/calculus/riemann.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/calculus/transforms/dwt.pxd +7 -0
- sage/calculus/transforms/dwt.pyx +160 -0
- sage/calculus/transforms/fft.cpython-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/libs/mpmath/utils.pxd +4 -0
- sage/libs/mpmath/utils.pyx +319 -0
- sage/matrix/action.cpython-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/matrix/constructor.pyx +750 -0
- sage/matrix/docs.py +430 -0
- sage/matrix/echelon_matrix.cpython-310-darwin.so +0 -0
- sage/matrix/echelon_matrix.pyx +155 -0
- sage/matrix/matrix.pxd +2 -0
- sage/matrix/matrix0.cpython-310-darwin.so +0 -0
- sage/matrix/matrix0.pxd +68 -0
- sage/matrix/matrix0.pyx +6324 -0
- sage/matrix/matrix1.cpython-310-darwin.so +0 -0
- sage/matrix/matrix1.pxd +8 -0
- sage/matrix/matrix1.pyx +2851 -0
- sage/matrix/matrix2.cpython-310-darwin.so +0 -0
- sage/matrix/matrix2.pxd +25 -0
- sage/matrix/matrix2.pyx +20181 -0
- sage/matrix/matrix_cdv.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_cdv.pxd +4 -0
- sage/matrix/matrix_cdv.pyx +93 -0
- sage/matrix/matrix_complex_double_dense.cpython-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/matrix/matrix_sparse.pxd +5 -0
- sage/matrix/matrix_sparse.pyx +1222 -0
- sage/matrix/matrix_window.cpython-310-darwin.so +0 -0
- sage/matrix/matrix_window.pxd +37 -0
- sage/matrix/matrix_window.pyx +242 -0
- sage/matrix/misc_mpfr.cpython-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/matroids/basis_exchange_matroid.pxd +96 -0
- sage/matroids/basis_exchange_matroid.pyx +2344 -0
- sage/matroids/basis_matroid.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/matroids/circuit_closures_matroid.pxd +16 -0
- sage/matroids/circuit_closures_matroid.pyx +559 -0
- sage/matroids/circuits_matroid.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/matroids/extension.pxd +34 -0
- sage/matroids/extension.pyx +519 -0
- sage/matroids/flats_matroid.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/matroids/graphic_matroid.pxd +39 -0
- sage/matroids/graphic_matroid.pyx +2024 -0
- sage/matroids/lean_matrix.cpython-310-darwin.so +0 -0
- sage/matroids/lean_matrix.pxd +126 -0
- sage/matroids/lean_matrix.pyx +3667 -0
- sage/matroids/linear_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/linear_matroid.pxd +180 -0
- sage/matroids/linear_matroid.pyx +6649 -0
- sage/matroids/matroid.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/matroids/set_system.pxd +38 -0
- sage/matroids/set_system.pyx +800 -0
- sage/matroids/transversal_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/transversal_matroid.pxd +14 -0
- sage/matroids/transversal_matroid.pyx +893 -0
- sage/matroids/union_matroid.cpython-310-darwin.so +0 -0
- sage/matroids/union_matroid.pxd +20 -0
- sage/matroids/union_matroid.pyx +331 -0
- sage/matroids/unpickling.cpython-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/rings/complex_conversion.pxd +8 -0
- sage/rings/complex_conversion.pyx +23 -0
- sage/rings/complex_double.cpython-310-darwin.so +0 -0
- sage/rings/complex_double.pxd +21 -0
- sage/rings/complex_double.pyx +2654 -0
- sage/rings/complex_mpc.cpython-310-darwin.so +0 -0
- sage/rings/complex_mpc.pxd +21 -0
- sage/rings/complex_mpc.pyx +2576 -0
- sage/rings/complex_mpfr.cpython-310-darwin.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-310-darwin.so +0 -0
- sage/rings/function_field/hermite_form_polynomial.pyx +188 -0
- sage/rings/function_field/khuri_makdisi.cpython-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/rings/real_mpfr.pxd +29 -0
- sage/rings/real_mpfr.pyx +6122 -0
- sage/rings/ring_extension.cpython-310-darwin.so +0 -0
- sage/rings/ring_extension.pxd +42 -0
- sage/rings/ring_extension.pyx +2779 -0
- sage/rings/ring_extension_conversion.cpython-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.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-310-darwin.so +0 -0
- sage/stats/hmm/chmm.pyx +1595 -0
- sage/stats/hmm/distributions.cpython-310-darwin.so +0 -0
- sage/stats/hmm/distributions.pxd +29 -0
- sage/stats/hmm/distributions.pyx +531 -0
- sage/stats/hmm/hmm.cpython-310-darwin.so +0 -0
- sage/stats/hmm/hmm.pxd +17 -0
- sage/stats/hmm/hmm.pyx +1388 -0
- sage/stats/hmm/util.cpython-310-darwin.so +0 -0
- sage/stats/hmm/util.pxd +7 -0
- sage/stats/hmm/util.pyx +165 -0
- sage/stats/intlist.cpython-310-darwin.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-310-darwin.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
|
Binary file
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
from sage.rings.ring_extension cimport RingExtension_generic
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
cpdef backend_parent(R)
|
|
6
|
+
cpdef from_backend_parent(R, RingExtension_generic E)
|
|
7
|
+
|
|
8
|
+
cpdef backend_element(x)
|
|
9
|
+
cpdef from_backend_element(x, RingExtension_generic E)
|
|
10
|
+
|
|
11
|
+
cdef _backend_morphism(f)
|
|
12
|
+
cpdef backend_morphism(f, forget=*)
|
|
13
|
+
cpdef from_backend_morphism(f, RingExtension_generic E)
|
|
14
|
+
|
|
15
|
+
cpdef to_backend(arg)
|
|
16
|
+
cpdef from_backend(arg, E)
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
# sage.doctest: needs sage.rings.finite_rings
|
|
3
|
+
|
|
4
|
+
#############################################################################
|
|
5
|
+
# Copyright (C) 2019 Xavier Caruso <xavier.caruso@normalesup.org>
|
|
6
|
+
#
|
|
7
|
+
# This program is free software: you can redistribute it and/or modify
|
|
8
|
+
# it under the terms of the GNU General Public License as published by
|
|
9
|
+
# the Free Software Foundation, either version 2 of the License, or
|
|
10
|
+
# (at your option) any later version.
|
|
11
|
+
# http://www.gnu.org/licenses/
|
|
12
|
+
#****************************************************************************
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
from sage.structure.parent cimport Parent
|
|
16
|
+
from sage.structure.element cimport Element
|
|
17
|
+
from sage.categories.pushout import construction_tower
|
|
18
|
+
from sage.categories.map cimport Map, FormalCompositeMap
|
|
19
|
+
from sage.categories.morphism import IdentityMorphism
|
|
20
|
+
from sage.rings.ring_extension cimport RingExtension_generic
|
|
21
|
+
from sage.rings.ring_extension_element cimport RingExtensionElement
|
|
22
|
+
from sage.rings.ring_extension_morphism cimport RingExtensionHomomorphism
|
|
23
|
+
from sage.rings.ring_extension_morphism cimport RingExtensionBackendIsomorphism
|
|
24
|
+
from sage.rings.ring_extension_morphism cimport RingExtensionBackendReverseIsomorphism
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
# For parents
|
|
28
|
+
#############
|
|
29
|
+
|
|
30
|
+
cpdef backend_parent(R):
|
|
31
|
+
r"""
|
|
32
|
+
Return the backend parent of ``R``.
|
|
33
|
+
|
|
34
|
+
INPUT:
|
|
35
|
+
|
|
36
|
+
- ``R`` -- a parent
|
|
37
|
+
|
|
38
|
+
EXAMPLES:
|
|
39
|
+
|
|
40
|
+
sage: from sage.rings.ring_extension_conversion import backend_parent
|
|
41
|
+
|
|
42
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
43
|
+
sage: backend_parent(K)
|
|
44
|
+
Finite Field in z2 of size 5^2
|
|
45
|
+
sage: backend_parent(K) is GF(5^2)
|
|
46
|
+
True
|
|
47
|
+
"""
|
|
48
|
+
if isinstance(R, RingExtension_generic):
|
|
49
|
+
return (<RingExtension_generic>R)._backend
|
|
50
|
+
else:
|
|
51
|
+
return R
|
|
52
|
+
|
|
53
|
+
cpdef from_backend_parent(R, RingExtension_generic E):
|
|
54
|
+
r"""
|
|
55
|
+
Try to reconstruct a ring extension (somehow related to ``E``)
|
|
56
|
+
whose backend is ``R``.
|
|
57
|
+
|
|
58
|
+
INPUT:
|
|
59
|
+
|
|
60
|
+
- ``R`` -- a parent
|
|
61
|
+
|
|
62
|
+
- ``E`` -- a ring extension
|
|
63
|
+
|
|
64
|
+
EXAMPLES::
|
|
65
|
+
|
|
66
|
+
sage: from sage.rings.ring_extension_conversion import from_backend_parent
|
|
67
|
+
|
|
68
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
69
|
+
sage: L.<b> = GF(5^4).over(K)
|
|
70
|
+
|
|
71
|
+
sage: from_backend_parent(GF(5^2), K)
|
|
72
|
+
Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
73
|
+
sage: from_backend_parent(GF(5^2), K) is K
|
|
74
|
+
True
|
|
75
|
+
|
|
76
|
+
Bases are recognized::
|
|
77
|
+
|
|
78
|
+
sage: from_backend_parent(GF(5^2), L)
|
|
79
|
+
Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
80
|
+
sage: from_backend_parent(GF(5^2), L) is K
|
|
81
|
+
True
|
|
82
|
+
|
|
83
|
+
And also certain constructions::
|
|
84
|
+
|
|
85
|
+
sage: S.<x> = GF(5^2)[]
|
|
86
|
+
sage: T = from_backend_parent(S, L)
|
|
87
|
+
sage: T
|
|
88
|
+
Univariate Polynomial Ring in x over Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
89
|
+
sage: T.base_ring() is K
|
|
90
|
+
True
|
|
91
|
+
"""
|
|
92
|
+
tower = construction_tower(R)
|
|
93
|
+
bases_tower = [ parent for (_, parent) in tower ]
|
|
94
|
+
for base in E.bases():
|
|
95
|
+
backend = backend_parent(base)
|
|
96
|
+
try:
|
|
97
|
+
s = bases_tower.index(backend)
|
|
98
|
+
ans = base
|
|
99
|
+
for i in range(s, 0, -1):
|
|
100
|
+
functor = tower[i][0]
|
|
101
|
+
ans = functor(ans)
|
|
102
|
+
return ans
|
|
103
|
+
except ValueError:
|
|
104
|
+
pass
|
|
105
|
+
return R
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
# For elements
|
|
109
|
+
##############
|
|
110
|
+
|
|
111
|
+
cpdef backend_element(x):
|
|
112
|
+
r"""
|
|
113
|
+
Return the backend element of ``x``.
|
|
114
|
+
|
|
115
|
+
INPUT:
|
|
116
|
+
|
|
117
|
+
- ``x`` -- an element
|
|
118
|
+
|
|
119
|
+
EXAMPLES:
|
|
120
|
+
|
|
121
|
+
sage: from sage.rings.ring_extension_conversion import backend_element
|
|
122
|
+
|
|
123
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
124
|
+
sage: backend_element(a)
|
|
125
|
+
z2
|
|
126
|
+
sage: backend_element(a) in GF(5^2)
|
|
127
|
+
True
|
|
128
|
+
"""
|
|
129
|
+
if isinstance(x, RingExtensionElement):
|
|
130
|
+
return (<RingExtensionElement>x)._backend
|
|
131
|
+
else:
|
|
132
|
+
return x
|
|
133
|
+
|
|
134
|
+
cpdef from_backend_element(x, RingExtension_generic E):
|
|
135
|
+
r"""
|
|
136
|
+
Try to reconstruct an element in a ring extension (somehow
|
|
137
|
+
related to ``E``) whose backend is ``x``.
|
|
138
|
+
|
|
139
|
+
INPUT:
|
|
140
|
+
|
|
141
|
+
- ``x`` -- an element
|
|
142
|
+
|
|
143
|
+
- ``E`` -- a ring extension
|
|
144
|
+
|
|
145
|
+
EXAMPLES::
|
|
146
|
+
|
|
147
|
+
sage: from sage.rings.ring_extension_conversion import from_backend_element
|
|
148
|
+
|
|
149
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
150
|
+
sage: L.<b> = GF(5^4).over(K)
|
|
151
|
+
sage: z2 = GF(5^2).gen()
|
|
152
|
+
|
|
153
|
+
sage: from_backend_element(z2, K)
|
|
154
|
+
a
|
|
155
|
+
sage: from_backend_element(z2, K).parent() is K
|
|
156
|
+
True
|
|
157
|
+
|
|
158
|
+
Bases are recognized::
|
|
159
|
+
|
|
160
|
+
sage: from_backend_element(z2, L)
|
|
161
|
+
a
|
|
162
|
+
sage: from_backend_element(z2, L).parent() is K
|
|
163
|
+
True
|
|
164
|
+
|
|
165
|
+
And also certain constructions::
|
|
166
|
+
|
|
167
|
+
sage: S.<x> = GF(5^2)[]
|
|
168
|
+
sage: u = from_backend_element(x + z2, L); u
|
|
169
|
+
x + a
|
|
170
|
+
sage: u.parent()
|
|
171
|
+
Univariate Polynomial Ring in x over Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
172
|
+
sage: u.base_ring() is K
|
|
173
|
+
True
|
|
174
|
+
"""
|
|
175
|
+
parent = from_backend_parent(x.parent(),E)
|
|
176
|
+
if parent is None:
|
|
177
|
+
return x
|
|
178
|
+
else:
|
|
179
|
+
return parent(x)
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
# For morphisms
|
|
183
|
+
###############
|
|
184
|
+
|
|
185
|
+
cdef _backend_morphism(f):
|
|
186
|
+
r"""
|
|
187
|
+
Return the backend morphism of ``f``.
|
|
188
|
+
|
|
189
|
+
INPUT:
|
|
190
|
+
|
|
191
|
+
- ``f`` -- a map
|
|
192
|
+
|
|
193
|
+
TESTS::
|
|
194
|
+
|
|
195
|
+
sage: from sage.rings.ring_extension_conversion import backend_morphism
|
|
196
|
+
|
|
197
|
+
sage: Frob = GF(7^3).frobenius_endomorphism()
|
|
198
|
+
sage: backend_morphism(Frob) is Frob # indirect doctest
|
|
199
|
+
True
|
|
200
|
+
|
|
201
|
+
sage: K.<a> = GF(7^3).over()
|
|
202
|
+
sage: f = End(K)(Frob)
|
|
203
|
+
sage: type(f)
|
|
204
|
+
<class 'sage.rings.ring_extension_morphism.RingExtensionHomomorphism'>
|
|
205
|
+
sage: backend_morphism(f) == Frob # indirect doctest
|
|
206
|
+
True
|
|
207
|
+
|
|
208
|
+
sage: L.<b> = GF(7^6).over(K)
|
|
209
|
+
sage: g = f.extend_codomain(L)
|
|
210
|
+
sage: bg = backend_morphism(g); bg
|
|
211
|
+
Composite map:
|
|
212
|
+
From: Finite Field in z3 of size 7^3
|
|
213
|
+
To: Finite Field in z6 of size 7^6
|
|
214
|
+
Defn: Frobenius endomorphism z3 |--> z3^7 on Finite Field in z3 of size 7^3
|
|
215
|
+
then
|
|
216
|
+
Ring morphism:
|
|
217
|
+
From: Finite Field in z3 of size 7^3
|
|
218
|
+
To: Finite Field in z6 of size 7^6
|
|
219
|
+
Defn: z3 |--> 2*z6^4 + 6*z6^3 + 2*z6^2 + 3*z6 + 2
|
|
220
|
+
sage: backend_morphism(bg) == bg
|
|
221
|
+
True
|
|
222
|
+
|
|
223
|
+
sage: iota = End(K).identity()
|
|
224
|
+
sage: type(iota)
|
|
225
|
+
<class 'sage.categories.morphism.IdentityMorphism'>
|
|
226
|
+
sage: backend_morphism(iota)
|
|
227
|
+
Identity endomorphism of Finite Field in z3 of size 7^3
|
|
228
|
+
"""
|
|
229
|
+
domain = f.domain()
|
|
230
|
+
if not isinstance(f.domain(), RingExtension_generic) and not isinstance(f.codomain(), RingExtension_generic):
|
|
231
|
+
return f
|
|
232
|
+
elif isinstance(f, RingExtensionHomomorphism):
|
|
233
|
+
return (<RingExtensionHomomorphism>f)._backend
|
|
234
|
+
elif isinstance(f, FormalCompositeMap):
|
|
235
|
+
return _backend_morphism(f.then()) * _backend_morphism(f.first())
|
|
236
|
+
elif isinstance(f, IdentityMorphism):
|
|
237
|
+
ring = backend_parent(domain)
|
|
238
|
+
return ring.Hom(ring).identity()
|
|
239
|
+
elif domain is domain.base_ring():
|
|
240
|
+
ring = f.codomain()
|
|
241
|
+
if isinstance(ring, RingExtension_generic):
|
|
242
|
+
ring = ring._backend
|
|
243
|
+
if ring.has_coerce_map_from(domain):
|
|
244
|
+
return ring.coerce_map_from(domain)
|
|
245
|
+
raise NotImplementedError
|
|
246
|
+
|
|
247
|
+
cpdef backend_morphism(f, forget='all'):
|
|
248
|
+
r"""
|
|
249
|
+
Return the backend morphism of ``f``.
|
|
250
|
+
|
|
251
|
+
INPUT:
|
|
252
|
+
|
|
253
|
+
- ``f`` -- a map
|
|
254
|
+
|
|
255
|
+
- ``forget`` -- string; either ``'all'`` or ``'domain'`` or ``'codomain'``
|
|
256
|
+
(default: ``'all'``). Whether to switch to the backend for the domain,
|
|
257
|
+
the codomain or both of them.
|
|
258
|
+
|
|
259
|
+
EXAMPLES::
|
|
260
|
+
|
|
261
|
+
sage: from sage.rings.ring_extension_conversion import backend_morphism
|
|
262
|
+
|
|
263
|
+
sage: K.<a> = GF(7^3).over() # over GF(7)
|
|
264
|
+
sage: f = K.hom([a^7])
|
|
265
|
+
sage: f
|
|
266
|
+
Ring endomorphism of Field in a with defining polynomial x^3 + 6*x^2 + 4 over its base
|
|
267
|
+
Defn: a |--> 5*a + 3*a^2
|
|
268
|
+
|
|
269
|
+
sage: backend_morphism(f)
|
|
270
|
+
Ring endomorphism of Finite Field in z3 of size 7^3
|
|
271
|
+
Defn: z3 |--> 3*z3^2 + 5*z3
|
|
272
|
+
|
|
273
|
+
sage: backend_morphism(f, forget='domain')
|
|
274
|
+
Ring morphism:
|
|
275
|
+
From: Finite Field in z3 of size 7^3
|
|
276
|
+
To: Field in a with defining polynomial x^3 + 6*x^2 + 4 over its base
|
|
277
|
+
Defn: z3 |--> 5*a + 3*a^2
|
|
278
|
+
|
|
279
|
+
sage: backend_morphism(f, forget='codomain')
|
|
280
|
+
Ring morphism:
|
|
281
|
+
From: Field in a with defining polynomial x^3 + 6*x^2 + 4 over its base
|
|
282
|
+
To: Finite Field in z3 of size 7^3
|
|
283
|
+
Defn: a |--> 3*z3^2 + 5*z3
|
|
284
|
+
"""
|
|
285
|
+
try:
|
|
286
|
+
g = _backend_morphism(f)
|
|
287
|
+
if forget is None and (isinstance(f.domain(), RingExtension_generic) or isinstance(f.codomain(), RingExtension_generic)):
|
|
288
|
+
g = RingExtensionHomomorphism(f.domain().Hom(f.codomain()), g)
|
|
289
|
+
if forget == "domain" and isinstance(f.codomain(), RingExtension_generic):
|
|
290
|
+
g = RingExtensionHomomorphism(g.domain().Hom(f.codomain()), g)
|
|
291
|
+
if forget == "codomain" and isinstance(f.domain(), RingExtension_generic):
|
|
292
|
+
g = RingExtensionHomomorphism(f.domain().Hom(g.codomain()), g)
|
|
293
|
+
except NotImplementedError:
|
|
294
|
+
g = f
|
|
295
|
+
if (forget == "all" or forget == "domain") and isinstance(f.domain(), RingExtension_generic):
|
|
296
|
+
ring = f.domain()._backend
|
|
297
|
+
g = g * RingExtensionBackendIsomorphism(ring.Hom(f.domain()))
|
|
298
|
+
if (forget == "all" or forget == "codomain") and isinstance(f.codomain(), RingExtension_generic):
|
|
299
|
+
ring = f.codomain()._backend
|
|
300
|
+
g = RingExtensionBackendReverseIsomorphism(f.codomain().Hom(ring)) * g
|
|
301
|
+
return g
|
|
302
|
+
|
|
303
|
+
cpdef from_backend_morphism(f, RingExtension_generic E):
|
|
304
|
+
r"""
|
|
305
|
+
Try to reconstruct a morphism between ring extensions
|
|
306
|
+
(somehow related to ``E``) whose backend is ``f``.
|
|
307
|
+
|
|
308
|
+
INPUT:
|
|
309
|
+
|
|
310
|
+
- ``x`` -- a morphism
|
|
311
|
+
|
|
312
|
+
- ``E`` -- a ring extension
|
|
313
|
+
|
|
314
|
+
EXAMPLES::
|
|
315
|
+
|
|
316
|
+
sage: from sage.rings.ring_extension_conversion import from_backend_morphism
|
|
317
|
+
|
|
318
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
319
|
+
sage: L.<b> = GF(5^6).over(K)
|
|
320
|
+
|
|
321
|
+
sage: Frob = GF(5^2).frobenius_endomorphism()
|
|
322
|
+
sage: from_backend_morphism(Frob, K)
|
|
323
|
+
Ring endomorphism of Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
324
|
+
Defn: a |--> 1 - a
|
|
325
|
+
|
|
326
|
+
Bases are recognized::
|
|
327
|
+
|
|
328
|
+
sage: from_backend_morphism(Frob, L)
|
|
329
|
+
Ring endomorphism of Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
330
|
+
Defn: a |--> 1 - a
|
|
331
|
+
"""
|
|
332
|
+
cdef domain = from_backend_parent(f.domain(), E)
|
|
333
|
+
cdef codomain = from_backend_parent(f.codomain(), E)
|
|
334
|
+
return RingExtensionHomomorphism(domain.Hom(codomain), f)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
# Generic
|
|
338
|
+
#########
|
|
339
|
+
|
|
340
|
+
cpdef to_backend(arg):
|
|
341
|
+
r"""
|
|
342
|
+
Return the backend of ``arg``.
|
|
343
|
+
|
|
344
|
+
EXAMPLES::
|
|
345
|
+
|
|
346
|
+
sage: from sage.rings.ring_extension_conversion import to_backend
|
|
347
|
+
|
|
348
|
+
This function accepts parents::
|
|
349
|
+
|
|
350
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
351
|
+
sage: to_backend(K)
|
|
352
|
+
Finite Field in z2 of size 5^2
|
|
353
|
+
|
|
354
|
+
elements::
|
|
355
|
+
|
|
356
|
+
sage: to_backend(a)
|
|
357
|
+
z2
|
|
358
|
+
|
|
359
|
+
morphisms::
|
|
360
|
+
|
|
361
|
+
sage: f = K.hom([a^5])
|
|
362
|
+
sage: to_backend(f)
|
|
363
|
+
Ring endomorphism of Finite Field in z2 of size 5^2
|
|
364
|
+
Defn: z2 |--> 4*z2 + 1
|
|
365
|
+
|
|
366
|
+
list/tuple of them::
|
|
367
|
+
|
|
368
|
+
sage: to_backend(([K, a], f))
|
|
369
|
+
([Finite Field in z2 of size 5^2, z2],
|
|
370
|
+
Ring endomorphism of Finite Field in z2 of size 5^2
|
|
371
|
+
Defn: z2 |--> 4*z2 + 1)
|
|
372
|
+
|
|
373
|
+
and dictionaries::
|
|
374
|
+
|
|
375
|
+
sage: to_backend({a: K})
|
|
376
|
+
{z2: Finite Field in z2 of size 5^2}
|
|
377
|
+
|
|
378
|
+
.. SEEALSO::
|
|
379
|
+
|
|
380
|
+
:meth:`to_backend_parent`, :meth:`to_backend_element`, :meth:`to_backend_morphism`
|
|
381
|
+
"""
|
|
382
|
+
if isinstance(arg, list):
|
|
383
|
+
return [ to_backend(x) for x in arg ]
|
|
384
|
+
elif isinstance(arg, tuple):
|
|
385
|
+
return tuple([ to_backend(x) for x in arg ])
|
|
386
|
+
elif isinstance(arg, dict):
|
|
387
|
+
return { to_backend(key): to_backend(value) for (key, value) in arg.items() }
|
|
388
|
+
elif isinstance(arg, RingExtension_generic):
|
|
389
|
+
return (<RingExtension_generic>arg)._backend
|
|
390
|
+
elif isinstance(arg, Map):
|
|
391
|
+
return backend_morphism(arg)
|
|
392
|
+
elif isinstance(arg, RingExtensionElement):
|
|
393
|
+
return (<RingExtensionElement>arg)._backend
|
|
394
|
+
return arg
|
|
395
|
+
|
|
396
|
+
cpdef from_backend(arg, E):
|
|
397
|
+
r"""
|
|
398
|
+
Try to reconstruct something (somehow related to ``E``)
|
|
399
|
+
whose backend is ``arg``.
|
|
400
|
+
|
|
401
|
+
INPUT:
|
|
402
|
+
|
|
403
|
+
- ``arg`` -- any argument
|
|
404
|
+
|
|
405
|
+
- ``E`` -- a ring extension
|
|
406
|
+
|
|
407
|
+
EXAMPLES::
|
|
408
|
+
|
|
409
|
+
sage: from sage.rings.ring_extension_conversion import from_backend
|
|
410
|
+
|
|
411
|
+
This function accepts parents::
|
|
412
|
+
|
|
413
|
+
sage: K.<a> = GF(5^2).over() # over GF(5)
|
|
414
|
+
sage: from_backend(GF(5^2), K)
|
|
415
|
+
Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
416
|
+
|
|
417
|
+
elements::
|
|
418
|
+
|
|
419
|
+
sage: z2 = GF(5^2).gen()
|
|
420
|
+
sage: from_backend(z2, K)
|
|
421
|
+
a
|
|
422
|
+
|
|
423
|
+
morphisms::
|
|
424
|
+
|
|
425
|
+
sage: f = GF(5^2).frobenius_endomorphism()
|
|
426
|
+
sage: from_backend(f, K)
|
|
427
|
+
Ring endomorphism of Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
428
|
+
Defn: a |--> 1 - a
|
|
429
|
+
|
|
430
|
+
list/tuple of them::
|
|
431
|
+
|
|
432
|
+
sage: from_backend(([K, a], f), K)
|
|
433
|
+
([Field in a with defining polynomial x^2 + 4*x + 2 over its base, a],
|
|
434
|
+
Ring endomorphism of Field in a with defining polynomial x^2 + 4*x + 2 over its base
|
|
435
|
+
Defn: a |--> 1 - a)
|
|
436
|
+
|
|
437
|
+
and dictionaries::
|
|
438
|
+
|
|
439
|
+
sage: from_backend({a: K}, K)
|
|
440
|
+
{a: Field in a with defining polynomial x^2 + 4*x + 2 over its base}
|
|
441
|
+
|
|
442
|
+
.. SEEALSO::
|
|
443
|
+
|
|
444
|
+
:meth:`from_backend_parent`, :meth:`from_backend_element`, :meth:`from_backend_morphism`
|
|
445
|
+
"""
|
|
446
|
+
ans = None
|
|
447
|
+
if isinstance(arg, list):
|
|
448
|
+
ans = [ from_backend(x,E) for x in arg ]
|
|
449
|
+
elif isinstance(arg, tuple):
|
|
450
|
+
ans = tuple([ from_backend(x,E) for x in arg ])
|
|
451
|
+
elif isinstance(arg, dict):
|
|
452
|
+
ans = { from_backend(key,E): from_backend(value,E) for (key, value) in arg.items() }
|
|
453
|
+
elif isinstance(arg, Parent):
|
|
454
|
+
ans = from_backend_parent(arg,E)
|
|
455
|
+
elif isinstance(arg, Map):
|
|
456
|
+
ans = from_backend_morphism(arg,E)
|
|
457
|
+
elif isinstance(arg, Element):
|
|
458
|
+
ans = from_backend_element(arg,E)
|
|
459
|
+
if ans is None:
|
|
460
|
+
return arg
|
|
461
|
+
else:
|
|
462
|
+
return ans
|
|
Binary file
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
from sage.structure.parent cimport Parent
|
|
3
|
+
from sage.structure.element cimport Element
|
|
4
|
+
from sage.structure.element cimport CommutativeAlgebraElement
|
|
5
|
+
from sage.rings.ring_extension cimport RingExtension_generic
|
|
6
|
+
from sage.rings.ring_extension cimport RingExtensionFractionField
|
|
7
|
+
from sage.rings.ring_extension cimport RingExtensionWithBasis
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
cdef class RingExtensionElement(CommutativeAlgebraElement):
|
|
11
|
+
cdef Element _backend
|
|
12
|
+
|
|
13
|
+
cdef class RingExtensionFractionFieldElement(RingExtensionElement):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
cdef class RingExtensionWithBasisElement(RingExtensionElement):
|
|
17
|
+
cdef _vector(self, Parent base)
|
|
18
|
+
cdef _matrix(self, Parent base)
|
|
19
|
+
cdef _trace(self, Parent base)
|
|
20
|
+
cdef _norm(self, Parent base)
|
|
21
|
+
cpdef minpoly(self, base=*, var=*)
|