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


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

Detailed Description

Function Documentation

◆ 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