Interface between flint matrices and linbox

This module only contains C++ code (and the interface is fully C compatible). It basically contains what used to be in the LinBox source code under interfaces/sage/linbox-sage.C written by M. Albrecht and C. Pernet. The functions available are:

  • void  linbox_fmpz_mat_mul(fmpz_mat_t C, fmpz_mat_t A, fmpz_mat_t B): set C to be the result of the multiplication A * B
  • void linbox_fmpz_mat_charpoly(fmpz_poly_t cp, fmpz_mat_t A): set cp to be the characteristic polynomial of the square matrix A
  • void  linbox_fmpz_mat_minpoly(fmpz_poly_t mp, fmpz_mat_t A): set mp to be the minimal polynomial of the square matrix A
  • unsigned long linbox_fmpz_mat_rank(fmpz_mat_t A): return the rank of the matrix A
  • void linbox_fmpz_mat_det(fmpz_t det, fmpz_mat_t A): set det to the determinant of the square matrix A