Logo ROOT   6.16/01
Reference Guide
LaOuterProduct.h
Go to the documentation of this file.
1// @(#)root/minuit2:$Id$
2// Authors: M. Winkler, F. James, L. Moneta, A. Zsenei 2003-2005
3
4/**********************************************************************
5 * *
6 * Copyright (c) 2005 LCG ROOT Math team, CERN/PH-SFT *
7 * *
8 **********************************************************************/
9
10#ifndef MA_LaOuterProd_H_
11#define MA_LaOuterProd_H_
12
13
14
16#include "Minuit2/ABSum.h"
17#include "Minuit2/LAVector.h"
18#include "Minuit2/LASymMatrix.h"
19
20namespace ROOT {
21
22 namespace Minuit2 {
23
24
25/// LAPACK Algebra function
26/// specialize the Outer_product function for LAVector;
27
29// std::cout<<"ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, double>, double>, double> Outer_product(const ABObj<vec, LAVector, double>& obj)"<<std::endl;
31}
32
33// f*outer
34template<class T>
36// std::cout<<"ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T> operator*(T f, const ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>& obj)"<<std::endl;
37 return ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>(obj.Obj(), obj.f()*f);
38}
39
40// outer/f
41template<class T>
43// std::cout<<"ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T> operator/(const ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>& obj, T f)"<<std::endl;
44 return ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>(obj.Obj(), obj.f()/f);
45}
46
47// -outer
48template<class T>
50// std::cout<<"ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T> operator/(const ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>& obj, T f)"<<std::endl;
51 return ABObj<sym, VectorOuterProduct<ABObj<vec, LAVector, T>, T>, T>(obj.Obj(), T(-1.)*obj.f());
52}
53
54void Outer_prod(LASymMatrix&, const LAVector&, double f = 1.);
55
56 } // namespace Minuit2
57
58} // namespace ROOT
59
60#endif //MA_LaOuterProd_H_
#define f(i)
Definition: RSha256.hxx:104
double T(double x)
Definition: ChebyshevPol.h:34
ABObj< mt, M, T > operator*(T f, const M &obj)
Definition: ABObj.h:140
ABObj< sym, VectorOuterProduct< ABObj< vec, LAVector, double >, double >, double > Outer_product(const ABObj< vec, LAVector, double > &obj)
LAPACK Algebra function specialize the Outer_product function for LAVector;.
ABObj< mt, M, T > operator-(const M &obj)
Definition: ABObj.h:152
void Outer_prod(LASymMatrix &, const LAVector &, double f=1.)
ABObj< mt, M, T > operator/(const M &obj, T f)
Definition: ABObj.h:146
Namespace for new ROOT classes and functions.
Definition: StringConv.hxx:21