Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
LaVtMVSimilarity.cxx
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#include "Minuit2/LASymMatrix.h"
11#include "Minuit2/LAVector.h"
12#include "Minuit2/LaProd.h"
13
14namespace ROOT {
15
16namespace Minuit2 {
17
18double mnddot(unsigned int, const double *, int, const double *, int);
19
20double similarity(const LAVector &avec, const LASymMatrix &mat)
21{
22 // calculate the similarity vector-matrix product: V^T M V
23 // use matrix product and then dot function (using mnddot)
24
25 LAVector tmp = mat * avec;
26
27 double value = mnddot(avec.size(), avec.Data(), 1, tmp.Data(), 1);
28 return value;
29}
30
31} // namespace Minuit2
32
33} // namespace ROOT
Class describing a symmetric matrix of size n.
Definition LASymMatrix.h:45
const double * Data() const
Definition LAVector.h:223
unsigned int size() const
Definition LAVector.h:227
double mnddot(unsigned int, const double *, int, const double *, int)
Definition mnddot.cxx:19
double similarity(const LAVector &, const LASymMatrix &)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...