Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/libs/linbox/linbox.pxd
4069 views
include "../../ext/cdefs.pxi"

include '../../modules/vector_modn_sparse_h.pxi'

from sage.matrix.matrix_integer_dense cimport mod_int

cdef class Linbox_modn_dense:
    cdef mod_int** matrix
    cdef mod_int n
    cdef size_t nrows, ncols
    
    cdef set(self, mod_int n, mod_int** matrix, size_t nrows, size_t ncols)
    cdef int echelonize(self)
    cdef matrix_matrix_multiply(self,
                                mod_int **ans,
                                mod_int **B,
                                size_t B_nr, size_t B_nc)
    cdef unsigned long rank(self) except -1

    cpdef mod_int det(self) except -1

cdef class Linbox_modn_sparse:
    cdef c_vector_modint *rows
    cdef size_t nrows
    cdef size_t ncols
    cdef unsigned int modulus

    cdef set(self, int modulus, size_t nrows, size_t ncols, c_vector_modint *rows)
    cdef object rank(self, int gauss)
    cdef void solve(self, c_vector_modint **x, c_vector_modint *b, int method)


cdef class Linbox_integer_dense:
    cdef mpz_t** matrix
    cdef size_t nrows, ncols

    cdef set(self, mpz_t** matrix, size_t nrows, size_t ncols)
    cdef matrix_matrix_multiply(self,
                                mpz_t **ans,
                                mpz_t **B,
                                size_t B_nr, size_t B_nc)
    cdef unsigned long rank(self) except -1