SoftSUSY is hosted by Hepforge, IPPP Durham
SOFTSUSY  4.0
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
 

Detailed Description

Function Documentation

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:

DoubleMatrix rot3d ( double  theta)

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