14 #if defined(DEBUG) || defined(WARNINGMSG) 28 assert(cov.
Nrow() > 0);
29 assert(n < cov.
Nrow());
32 for(
unsigned int i = 0; i < cov.
Nrow(); i++) {
33 for(
unsigned int j = i; j < cov.
Nrow(); j++) {
42 MN_INFO_MSG(
"MnUserCovariance inversion failed; return diagonal matrix;");
45 for(
unsigned int i = 0, j =0; i < cov.
Nrow(); i++) {
47 result(j,j) = cov(i,i);
58 MN_INFO_MSG(
"MnUserCovariance back-inversion failed; return diagonal matrix;");
61 for(
unsigned int i = 0; i < squeezed.
Nrow(); i++) {
62 result(i,i) = 1./squeezed(i,i);
76 int ifail =
Invert(squeezed);
79 MN_INFO_MSG(
"MnCovarianceSqueeze: MinimumError inversion fails; return diagonal matrix.");
82 for(
unsigned int i = 0; i < squeezed.
Nrow(); i++) {
83 tmp(i,i) = 1./squeezed(i,i);
93 assert(hess.
Nrow() > 0);
94 assert(n < hess.
Nrow());
97 for(
unsigned int i = 0, j = 0; i < hess.
Nrow(); i++) {
99 for(
unsigned int k = i, l = j; k < hess.
Nrow(); k++) {
int Invert(LASymMatrix &)
Namespace for new ROOT classes and functions.
Class describing a symmetric matrix of size n.
unsigned int Nrow() const
const double * Data() const
MnAlgebraicSymMatrix Hessian() const
unsigned int Nrow() const
MnUserCovariance operator()(const MnUserCovariance &, unsigned int) const
MinimumError keeps the inv.
unsigned int size() const
Class containing the covariance matrix data represented as a vector of size n*(n+1)/2 Used to hide in...