Added fixme comments in LDL
parent
163e60d43d
commit
5d2790aa5e
|
|
@ -179,14 +179,14 @@ Eigen::LDLT<Matrix>::TranspositionType ldlPartial(Matrix& ABC, size_t nFrontal)
|
||||||
throw NegativeMatrixException();
|
throw NegativeMatrixException();
|
||||||
}
|
}
|
||||||
|
|
||||||
Vector sqrtD = ldlt.vectorD().cwiseSqrt();
|
Vector sqrtD = ldlt.vectorD().cwiseSqrt(); // FIXME: we shouldn't do sqrt in LDL
|
||||||
if (debug) cout << "Dsqrt: " << sqrtD << endl;
|
if (debug) cout << "Dsqrt: " << sqrtD << endl;
|
||||||
|
|
||||||
// U = sqrtD * L^
|
// U = sqrtD * L^
|
||||||
Matrix U = ldlt.matrixU();
|
Matrix U = ldlt.matrixU();
|
||||||
|
|
||||||
// we store the permuted upper triangular matrix
|
// we store the permuted upper triangular matrix
|
||||||
ABC.block(0,0,nFrontal,nFrontal) = sqrtD.asDiagonal() * U;
|
ABC.block(0,0,nFrontal,nFrontal) = sqrtD.asDiagonal() * U; // FIXME: this isn't actually LDL', it's Cholesky
|
||||||
if(debug) cout << "R:\n" << ABC.topLeftCorner(nFrontal,nFrontal) << endl;
|
if(debug) cout << "R:\n" << ABC.topLeftCorner(nFrontal,nFrontal) << endl;
|
||||||
// toc(1, "ldl");
|
// toc(1, "ldl");
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue