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

◆ inverse()

template<class RingType>
bool DMatLinAlg< RingType >::inverse ( Mat & X)

Output: X, a matrix, the inverse of A returns false iff A is (near)singular

Definition at line 564 of file dmat-lu.hpp.

565{
566 const Mat& LU = mLUObject.LUinPlace();
567
568 // Make the identity matrix
569 // printf("in DMatLinAlg<RingType>::inverse\n");
570
571 Mat id(ring(), LU.numRows(), LU.numRows());
572 for (size_t i = 0; i < LU.numRows(); i++)
573 ring().set_from_long(id.entry(i, i), 1);
574
575 solve(id, X);
576 return true;
577}
DMatLUinPlace< RingType > mLUObject
Definition dmat-lu.hpp:64
const RingType & ring() const
Definition dmat-lu.hpp:107
DMat< RingType > Mat
Definition dmat-lu.hpp:61
bool solve(const Mat &B, Mat &X)
Definition dmat-lu.hpp:340

References mLUObject, ring(), and solve().

Referenced by MatrixOps::inverse().