24 assert(cov.
Nrow() > 0);
25 assert(
n < cov.
Nrow());
27 MnPrint print(
"MnCovarianceSqueeze");
30 for (
unsigned int i = 0; i < cov.
Nrow(); i++) {
31 for (
unsigned int j = i; j < cov.
Nrow(); j++) {
32 hess(i, j) = cov(i, j);
39 print.
Warn(
"inversion failed; return diagonal matrix;");
41 for (
unsigned int i = 0, j = 0; i < cov.
Nrow(); i++) {
44 result(j, j) = cov(i, i);
54 print.
Warn(
"back-inversion failed; return diagonal matrix;");
56 for (
unsigned int i = 0; i < squeezed.
Nrow(); i++) {
57 result(i, i) = 1. / squeezed(i, i);
68 MnPrint print(
"MnCovarianceSqueeze");
75 int ifail =
Invert(squeezed);
77 print.
Warn(
"MinimumError inversion fails; return diagonal matrix.");
80 for (
unsigned int i = 0; i < squeezed.
Nrow(); i++) {
81 tmp(i, i) = 1. / squeezed(i, i);
92 assert(hess.
Nrow() > 0);
93 assert(
n < hess.
Nrow());
96 for (
unsigned int i = 0, j = 0; i < hess.
Nrow(); i++) {
99 for (
unsigned int k = i,
l = j; k < hess.
Nrow(); k++) {
102 hs(j,
l) = hess(i, k);
Class describing a symmetric matrix of size n.
const double * Data() const
unsigned int Nrow() const
unsigned int size() const
MinimumError keeps the inv.
MnAlgebraicSymMatrix Hessian() const
MnUserCovariance operator()(const MnUserCovariance &, unsigned int) const
void Warn(const Ts &... args)
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...
unsigned int Nrow() const
int Invert(LASymMatrix &)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...