Macaulay2 Engine
Loading...
Searching...
No Matches
◆
computeLU()
[4/5]
void
DMatLUinPlace
<
M2::ARingGFFlintBig
>::computeLU
(
)
inline
private
Definition at line
123
of file
dmat-lu-inplace.hpp
.
124
{
125
if
(
mIsDone
)
return
;
126
//std::cout << "computing LU decomposition GFFlintBig" << std::endl;
127
128
mp_limb_signed_t
*
perm
=
newarray_atomic
(
mp_limb_signed_t
,
mLU
.numRows());
129
fq_nmod_mat_lu
(
perm
,
mLU
.fq_nmod_mat(),
false
,
ring
().
flintContext
());
130
// Now we set mPerm:
131
mPerm
.clear();
132
for
(
long
i
= 0;
i
<
mLU
.numRows();
i
++)
mPerm
.push_back(
perm
[
i
]);
133
mSign
= (
_perm_parity
(
perm
,
mLU
.numRows()) == 0);
134
freemem
(
perm
);
135
136
// Now we set mPivotColumns
137
LUUtil<RingType>::computePivotColumns
(
mLU
,
mPivotColumns
);
138
139
mIsDone
=
true
;
140
}
DMatLUinPlace::mSign
bool mSign
Definition
dmat-lu-inplace.hpp:117
DMatLUinPlace::ring
const RingType & ring() const
Definition
dmat-lu-inplace.hpp:94
DMatLUinPlace::mLU
Mat mLU
Definition
dmat-lu-inplace.hpp:115
DMatLUinPlace::mPivotColumns
std::vector< size_t > mPivotColumns
Definition
dmat-lu-inplace.hpp:119
DMatLUinPlace::mPerm
std::vector< size_t > mPerm
Definition
dmat-lu-inplace.hpp:116
DMatLUinPlace::mIsDone
bool mIsDone
Definition
dmat-lu-inplace.hpp:118
DMatLUinPlace
Definition
dmat-lu-inplace.hpp:86
LUUtil::computePivotColumns
static void computePivotColumns(const Mat &LU, std::vector< size_t > &result_columns)
Definition
dmat-lu-inplace.hpp:440
freemem
void freemem(void *s)
Definition
m2-mem.cpp:103
newarray_atomic
#define newarray_atomic(T, len)
Definition
newdelete.hpp:91
DMatLUinPlace
Generated on
for Macaulay2 Engine by
1.15.0