Macaulay2 Engine
Loading...
Searching...
No Matches
◆
computeLU()
[3/5]
void
DMatLUinPlace
<
M2::ARingGFFlint
>::computeLU
(
)
inline
private
Definition at line
143
of file
dmat-lu-inplace.hpp
.
144
{
145
if
(
mIsDone
)
return
;
146
// std::cout << "computing LU decomposition GFFlint" << std::endl;
147
mp_limb_signed_t
*
perm
=
newarray_atomic
(
mp_limb_signed_t
,
mLU
.numRows());
148
fq_zech_mat_lu
(
perm
,
mLU
.fq_zech_mat(),
false
,
ring
().
flintContext
());
149
// Now we set mPerm:
150
mPerm
.clear();
151
for
(
long
i
= 0;
i
<
mLU
.numRows();
i
++)
mPerm
.push_back(
perm
[
i
]);
152
mSign
= (
_perm_parity
(
perm
,
mLU
.numRows()) == 0);
153
freemem
(
perm
);
154
155
// Now we set mPivotColumns
156
LUUtil<RingType>::computePivotColumns
(
mLU
,
mPivotColumns
);
157
158
mIsDone
=
true
;
159
}
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