Ticket #4260: trac_4260-linbox_default.patch

File trac_4260-linbox_default.patch, 1.9 KB (added by malb, 9 years ago)

make matrix space constructor use the new classes

  • sage/matrix/matrix_space.py

    # HG changeset patch
    # User Burcin Erocal <burcin@erocal.org>
    # Date 1312301043 -7200
    # Node ID d263952c945f384fc3b411284d21a5ac9de7f575
    # Parent  2a2abbcad325ccca9399981ceddf5897eb467e64
    trac #4260: change default modn_dense matrix class to use float and double
    
    diff -r 2a2abbcad325 -r d263952c945f sage/matrix/matrix_space.py
    a b  
    3434import matrix_generic_dense
    3535import matrix_generic_sparse
    3636
    37 import matrix_modn_dense
    3837import matrix_modn_sparse
    3938
    4039import matrix_mod2_dense
     
    845844            elif R==sage.rings.complex_double.CDF:
    846845                import matrix_complex_double_dense
    847846                return matrix_complex_double_dense.Matrix_complex_double_dense
    848             elif sage.rings.finite_rings.integer_mod_ring.is_IntegerModRing(R) and R.order() < matrix_modn_dense.MAX_MODULUS:
     847            elif sage.rings.finite_rings.integer_mod_ring.is_IntegerModRing(R):
     848                import matrix_modn_dense_double, matrix_modn_dense_float
    849849                if R.order() == 2:
    850850                    return matrix_mod2_dense.Matrix_mod2_dense
    851                 return matrix_modn_dense.Matrix_modn_dense
     851                elif R.order() < matrix_modn_dense_double.MAX_MODULUS:
     852                    return matrix_modn_dense_double.Matrix_modn_dense_double
     853                elif R.order() < matrix_modn_dense_float.MAX_MODULUS:
     854                    return matrix_modn_dense_float.Matrix_modn_dense_float
     855                return matrix_generic_dense.Matrix_generic_dense
    852856            elif sage.rings.polynomial.multi_polynomial_ring_generic.is_MPolynomialRing(R) and R.base_ring().is_field():
    853857                return matrix_mpolynomial_dense.Matrix_mpolynomial_dense
    854858            #elif isinstance(R, sage.rings.padics.padic_ring_capped_relative.pAdicRingCappedRelative):