Macaulay2 Engine
Loading...
Searching...
No Matches

◆ mult() [2/10]

void MatrixOps::mult ( const DMatGFFlint & A,
const DMatGFFlint & B,
DMatGFFlint & result_product )
inline

Definition at line 1010 of file mat-linalg.hpp.

1013{
1014 // DMatGFFlint& A1 = const_cast<DMatGFFlint&>(A); // needed because
1015 // nmod_mat_mul doesn't declare params const
1016 // DMatGFFlint& B1 = const_cast<DMatGFFlint&>(B);
1017 // The A1 and B1 on the next line are switched because the memory layout
1018 // expected
1019 // is the transpose of what we have for DMat.
1020 fq_zech_mat_mul(result_product.fq_zech_mat(),
1021 A.fq_zech_mat(),
1022 B.fq_zech_mat(),
1023 A.ring().flintContext());
1024}
const fq_zech_mat_t & fq_zech_mat() const
const ACoeffRing & ring() const
const fq_zech_ctx_struct * flintContext() const

References M2::ARingGFFlint::flintContext(), DMat< M2::ARingGFFlint >::fq_zech_mat(), and DMat< M2::ARingGFFlint >::ring().