27 unsigned int nrow =
a.Nrow();
32 for (
unsigned int i = 0; i <
nrow; i++) {
36 s(i) = 1. / std::sqrt(
si);
39 for (
unsigned int i = 0; i <
nrow; i++)
40 for (
unsigned int j = i;
j <
nrow;
j++)
41 a(i,
j) *= (s(i) * s(
j));
43 for (
unsigned i = 0; i <
nrow; i++) {
50 unsigned int kp1 = k + 1;
52 for (
unsigned int j = 0;
j < k;
j++) {
54 q(
j) =
a(
j, k) *
q(k);
61 q(
j) = -
a(k,
j) *
q(k);
65 for (
unsigned int j = 0;
j <
nrow;
j++)
66 for (k =
j; k <
nrow; k++)
67 a(
j, k) += (pp(
j) *
q(k));
70 for (
unsigned int j = 0;
j <
nrow;
j++)
71 for (
unsigned int k =
j; k <
nrow; k++)
72 a(
j, k) *= (s(
j) * s(k));
86 for (
unsigned int i = 0; i <
n; ++i) {
87 out += std::abs(
arr[i]);
105void mndspr(
unsigned int n,
double alpha,
const double *
x,
double *
ap)
121 if (
n == 0 || alpha == 0.) {
148void Mndspmv(
unsigned int n,
double alpha,
const double *
ap,
const double *
x,
double beta,
double *
y)
165 if ((
n == 0) || (alpha == 0. && beta == 1.)) {
215 :
fSize(0), fNRow(0), fData(nullptr)
220 fNRow = out.Obj().Obj().Obj().size();
224 Outer_prod(*
this, out.Obj().Obj().Obj(), out.f() * out.Obj().Obj().f() * out.Obj().Obj().f());
234 fNRow = out.Obj().Obj().Obj().size();
238 Outer_prod(*
this, out.Obj().Obj().Obj(), out.f() * out.Obj().Obj().f() * out.Obj().Obj().f());
242 tmp *=
double(out.f() * out.Obj().Obj().f() * out.Obj().Obj().f());
304 double tmp = t.
Data()[0];
308 t.
Data()[0] = 1. / tmp;
319 return std::inner_product(
v1.Data(),
v1.Data() +
v1.size(),
v2.Data(), 0.0);
324 constexpr double precis = 1.e-6;
334 unsigned int i__,
j, k,
l,
m = 0;
361 for (k = 1; k <=
i__2; ++k) {
371 if (
gl > (
double)1
e-35) {
383 if (
f >= (
double)0.) {
396 for (k = 1; k <=
i__3; ++k) {
406 for (k =
j1; k <=
i__3; ++k) {
420 for (k = 1; k <=
i__3; ++k) {
434 if (
work[
i__] == (
double)0. ||
l == 0) {
442 for (k = 1; k <=
i__2; ++k) {
446 for (k = 1; k <=
i__2; ++k) {
485 for (m1 =
l; m1 <=
i__2; ++m1) {
505 r__ = std::sqrt(
pt *
pt + (
double)1.);
508 if (
pt < (
double)0.) {
550 for (k = 1; k <=
i__3; ++k) {
605 unsigned int nrow =
mat.Nrow();
610 for (
unsigned int i = 0; i <
nrow; i++) {
611 for (
unsigned int j = 0;
j <= i;
j++) {
622 for (
unsigned int i = 0; i <
nrow; i++) {
636 return std::inner_product(
avec.Data(),
avec.Data() +
avec.size(), tmp.Data(), 0.0);
641 for (
unsigned int i = 0; i <
n; ++i) {
662 const int pr = os.precision(8);
665 for (
unsigned int i = 0; i <
nrow; i++) {
676 for (
unsigned int j = 0;
j <
nrow;
j++) {
695 const unsigned int nrow =
vec.size();
698 for (
unsigned int i = 0; i <
np; i++) {
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t np
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t result
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
Class describing a symmetric matrix of size n.
const double * Data() const
LASymMatrix & operator=(const LASymMatrix &v)
LASymMatrix(unsigned int n)
unsigned int size() const
static StackAllocator & Get()
void Mndaxpy(unsigned int, double, const double *, double *)
LAVector eigenvalues(const LASymMatrix &)
int Invert(LASymMatrix &)
void Mndscal(unsigned int, double, double *)
void Mndspmv(unsigned int, double, const double *, const double *, double, double *)
std::ostream & operator<<(std::ostream &, const LAVector &)
double sum_of_elements(const LASymMatrix &)
double similarity(const LAVector &, const LASymMatrix &)
int mneigen(double *a, unsigned int ndima, unsigned int n, unsigned int mits, double *work)
void Outer_prod(LASymMatrix &, const LAVector &, double f=1.)
double inner_product(const LAVector &, const LAVector &)
void mndspr(unsigned int n, double alpha, const double *x, double *ap)
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...