passagemath-modules 10.6.31__cp314-cp314-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.31.dist-info/METADATA +281 -0
- passagemath_modules-10.6.31.dist-info/RECORD +807 -0
- passagemath_modules-10.6.31.dist-info/WHEEL +6 -0
- passagemath_modules-10.6.31.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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/calculus/integration.pyx +698 -0
- sage/calculus/interpolation.cpython-314-darwin.so +0 -0
- sage/calculus/interpolation.pxd +13 -0
- sage/calculus/interpolation.pyx +387 -0
- sage/calculus/interpolators.cpython-314-darwin.so +0 -0
- sage/calculus/interpolators.pyx +326 -0
- sage/calculus/ode.cpython-314-darwin.so +0 -0
- sage/calculus/ode.pxd +5 -0
- sage/calculus/ode.pyx +610 -0
- sage/calculus/riemann.cpython-314-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-314-darwin.so +0 -0
- sage/calculus/transforms/dwt.pxd +7 -0
- sage/calculus/transforms/dwt.pyx +160 -0
- sage/calculus/transforms/fft.cpython-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/libs/mpmath/utils.pxd +4 -0
- sage/libs/mpmath/utils.pyx +319 -0
- sage/matrix/action.cpython-314-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-314-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-314-darwin.so +0 -0
- sage/matrix/constructor.pyx +750 -0
- sage/matrix/docs.py +430 -0
- sage/matrix/echelon_matrix.cpython-314-darwin.so +0 -0
- sage/matrix/echelon_matrix.pyx +155 -0
- sage/matrix/matrix.pxd +2 -0
- sage/matrix/matrix0.cpython-314-darwin.so +0 -0
- sage/matrix/matrix0.pxd +68 -0
- sage/matrix/matrix0.pyx +6324 -0
- sage/matrix/matrix1.cpython-314-darwin.so +0 -0
- sage/matrix/matrix1.pxd +8 -0
- sage/matrix/matrix1.pyx +2851 -0
- sage/matrix/matrix2.cpython-314-darwin.so +0 -0
- sage/matrix/matrix2.pxd +25 -0
- sage/matrix/matrix2.pyx +20181 -0
- sage/matrix/matrix_cdv.cpython-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/matrix/matrix_sparse.pxd +5 -0
- sage/matrix/matrix_sparse.pyx +1222 -0
- sage/matrix/matrix_window.cpython-314-darwin.so +0 -0
- sage/matrix/matrix_window.pxd +37 -0
- sage/matrix/matrix_window.pyx +242 -0
- sage/matrix/misc_mpfr.cpython-314-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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/matroids/extension.pxd +34 -0
- sage/matroids/extension.pyx +519 -0
- sage/matroids/flats_matroid.cpython-314-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-314-darwin.so +0 -0
- sage/matroids/graphic_matroid.pxd +39 -0
- sage/matroids/graphic_matroid.pyx +2024 -0
- sage/matroids/lean_matrix.cpython-314-darwin.so +0 -0
- sage/matroids/lean_matrix.pxd +126 -0
- sage/matroids/lean_matrix.pyx +3667 -0
- sage/matroids/linear_matroid.cpython-314-darwin.so +0 -0
- sage/matroids/linear_matroid.pxd +180 -0
- sage/matroids/linear_matroid.pyx +6649 -0
- sage/matroids/matroid.cpython-314-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-314-darwin.so +0 -0
- sage/matroids/set_system.pxd +38 -0
- sage/matroids/set_system.pyx +800 -0
- sage/matroids/transversal_matroid.cpython-314-darwin.so +0 -0
- sage/matroids/transversal_matroid.pxd +14 -0
- sage/matroids/transversal_matroid.pyx +893 -0
- sage/matroids/union_matroid.cpython-314-darwin.so +0 -0
- sage/matroids/union_matroid.pxd +20 -0
- sage/matroids/union_matroid.pyx +331 -0
- sage/matroids/unpickling.cpython-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/rings/complex_conversion.pxd +8 -0
- sage/rings/complex_conversion.pyx +23 -0
- sage/rings/complex_double.cpython-314-darwin.so +0 -0
- sage/rings/complex_double.pxd +21 -0
- sage/rings/complex_double.pyx +2654 -0
- sage/rings/complex_mpc.cpython-314-darwin.so +0 -0
- sage/rings/complex_mpc.pxd +21 -0
- sage/rings/complex_mpc.pyx +2576 -0
- sage/rings/complex_mpfr.cpython-314-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-314-darwin.so +0 -0
- sage/rings/function_field/hermite_form_polynomial.pyx +188 -0
- sage/rings/function_field/khuri_makdisi.cpython-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/rings/real_mpfr.pxd +29 -0
- sage/rings/real_mpfr.pyx +6122 -0
- sage/rings/ring_extension.cpython-314-darwin.so +0 -0
- sage/rings/ring_extension.pxd +42 -0
- sage/rings/ring_extension.pyx +2779 -0
- sage/rings/ring_extension_conversion.cpython-314-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-314-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-314-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-314-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-314-darwin.so +0 -0
- sage/stats/hmm/chmm.pyx +1595 -0
- sage/stats/hmm/distributions.cpython-314-darwin.so +0 -0
- sage/stats/hmm/distributions.pxd +29 -0
- sage/stats/hmm/distributions.pyx +531 -0
- sage/stats/hmm/hmm.cpython-314-darwin.so +0 -0
- sage/stats/hmm/hmm.pxd +17 -0
- sage/stats/hmm/hmm.pyx +1388 -0
- sage/stats/hmm/util.cpython-314-darwin.so +0 -0
- sage/stats/hmm/util.pxd +7 -0
- sage/stats/hmm/util.pyx +165 -0
- sage/stats/intlist.cpython-314-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-314-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
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
# sage.doctest: needs sage.combinat
|
|
3
|
+
r"""
|
|
4
|
+
Cryptosystems
|
|
5
|
+
|
|
6
|
+
This module contains base classes for various cryptosystems, including
|
|
7
|
+
symmetric key and public-key cryptosystems. The classes defined in this
|
|
8
|
+
module should not be called directly. It is the responsibility of child
|
|
9
|
+
classes to implement specific cryptosystems.
|
|
10
|
+
|
|
11
|
+
Take for example the
|
|
12
|
+
Hill or matrix cryptosystem as implemented in
|
|
13
|
+
:class:`HillCryptosystem <sage.crypto.classical.HillCryptosystem>`. It is a
|
|
14
|
+
symmetric key cipher so
|
|
15
|
+
:class:`HillCryptosystem <sage.crypto.classical.HillCryptosystem>` is a child
|
|
16
|
+
class of
|
|
17
|
+
:class:`SymmetricKeyCryptosystem <sage.crypto.cryptosystem.SymmetricKeyCryptosystem>`,
|
|
18
|
+
which in turn is a child class of
|
|
19
|
+
:class:`Cryptosystem <sage.crypto.cryptosystem.Cryptosystem>`. The following
|
|
20
|
+
diagram shows the inheritance relationship of particular cryptosystems::
|
|
21
|
+
|
|
22
|
+
Cryptosystem
|
|
23
|
+
+ SymmetricKeyCryptosystem
|
|
24
|
+
| + HillCryptosystem
|
|
25
|
+
| + LFSRCryptosystem
|
|
26
|
+
| + ShiftCryptosystem
|
|
27
|
+
| + ShrinkingGeneratorCryptosystem
|
|
28
|
+
| + SubstitutionCryptosystem
|
|
29
|
+
| + TranspositionCryptosystem
|
|
30
|
+
| + VigenereCryptosystem
|
|
31
|
+
+ PublicKeyCryptosystem
|
|
32
|
+
"""
|
|
33
|
+
# ****************************************************************************
|
|
34
|
+
# Copyright (C) 2007 David Kohel <kohel@maths.usyd.edu.au>
|
|
35
|
+
#
|
|
36
|
+
# Distributed under the terms of the GNU General Public License (GPL)
|
|
37
|
+
#
|
|
38
|
+
# https://www.gnu.org/licenses/
|
|
39
|
+
# ****************************************************************************
|
|
40
|
+
from sage.sets.set import Set_generic
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
class Cryptosystem(Set_generic):
|
|
44
|
+
r"""
|
|
45
|
+
A base cryptosystem class. This is meant to be extended by other
|
|
46
|
+
specialized child classes that implement specific cryptosystems.
|
|
47
|
+
|
|
48
|
+
A cryptosystem is a pair of maps
|
|
49
|
+
|
|
50
|
+
.. MATH::
|
|
51
|
+
|
|
52
|
+
E : {\mathcal K} \rightarrow {\rm Hom}({\mathcal M},{\mathcal C})
|
|
53
|
+
|
|
54
|
+
.. MATH::
|
|
55
|
+
|
|
56
|
+
D : {\mathcal K} \rightarrow {\rm Hom}({\mathcal C},{\mathcal M})
|
|
57
|
+
|
|
58
|
+
where `{\mathcal K}` is the key space,
|
|
59
|
+
`{\mathcal M}` is the plaintext or message space, and
|
|
60
|
+
`{\mathcal C}` is the ciphertext space. In many instances
|
|
61
|
+
`{\mathcal M} = {\mathcal C}` and the images will lie in
|
|
62
|
+
`{\rm Aut}({\mathcal M})`. An element of the image of
|
|
63
|
+
`E` is called a cipher.
|
|
64
|
+
|
|
65
|
+
We may assume that `E` and `D` are injective, hence
|
|
66
|
+
identify a key `K` in `{\mathcal K}` with its image
|
|
67
|
+
`E_K := E(K)` in
|
|
68
|
+
`\mathrm{Hom}({\mathcal M},{\mathcal C})`.
|
|
69
|
+
|
|
70
|
+
The cryptosystem has the property that for every encryption key
|
|
71
|
+
`K_1` there is a decryption key `K_2` such that
|
|
72
|
+
`D_{K_2} \circ E_{K_1}`. A cryptosystem with the
|
|
73
|
+
property that `K := K_2 = K_1`, is called a symmetric
|
|
74
|
+
cryptosystem. Otherwise, if the key `K_2 \ne K_1`, nor is
|
|
75
|
+
`K_2` easily derived from `K_1`, we call the
|
|
76
|
+
cryptosystem asymmetric or public key. In that case, `K_1`
|
|
77
|
+
is called the public key and `K_2` is called the private
|
|
78
|
+
key.
|
|
79
|
+
|
|
80
|
+
INPUT:
|
|
81
|
+
|
|
82
|
+
- ``plaintext_space`` -- the plaintext alphabet
|
|
83
|
+
|
|
84
|
+
- ``ciphertext_space`` -- the ciphertext alphabet
|
|
85
|
+
|
|
86
|
+
- ``key_space`` -- the key alphabet
|
|
87
|
+
|
|
88
|
+
- ``block_length`` -- (default: 1) the block length
|
|
89
|
+
|
|
90
|
+
- ``period`` -- (default: ``None``) the period
|
|
91
|
+
|
|
92
|
+
EXAMPLES:
|
|
93
|
+
|
|
94
|
+
Various classical cryptosystems::
|
|
95
|
+
|
|
96
|
+
sage: ShiftCryptosystem(AlphabeticStrings())
|
|
97
|
+
Shift cryptosystem on Free alphabetic string monoid on A-Z
|
|
98
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings())
|
|
99
|
+
Substitution cryptosystem on Free hexadecimal string monoid
|
|
100
|
+
sage: HillCryptosystem(BinaryStrings(), 3)
|
|
101
|
+
Hill cryptosystem on Free binary string monoid of block length 3
|
|
102
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5) # needs sage.groups
|
|
103
|
+
Transposition cryptosystem on Free octal string monoid of block length 5
|
|
104
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7)
|
|
105
|
+
Vigenere cryptosystem on Free radix 64 string monoid of period 7
|
|
106
|
+
"""
|
|
107
|
+
def __init__(self, plaintext_space, ciphertext_space, key_space,
|
|
108
|
+
block_length=1, period=None):
|
|
109
|
+
r"""
|
|
110
|
+
Create a ``Cryptosystem`` object. See the class ``Cryptosystem``
|
|
111
|
+
for detailed documentation.
|
|
112
|
+
|
|
113
|
+
INPUT:
|
|
114
|
+
|
|
115
|
+
- ``plaintext_space`` -- the plaintext alphabet
|
|
116
|
+
|
|
117
|
+
- ``ciphertext_space`` -- the ciphertext alphabet
|
|
118
|
+
|
|
119
|
+
- ``key_space`` -- the key alphabet
|
|
120
|
+
|
|
121
|
+
- ``block_length`` -- (default: 1) the block length
|
|
122
|
+
|
|
123
|
+
- ``period`` -- (default: ``None``) the period
|
|
124
|
+
|
|
125
|
+
EXAMPLES:
|
|
126
|
+
|
|
127
|
+
Various classical cryptosystems::
|
|
128
|
+
|
|
129
|
+
sage: ShiftCryptosystem(AlphabeticStrings())
|
|
130
|
+
Shift cryptosystem on Free alphabetic string monoid on A-Z
|
|
131
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings())
|
|
132
|
+
Substitution cryptosystem on Free hexadecimal string monoid
|
|
133
|
+
sage: HillCryptosystem(BinaryStrings(), 3)
|
|
134
|
+
Hill cryptosystem on Free binary string monoid of block length 3
|
|
135
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5) # needs sage.groups
|
|
136
|
+
Transposition cryptosystem on Free octal string monoid of block length 5
|
|
137
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7)
|
|
138
|
+
Vigenere cryptosystem on Free radix 64 string monoid of period 7
|
|
139
|
+
"""
|
|
140
|
+
self._cipher_domain = plaintext_space
|
|
141
|
+
self._cipher_codomain = ciphertext_space
|
|
142
|
+
self._key_space = key_space
|
|
143
|
+
self._block_length = block_length
|
|
144
|
+
self._period = period
|
|
145
|
+
|
|
146
|
+
def __eq__(self, right):
|
|
147
|
+
r"""
|
|
148
|
+
Comparing ``self`` with ``right``.
|
|
149
|
+
|
|
150
|
+
Two ``Cryptosystem`` objects
|
|
151
|
+
are the same if they satisfy all of these conditions:
|
|
152
|
+
|
|
153
|
+
- share the same type
|
|
154
|
+
- have the same cipher domain
|
|
155
|
+
- have the same cipher codomain
|
|
156
|
+
- share the same key space
|
|
157
|
+
- share the same block length
|
|
158
|
+
- have the same period
|
|
159
|
+
|
|
160
|
+
INPUT:
|
|
161
|
+
|
|
162
|
+
- ``right`` -- a ``Cryptosystem`` object
|
|
163
|
+
|
|
164
|
+
EXAMPLES:
|
|
165
|
+
|
|
166
|
+
Pairs of equivalent classical cryptosystems::
|
|
167
|
+
|
|
168
|
+
sage: sub1 = SubstitutionCryptosystem(AlphabeticStrings())
|
|
169
|
+
sage: sub2 = SubstitutionCryptosystem(AlphabeticStrings())
|
|
170
|
+
sage: sub1 == sub2
|
|
171
|
+
True
|
|
172
|
+
sage: shift1 = ShiftCryptosystem(HexadecimalStrings())
|
|
173
|
+
sage: shift2 = ShiftCryptosystem(HexadecimalStrings())
|
|
174
|
+
sage: shift1 == shift2
|
|
175
|
+
True
|
|
176
|
+
sage: hill1 = HillCryptosystem(AlphabeticStrings(), 4)
|
|
177
|
+
sage: hill2 = HillCryptosystem(AlphabeticStrings(), 4)
|
|
178
|
+
sage: hill1 == hill2
|
|
179
|
+
True
|
|
180
|
+
sage: tran1 = TranspositionCryptosystem(HexadecimalStrings(), 5) # needs sage.groups
|
|
181
|
+
sage: tran2 = TranspositionCryptosystem(HexadecimalStrings(), 5) # needs sage.groups
|
|
182
|
+
sage: tran1 == tran2 # needs sage.groups
|
|
183
|
+
True
|
|
184
|
+
sage: vig1 = VigenereCryptosystem(AlphabeticStrings(), 7)
|
|
185
|
+
sage: vig2 = VigenereCryptosystem(AlphabeticStrings(), 7)
|
|
186
|
+
sage: vig1 == vig2
|
|
187
|
+
True
|
|
188
|
+
|
|
189
|
+
Pairs of different classical cryptosystems::
|
|
190
|
+
|
|
191
|
+
sage: sub1 = SubstitutionCryptosystem(AlphabeticStrings())
|
|
192
|
+
sage: sub2 = SubstitutionCryptosystem(OctalStrings())
|
|
193
|
+
sage: sub1 == sub2
|
|
194
|
+
False
|
|
195
|
+
sage: shift1 = ShiftCryptosystem(HexadecimalStrings())
|
|
196
|
+
sage: shift2 = ShiftCryptosystem(BinaryStrings())
|
|
197
|
+
sage: shift1 == shift2
|
|
198
|
+
False
|
|
199
|
+
sage: hill1 = HillCryptosystem(Radix64Strings(), 4)
|
|
200
|
+
sage: hill2 = HillCryptosystem(Radix64Strings(), 5)
|
|
201
|
+
sage: hill1 == hill2
|
|
202
|
+
False
|
|
203
|
+
sage: tran1 = TranspositionCryptosystem(Radix64Strings(), 3) # needs sage.groups
|
|
204
|
+
sage: tran2 = TranspositionCryptosystem(HexadecimalStrings(), 3) # needs sage.groups
|
|
205
|
+
sage: tran1 == tran2 # needs sage.groups
|
|
206
|
+
False
|
|
207
|
+
sage: vig1 = VigenereCryptosystem(AlphabeticStrings(), 7)
|
|
208
|
+
sage: vig2 = VigenereCryptosystem(Radix64Strings(), 7)
|
|
209
|
+
sage: vig1 == vig2
|
|
210
|
+
False
|
|
211
|
+
"""
|
|
212
|
+
return (type(self) is type(right) and
|
|
213
|
+
self._cipher_domain == right._cipher_domain and
|
|
214
|
+
self._cipher_codomain == right._cipher_codomain and
|
|
215
|
+
self._key_space == right._key_space and
|
|
216
|
+
self._block_length == right._block_length and
|
|
217
|
+
self._period == right._period)
|
|
218
|
+
|
|
219
|
+
def plaintext_space(self):
|
|
220
|
+
r"""
|
|
221
|
+
Return the plaintext alphabet of this cryptosystem.
|
|
222
|
+
|
|
223
|
+
EXAMPLES:
|
|
224
|
+
|
|
225
|
+
The plaintext spaces of various classical cryptosystems::
|
|
226
|
+
|
|
227
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).plaintext_space()
|
|
228
|
+
Free alphabetic string monoid on A-Z
|
|
229
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).plaintext_space()
|
|
230
|
+
Free hexadecimal string monoid
|
|
231
|
+
sage: HillCryptosystem(BinaryStrings(), 3).plaintext_space()
|
|
232
|
+
Free binary string monoid
|
|
233
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).plaintext_space() # needs sage.groups
|
|
234
|
+
Free octal string monoid
|
|
235
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).plaintext_space()
|
|
236
|
+
Free radix 64 string monoid
|
|
237
|
+
"""
|
|
238
|
+
return self._cipher_domain
|
|
239
|
+
|
|
240
|
+
def cipher_domain(self):
|
|
241
|
+
r"""
|
|
242
|
+
Return the alphabet used by this cryptosystem for encoding plaintexts.
|
|
243
|
+
This is the same as the plaintext space.
|
|
244
|
+
|
|
245
|
+
EXAMPLES:
|
|
246
|
+
|
|
247
|
+
The cipher domains, or plaintext spaces, of various classical
|
|
248
|
+
cryptosystems::
|
|
249
|
+
|
|
250
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).cipher_domain()
|
|
251
|
+
Free alphabetic string monoid on A-Z
|
|
252
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).cipher_domain()
|
|
253
|
+
Free hexadecimal string monoid
|
|
254
|
+
sage: HillCryptosystem(BinaryStrings(), 3).cipher_domain()
|
|
255
|
+
Free binary string monoid
|
|
256
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).cipher_domain() # needs sage.groups
|
|
257
|
+
Free octal string monoid
|
|
258
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).cipher_domain()
|
|
259
|
+
Free radix 64 string monoid
|
|
260
|
+
"""
|
|
261
|
+
return self._cipher_domain
|
|
262
|
+
|
|
263
|
+
def ciphertext_space(self):
|
|
264
|
+
r"""
|
|
265
|
+
Return the ciphertext alphabet of this cryptosystem.
|
|
266
|
+
|
|
267
|
+
EXAMPLES:
|
|
268
|
+
|
|
269
|
+
The ciphertext spaces of various classical cryptosystems::
|
|
270
|
+
|
|
271
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).ciphertext_space()
|
|
272
|
+
Free alphabetic string monoid on A-Z
|
|
273
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).ciphertext_space()
|
|
274
|
+
Free hexadecimal string monoid
|
|
275
|
+
sage: HillCryptosystem(BinaryStrings(), 3).ciphertext_space()
|
|
276
|
+
Free binary string monoid
|
|
277
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).ciphertext_space() # needs sage.groups
|
|
278
|
+
Free octal string monoid
|
|
279
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).ciphertext_space()
|
|
280
|
+
Free radix 64 string monoid
|
|
281
|
+
"""
|
|
282
|
+
return self._cipher_codomain
|
|
283
|
+
|
|
284
|
+
def cipher_codomain(self):
|
|
285
|
+
r"""
|
|
286
|
+
Return the alphabet used by this cryptosystem for encoding ciphertexts.
|
|
287
|
+
This is the same as the ciphertext space.
|
|
288
|
+
|
|
289
|
+
EXAMPLES:
|
|
290
|
+
|
|
291
|
+
The cipher codomains, or ciphertext spaces, of various classical
|
|
292
|
+
cryptosystems::
|
|
293
|
+
|
|
294
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).cipher_codomain()
|
|
295
|
+
Free alphabetic string monoid on A-Z
|
|
296
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).cipher_codomain()
|
|
297
|
+
Free hexadecimal string monoid
|
|
298
|
+
sage: HillCryptosystem(BinaryStrings(), 3).cipher_codomain()
|
|
299
|
+
Free binary string monoid
|
|
300
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).cipher_codomain() # needs sage.groups
|
|
301
|
+
Free octal string monoid
|
|
302
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).cipher_codomain()
|
|
303
|
+
Free radix 64 string monoid
|
|
304
|
+
"""
|
|
305
|
+
return self._cipher_codomain
|
|
306
|
+
|
|
307
|
+
def key_space(self):
|
|
308
|
+
r"""
|
|
309
|
+
Return the alphabet used by this cryptosystem for encoding keys.
|
|
310
|
+
|
|
311
|
+
EXAMPLES:
|
|
312
|
+
|
|
313
|
+
The key spaces of various classical cryptosystems::
|
|
314
|
+
|
|
315
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).key_space()
|
|
316
|
+
Ring of integers modulo 26
|
|
317
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).key_space()
|
|
318
|
+
Free hexadecimal string monoid
|
|
319
|
+
sage: HillCryptosystem(BinaryStrings(), 3).key_space()
|
|
320
|
+
Full MatrixSpace of 3 by 3 dense matrices over Ring of integers modulo 2
|
|
321
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).key_space() # needs sage.groups
|
|
322
|
+
Symmetric group of order 5! as a permutation group
|
|
323
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).key_space()
|
|
324
|
+
Free radix 64 string monoid
|
|
325
|
+
"""
|
|
326
|
+
return self._key_space
|
|
327
|
+
|
|
328
|
+
def block_length(self):
|
|
329
|
+
r"""
|
|
330
|
+
Return the block length of this cryptosystem.
|
|
331
|
+
|
|
332
|
+
For some cryptosystems
|
|
333
|
+
this is not relevant, in which case the block length defaults to 1.
|
|
334
|
+
|
|
335
|
+
EXAMPLES:
|
|
336
|
+
|
|
337
|
+
The block lengths of various classical cryptosystems::
|
|
338
|
+
|
|
339
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).block_length()
|
|
340
|
+
1
|
|
341
|
+
sage: SubstitutionCryptosystem(HexadecimalStrings()).block_length()
|
|
342
|
+
1
|
|
343
|
+
sage: HillCryptosystem(BinaryStrings(), 3).block_length()
|
|
344
|
+
3
|
|
345
|
+
sage: TranspositionCryptosystem(OctalStrings(), 5).block_length() # needs sage.groups
|
|
346
|
+
5
|
|
347
|
+
sage: VigenereCryptosystem(Radix64Strings(), 7).block_length()
|
|
348
|
+
1
|
|
349
|
+
"""
|
|
350
|
+
return self._block_length
|
|
351
|
+
|
|
352
|
+
def period(self):
|
|
353
|
+
if self._period is None:
|
|
354
|
+
raise TypeError("Argument has no associated period.")
|
|
355
|
+
return self._period
|
|
356
|
+
|
|
357
|
+
|
|
358
|
+
class SymmetricKeyCryptosystem(Cryptosystem):
|
|
359
|
+
r"""
|
|
360
|
+
The base class for symmetric key, or secret key, cryptosystems.
|
|
361
|
+
"""
|
|
362
|
+
def alphabet_size(self):
|
|
363
|
+
r"""
|
|
364
|
+
Return the number of elements in the alphabet of this
|
|
365
|
+
cryptosystem. This only applies to any cryptosystem whose plaintext
|
|
366
|
+
and ciphertext spaces are the same alphabet.
|
|
367
|
+
|
|
368
|
+
EXAMPLES::
|
|
369
|
+
|
|
370
|
+
sage: ShiftCryptosystem(AlphabeticStrings()).alphabet_size()
|
|
371
|
+
26
|
|
372
|
+
sage: ShiftCryptosystem(BinaryStrings()).alphabet_size()
|
|
373
|
+
2
|
|
374
|
+
sage: ShiftCryptosystem(HexadecimalStrings()).alphabet_size()
|
|
375
|
+
16
|
|
376
|
+
sage: SubstitutionCryptosystem(OctalStrings()).alphabet_size()
|
|
377
|
+
8
|
|
378
|
+
sage: SubstitutionCryptosystem(Radix64Strings()).alphabet_size()
|
|
379
|
+
64
|
|
380
|
+
"""
|
|
381
|
+
return self._cipher_domain.ngens()
|
|
382
|
+
|
|
383
|
+
|
|
384
|
+
class PublicKeyCryptosystem(Cryptosystem):
|
|
385
|
+
r"""
|
|
386
|
+
The base class for asymmetric or public-key cryptosystems.
|
|
387
|
+
"""
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
from sage.misc.lazy_import import lazy_import
|
|
3
|
+
|
|
4
|
+
lazy_import('sage.crypto.key_exchange.diffie_hellman', 'DiffieHellman')
|
|
5
|
+
lazy_import('sage.crypto.key_exchange.key_exchange_scheme', 'KeyExchangeScheme')
|
|
6
|
+
|
|
7
|
+
del lazy_import
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# sage_setup: distribution = sagemath-modules
|
|
2
|
+
"""
|
|
3
|
+
Index of key exchange schemes
|
|
4
|
+
|
|
5
|
+
This catalogue includes implementations of key exchange schemes.
|
|
6
|
+
|
|
7
|
+
Let ``<tab>`` indicate pressing the :kbd:`Tab` key. So begin by typing
|
|
8
|
+
``key_exchange.<tab>`` to the see the currently implemented key exchange
|
|
9
|
+
schemes.
|
|
10
|
+
|
|
11
|
+
This catalogue includes the following key exchange schemes:
|
|
12
|
+
|
|
13
|
+
- :class:`sage.crypto.key_exchange.diffie_hellman.DiffieHellman`
|
|
14
|
+
|
|
15
|
+
To import these names into the global namespace, use::
|
|
16
|
+
|
|
17
|
+
sage: from sage.crypto.key_exchange.catalog import *
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
from sage.misc.lazy_import import lazy_import
|
|
21
|
+
|
|
22
|
+
lazy_import('sage.crypto.key_exchange.diffie_hellman', 'DiffieHellman')
|
|
23
|
+
|
|
24
|
+
del lazy_import
|