ROOT  6.06/09
Reference Guide
Classes | Functions
TVectorT.h File Reference
#include "TMatrixT.h"
#include "TMatrixTSym.h"
#include "TMatrixTSparse.h"
+ Include dependency graph for TVectorT.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TVectorT< Element >
 

Functions

template<class Element >
Bool_t operator== (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Check to see if two vectors are identical. More...
 
template<class Element >
TVectorT< Element > operator+ (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Return source1+source2. More...
 
template<class Element >
TVectorT< Element > operator- (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Return source1-source2. More...
 
template<class Element >
Element operator* (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Compute the scalar product. More...
 
template<class Element >
TVectorT< Element > operator* (const TMatrixT< Element > &a, const TVectorT< Element > &source)
 return A * source More...
 
template<class Element >
TVectorT< Element > operator* (const TMatrixTSym< Element > &a, const TVectorT< Element > &source)
 return A * source More...
 
template<class Element >
TVectorT< Element > operator* (const TMatrixTSparse< Element > &a, const TVectorT< Element > &source)
 return A * source More...
 
template<class Element >
TVectorT< Element > operator* (Element val, const TVectorT< Element > &source)
 return val * source More...
 
template<class Element >
TVectorT< Element > operator* (const TVectorT< Element > &source, Element val)
 
template<class Element >
Element Dot (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 return inner-produvt v1 . v2 More...
 
template<class Element1 , class Element2 >
TMatrixT< Element1 > OuterProduct (const TVectorT< Element1 > &v1, const TVectorT< Element2 > &v2)
 Return the matrix M = v1 * v2'. More...
 
template<class Element1 , class Element2 , class Element3 >
TMatrixT< Element1 > & OuterProduct (TMatrixT< Element1 > &target, const TVectorT< Element2 > &v1, const TVectorT< Element3 > &v2)
 Return the matrix M = v1 * v2'. More...
 
template<class Element1 , class Element2 , class Element3 >
Element1 Mult (const TVectorT< Element1 > &v1, const TMatrixT< Element2 > &m, const TVectorT< Element3 > &v2)
 Perform v1 * M * v2, a scalar result. More...
 
template<class Element >
TVectorT< Element > & Add (TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source)
 Modify addition: target += scalar * source. More...
 
template<class Element >
TVectorT< Element > & Add (TVectorT< Element > &target, Element scalar, const TMatrixT< Element > &a, const TVectorT< Element > &source)
 Modify addition: target += scalar * A * source. More...
 
template<class Element >
TVectorT< Element > & Add (TVectorT< Element > &target, Element scalar, const TMatrixTSym< Element > &a, const TVectorT< Element > &source)
 Modify addition: target += A * source. More...
 
template<class Element >
TVectorT< Element > & Add (TVectorT< Element > &target, Element scalar, const TMatrixTSparse< Element > &a, const TVectorT< Element > &source)
 Modify addition: target += A * source. More...
 
template<class Element >
TVectorT< Element > & AddElemMult (TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Modify addition: target += scalar * ElementMult(source1,source2) . More...
 
template<class Element >
TVectorT< Element > & AddElemMult (TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source1, const TVectorT< Element > &source2, const TVectorT< Element > &select)
 Modify addition: target += scalar * ElementMult(source1,source2) only for those elements where select[i] != 0.0. More...
 
template<class Element >
TVectorT< Element > & AddElemDiv (TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Modify addition: target += scalar * ElementDiv(source1,source2) . More...
 
template<class Element >
TVectorT< Element > & AddElemDiv (TVectorT< Element > &target, Element scalar, const TVectorT< Element > &source1, const TVectorT< Element > &source2, const TVectorT< Element > &select)
 Modify addition: target += scalar * ElementDiv(source1,source2) only for those elements where select[i] != 0.0. More...
 
template<class Element >
TVectorT< Element > & ElementMult (TVectorT< Element > &target, const TVectorT< Element > &source)
 Multiply target by the source, element-by-element. More...
 
template<class Element >
TVectorT< Element > & ElementMult (TVectorT< Element > &target, const TVectorT< Element > &source, const TVectorT< Element > &select)
 Multiply target by the source, element-by-element only where select[i] != 0.0. More...
 
template<class Element >
TVectorT< Element > & ElementDiv (TVectorT< Element > &target, const TVectorT< Element > &source)
 Divide target by the source, element-by-element. More...
 
template<class Element >
TVectorT< Element > & ElementDiv (TVectorT< Element > &target, const TVectorT< Element > &source, const TVectorT< Element > &select)
 Divide target by the source, element-by-element only where select[i] != 0.0. More...
 
template<class Element1 , class Element2 >
Bool_t AreCompatible (const TVectorT< Element1 > &v1, const TVectorT< Element2 > &v2, Int_t verbose=0)
 Check if v1 and v2 are both valid and have the same shape. More...
 
template<class Element1 , class Element2 >
Bool_t AreCompatible (const TMatrixT< Element1 > &m, const TVectorT< Element2 > &v, Int_t verbose=0)
 Check if m and v are both valid and have compatible shapes for M * v. More...
 
template<class Element1 , class Element2 >
Bool_t AreCompatible (const TVectorT< Element1 > &v, const TMatrixT< Element2 > &m, Int_t verbose=0)
 Check if m and v are both valid and have compatible shapes for v * M. More...
 
template<class Element >
void Compare (const TVectorT< Element > &source1, const TVectorT< Element > &source2)
 Compare two vectors and print out the result of the comparison. More...
 
template<class Element >
Bool_t VerifyVectorValue (const TVectorT< Element > &m, Element val, Int_t verbose, Element maxDevAllow)
 Validate that all elements of vector have value val within maxDevAllow . More...
 
template<class Element >
Bool_t VerifyVectorValue (const TVectorT< Element > &m, Element val, Int_t verbose)
 
template<class Element >
Bool_t VerifyVectorValue (const TVectorT< Element > &m, Element val)
 
template<class Element >
Bool_t VerifyVectorIdentity (const TVectorT< Element > &m1, const TVectorT< Element > &m2, Int_t verbose, Element maxDevAllow)
 Verify that elements of the two vectors are equal within maxDevAllow . More...
 
template<class Element >
Bool_t VerifyVectorIdentity (const TVectorT< Element > &m1, const TVectorT< Element > &m2, Int_t verbose)
 
template<class Element >
Bool_t VerifyVectorIdentity (const TVectorT< Element > &m1, const TVectorT< Element > &m2)
 

Function Documentation

template<class Element >
TVectorT<Element>& Add ( TVectorT< Element > &  target,
Element  scalar,
const TVectorT< Element > &  source 
)

Modify addition: target += scalar * source.

Definition at line 1584 of file TVectorT.cxx.

Referenced by operator*().

template<class Element >
TVectorT<Element>& Add ( TVectorT< Element > &  target,
Element  scalar,
const TMatrixT< Element > &  a,
const TVectorT< Element > &  source 
)

Modify addition: target += scalar * A * source.

NOTE: in case scalar=0, do target = A * source.

Definition at line 1613 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& Add ( TVectorT< Element > &  target,
Element  scalar,
const TMatrixTSym< Element > &  a,
const TVectorT< Element > &  source 
)

Modify addition: target += A * source.

NOTE: in case scalar=0, do target = A * source.

Definition at line 1691 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& Add ( TVectorT< Element > &  target,
Element  scalar,
const TMatrixTSparse< Element > &  a,
const TVectorT< Element > &  source 
)

Modify addition: target += A * source.

NOTE: in case scalar=0, do target = A * source.

Definition at line 1763 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& AddElemDiv ( TVectorT< Element > &  target,
Element  scalar,
const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Modify addition: target += scalar * ElementDiv(source1,source2) .

Definition at line 1914 of file TVectorT.cxx.

Referenced by TQpLinSolverBase::ComputeDiagonals(), and TQpLinSolverBase::Solve().

template<class Element >
TVectorT<Element>& AddElemDiv ( TVectorT< Element > &  target,
Element  scalar,
const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2,
const TVectorT< Element > &  select 
)

Modify addition: target += scalar * ElementDiv(source1,source2) only for those elements where select[i] != 0.0.

Definition at line 1968 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& AddElemMult ( TVectorT< Element > &  target,
Element  scalar,
const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Modify addition: target += scalar * ElementMult(source1,source2) .

Definition at line 1841 of file TVectorT.cxx.

Referenced by TQpResidual::Add_r3_xz_alpha(), TQpLinSolverBase::Solve(), and TQpLinSolverBase::SolveXYZS().

template<class Element >
TVectorT<Element>& AddElemMult ( TVectorT< Element > &  target,
Element  scalar,
const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2,
const TVectorT< Element > &  select 
)

Modify addition: target += scalar * ElementMult(source1,source2) only for those elements where select[i] != 0.0.

Definition at line 1874 of file TVectorT.cxx.

template<class Element1 , class Element2 >
Bool_t AreCompatible ( const TVectorT< Element1 > &  v1,
const TVectorT< Element2 > &  v2,
Int_t  verbose = 0 
)
template<class Element1 , class Element2 >
Bool_t AreCompatible ( const TMatrixT< Element1 > &  m,
const TVectorT< Element2 > &  v,
Int_t  verbose = 0 
)

Check if m and v are both valid and have compatible shapes for M * v.

Definition at line 2154 of file TVectorT.cxx.

template<class Element1 , class Element2 >
Bool_t AreCompatible ( const TVectorT< Element1 > &  v,
const TMatrixT< Element2 > &  m,
Int_t  verbose = 0 
)

Check if m and v are both valid and have compatible shapes for v * M.

Definition at line 2180 of file TVectorT.cxx.

template<class Element >
void Compare ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Compare two vectors and print out the result of the comparison.

Definition at line 2206 of file TVectorT.cxx.

template<class Element >
Element Dot ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

return inner-produvt v1 . v2

Definition at line 1475 of file TVectorT.cxx.

Referenced by operator*().

template<class Element >
TVectorT<Element>& ElementDiv ( TVectorT< Element > &  target,
const TVectorT< Element > &  source 
)

Divide target by the source, element-by-element.

Definition at line 2072 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& ElementDiv ( TVectorT< Element > &  target,
const TVectorT< Element > &  source,
const TVectorT< Element > &  select 
)

Divide target by the source, element-by-element only where select[i] != 0.0.

Definition at line 2098 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& ElementMult ( TVectorT< Element > &  target,
const TVectorT< Element > &  source 
)

Multiply target by the source, element-by-element.

Definition at line 2029 of file TVectorT.cxx.

template<class Element >
TVectorT<Element>& ElementMult ( TVectorT< Element > &  target,
const TVectorT< Element > &  source,
const TVectorT< Element > &  select 
)

Multiply target by the source, element-by-element only where select[i] != 0.0.

Definition at line 2049 of file TVectorT.cxx.

template<class Element1 , class Element2 , class Element3 >
Element1 Mult ( const TVectorT< Element1 > &  v1,
const TMatrixT< Element2 > &  m,
const TVectorT< Element3 > &  v2 
)

Perform v1 * M * v2, a scalar result.

Definition at line 1539 of file TVectorT.cxx.

template<class Element >
Element operator* ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Compute the scalar product.

Definition at line 1393 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator* ( const TMatrixT< Element > &  a,
const TVectorT< Element > &  source 
)

return A * source

Definition at line 1431 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator* ( const TMatrixTSym< Element > &  a,
const TVectorT< Element > &  source 
)

return A * source

Definition at line 1442 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator* ( const TMatrixTSparse< Element > &  a,
const TVectorT< Element > &  source 
)

return A * source

Definition at line 1453 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator* ( Element  val,
const TVectorT< Element > &  source 
)

return val * source

Definition at line 1464 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator* ( const TVectorT< Element > &  source,
Element  val 
)
inline

Definition at line 245 of file TVectorT.h.

template<class Element >
TVectorT<Element> operator+ ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Return source1+source2.

Definition at line 1409 of file TVectorT.cxx.

template<class Element >
TVectorT<Element> operator- ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Return source1-source2.

Definition at line 1420 of file TVectorT.cxx.

template<class Element >
Bool_t operator== ( const TVectorT< Element > &  source1,
const TVectorT< Element > &  source2 
)

Check to see if two vectors are identical.

Definition at line 1383 of file TVectorT.cxx.

template<class Element1 , class Element2 >
TMatrixT<Element1> OuterProduct ( const TVectorT< Element1 > &  v1,
const TVectorT< Element2 > &  v2 
)

Return the matrix M = v1 * v2'.

Definition at line 1492 of file TVectorT.cxx.

template<class Element1 , class Element2 , class Element3 >
TMatrixT<Element1>& OuterProduct ( TMatrixT< Element1 > &  target,
const TVectorT< Element2 > &  v1,
const TVectorT< Element3 > &  v2 
)

Return the matrix M = v1 * v2'.

Definition at line 1508 of file TVectorT.cxx.

template<class Element >
Bool_t VerifyVectorIdentity ( const TVectorT< Element > &  m1,
const TVectorT< Element > &  m2,
Int_t  verbose,
Element  maxDevAllow 
)

Verify that elements of the two vectors are equal within maxDevAllow .

Definition at line 2294 of file TVectorT.cxx.

Referenced by VerifyVectorIdentity().

template<class Element >
Bool_t VerifyVectorIdentity ( const TVectorT< Element > &  m1,
const TVectorT< Element > &  m2,
Int_t  verbose 
)

Definition at line 287 of file TVectorT.h.

template<class Element >
Bool_t VerifyVectorIdentity ( const TVectorT< Element > &  m1,
const TVectorT< Element > &  m2 
)

Definition at line 289 of file TVectorT.h.

template<class Element >
Bool_t VerifyVectorValue ( const TVectorT< Element > &  m,
Element  val,
Int_t  verbose,
Element  maxDevAllow 
)

Validate that all elements of vector have value val within maxDevAllow .

Definition at line 2259 of file TVectorT.cxx.

Referenced by VerifyVectorValue().

template<class Element >
Bool_t VerifyVectorValue ( const TVectorT< Element > &  m,
Element  val,
Int_t  verbose 
)

Definition at line 282 of file TVectorT.h.

template<class Element >
Bool_t VerifyVectorValue ( const TVectorT< Element > &  m,
Element  val 
)

Definition at line 284 of file TVectorT.h.