softsusy is hosted by Hepforge, IPPP Durham
 SOFTSUSY  4.1
linalg.cpp File Reference
#include "linalg.h"
#include "mycomplex.h"
#include "utils.h"
#include "def.h"
#include <cmath>
#include <sstream>
#include <istream>

## Functions

ostream & operator<< (ostream &left, const DoubleVector &v)

istream & operator>> (istream &left, DoubleVector &v)

istream & operator>> (istream &left, DoubleMatrix &m)

ostream & operator<< (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)
$$u^* A 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)

ostream & operator<< (ostream &left, const ComplexVector &v)

istream & operator>> (istream &left, ComplexVector &v)

istream & operator>> (istream &left, ComplexMatrix &m)

ostream & operator<< (ostream &left, const ComplexMatrix &v)

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

## ◆ positivise()

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

$$u^* A v^+$$ = mdiagpositive

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

## ◆ rot3d()

 DoubleMatrix rot3d ( double theta )

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