Factorization¶
Python API¶
-
LDL
(A[, conjugate=True[, pivType=BUNCH_KAUFMAN_A]])¶ - Parameters
A – The (sequential or distributed) dense input/output matrix
conjugate – (optional) boolean for whether to perform LDLT or LDLH
pivType – (optional) the preferred pivoting strategy
- Return type
Nothing is returned if
pivType
isLDL_WITHOUT_PIVOTING
, but, otherwise, the subdiagonal of \(D\),dSub
, and the permutation vector,p
, are returned
The following Python pseudo-enum contains the list of allowable pivoting approaches for dense LDL factorization:
-
BUNCH_KAUFMAN_A
¶ Hardcoded to the value 0
-
BUNCH_KAUFMAN_C
¶ Not yet supported (and hardcoded to the value 1)
-
BUNCH_KAUFMAN_D
¶ Hardcoded to the value 2
-
BUNCH_KAUFMAN_BOUNDED
¶ Not yet supported (and hardcoded to the value 3)
-
BUNCH_PARLETT
¶ Hardcoded to the value 4
-
LDL_WITHOUT_PIVOTING
¶ Hardcoded to the value 5
C++ API¶
-
enum
LDLPivotType
¶ For specifying the symmetric pivoting strategy. The current (not yet all supported) options include:
-
enumerator
BUNCH_KAUFMAN_A
¶
-
enumerator
BUNCH_KAUFMAN_C
¶ Not yet supported
-
enumerator
BUNCH_KAUFMAN_D
¶
-
enumerator
BUNCH_KAUFMAN_BOUNDED
¶ Not yet supported
-
enumerator
BUNCH_PARLETT
¶
-
enumerator
LDL_WITHOUT_PIVOTING
¶
-
enumerator
-
template<>
RealLDLPivotConstant
<Real>(LDLPivotType pivotType)¶ Maps various LDL pivotings schemes to their optimal threshold constant.
-
template<>
classLDLPivotCtrl
<Real>¶ -
LDLPivotType
pivotType
¶ The type of pivoting to perform (by default,
BUNCH_KAUFMAN_A
)
-
Real
gamma
¶ Pivot tolerance (by default, set to
LDLPivotConstant<Real>(pivotType)
)
-
LDLPivotCtrl
(LDLPivotType piv = BUNCH_KAUFMAN_A)¶
-
LDLPivotType
-
class
LDLPivot
¶
-
void
LDL
(Matrix<F> &A, Matrix<F> &dSub, Matrix<int> &p, bool conjugate = false, const LDLPivotCtrl<Base<F>> &ctrl = LDLPivotCtrl<Base<F>>())¶
-
void
LDL
(AbstractDistMatrix<F> &A, AbstractDistMatrix<F> &dSub, AbstractDistMatrix<int> &p, bool conjugate = false, const LDLPivotCtrl<Base<F>> &ctrl = LDLPivotCtrl<Base<F>>())¶
C API¶
-
ElLDLPivotType
¶ An enum for specifying the symmetric pivoting strategy. The current (not yet all supported) options include:
EL_BUNCH_KAUFMAN_A
EL_BUNCH_KAUFMAN_C
(not yet supported)EL_BUNCH_KAUFMAN_D
EL_BUNCH_KAUFMAN_BOUNDED
(not yet supported)EL_BUNCH_PARLETT
-
ElLDLPivotCtrl_s
¶ -
ElLDLPivotType
pivotType
¶
-
float
gamma
¶
-
ElLDLPivotType
-
ElLDLPivotCtrl_d
¶ -
ElLDLPivotType
pivotType
¶
-
double
gamma
¶
-
ElLDLPivotType