softsusy is hosted by Hepforge, IPPP Durham
 SOFTSUSY  4.1
linalg.h File Reference

DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies also. More...

`#include <vector>`
`#include "mycomplex.h"`
`#include "xpr-vector.h"`
`#include "xpr-matrix.h"`
`#include "def.h"`
`#include "utils.h"`
`#include <iosfwd>`
`#include <valarray>`
`#include <sstream>`

Go to the source code of this file.

## Classes

class  DoubleVector
DoubleVector is of variable length, and contains double precision. More...

class  DoubleMatrix
Matrix from 1..rows, 1..cols of double values. More...

class  ComplexVector
Vector of double complex values. More...

class  ComplexMatrix
matrix of complex double values dimensions (rows x cols) More...

## Functions

std::ostream & operator<< (std::ostream &left, const DoubleVector &V)
prints a vector out formatted, maximum of 5 elements per line

std::istream & operator>> (std::istream &left, DoubleVector &V)
inputs a vector

std::istream & operator>> (std::istream &left, DoubleMatrix &M)

std::ostream & operator<< (std::ostream &left, const DoubleMatrix &V)

DoubleMatrix rot2d (double theta)
Returns a 2x2 orthogonal matrix of rotation by angle theta.

DoubleMatrix rot2dTwist (double theta)
Returns 2 by 2 orthogonal mixing matrix.

DoubleMatrix rot3d (double theta)

void positivise (double thetaL, double thetaR, const DoubleVector &diag, ComplexMatrix &u, ComplexMatrix &v) = mdiagpositive More...

void diagonaliseSvd (DoubleMatrix &a, DoubleVector &w, DoubleMatrix &v)
Diagonalisation routines.

double pythagoras (double a, double b)

void diagonaliseJac (DoubleMatrix &a, int n, DoubleVector &d, DoubleMatrix &v, int *nrot)

void fillArray (const std::valarray< double > &, double *, unsigned offset=0)
fill array from valarray, starting at offset

std::ostream & operator<< (std::ostream &left, const ComplexVector &V)
Formatted output.

std::istream & operator>> (std::istream &left, ComplexVector &V)
Formatted input.

std::istream & operator>> (std::istream &left, ComplexMatrix &M)
Formatted input.

std::ostream & operator<< (std::ostream &left, const ComplexMatrix &V)
Formatted output.

## Detailed Description

DoubleVector and DoubleMatrix classes of doubles and operations between them, complexified copies also.

## Function Documentation

 void positivise ( double thetaL, double thetaR, const DoubleVector & diag, ComplexMatrix & u, ComplexMatrix & v ) = mdiagpositive

Redefines mixing matrices to be complex such that diagonal values are positive for a 2 by 2:

 DoubleMatrix rot3d ( double theta )

LCT: Returns a 3x3 orthogonal matrix of rotation by angle theta. Used in rotating CP-odd Higgs matrix