10 #ifndef ROOT_Minuit2_LaInverse
11 #define ROOT_Minuit2_LaInverse
27 inline ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double> Inverse(
const ABObj<sym, LASymMatrix, double>& obj) {
28 return ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>(MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>(obj));
32 inline ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double> operator*(T f,
const ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>& inv) {
33 return ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>(inv.Obj(), f*inv.f());
37 inline ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double> operator/(
const ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>& inv, T f) {
38 return ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>(inv.Obj(), inv.f()/f);
42 inline ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double> operator-(
const ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>& inv) {
43 return ABObj<sym, MatrixInverse<sym, ABObj<sym, LASymMatrix, double>,
double>,
double>(inv.Obj(), T(-1.)*inv.f());
46 int Invert(LASymMatrix&);
48 int Invert_undef_sym(LASymMatrix&);
65 #endif // ROOT_Minuit2_LaInverse