#include <cstdlib>
#include <sstream>
#include <iostream>
#include <string>
#include <cmath>
#include "def.h"
#include "utils.h"
#include "mycomplex.h"
Classes | |
class | DoubleVector |
class | DoubleMatrix |
Matrix from 1..rows, 1..cols of double values. More... | |
class | ComplexVector |
Vector of double complex values. More... | |
class | ComplexMatrix |
Functions | |
void | freeMyDoubleVector (double *v, long nl, long nh) |
DoubleVector | operator * (double f, const DoubleVector &V) |
float times vector | |
ostream & | operator<< (ostream &left, const DoubleVector &V) |
prints a vector out formatted, maximum of 5 elements per line | |
istream & | operator>> (istream &left, DoubleVector &V) |
inputs a vector | |
void | freeMyDoubleMatrix (double **m, long nrl, long nrh, long ncl, long nch) |
DoubleMatrix | operator- (const DoubleMatrix &A) |
Standard linear algebra. | |
DoubleMatrix | operator * (double f, const DoubleMatrix &M) |
Assumes the double is multiplied by identity. | |
DoubleMatrix | outerProduct (const DoubleVector &v1, const DoubleVector &v2) |
Defines ![]() | |
istream & | operator>> (istream &left, DoubleMatrix &M) |
Formatted input of a matrix: size already determined in M. | |
ostream & | operator<< (ostream &left, const DoubleMatrix &V) |
Formatted output of a matrix: maximum 5 elements per line. | |
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. | |
void | positivise (double thetaL, double thetaR, const DoubleVector &diag, ComplexMatrix &u, ComplexMatrix &v) |
![]() | |
void | diagonaliseSvd (DoubleMatrix &a, DoubleVector &w, DoubleMatrix &v) |
Diagonalisation routines. | |
void | freeMyComplexVector (Complex *v, long nl, long nh) |
Memory handling routine: dimension starts at 1 by default. | |
ostream & | operator<< (ostream &left, const ComplexVector &V) |
Formatted output. | |
istream & | operator>> (istream &left, ComplexVector &V) |
Formatted input. | |
void | freeMyComplexMatrix (Complex **m, long nrl, long nrh, long ncl, long nch) |
free a Complex matrix allocated by myComplexMatrix() | |
ComplexMatrix | operator * (Complex f, const ComplexMatrix &M) |
Assumes the Complex is multiplied by identity. | |
ComplexVector | operator * (const ComplexVector &V, const ComplexMatrix &M) |
![]() | |
ComplexMatrix | outerProduct (const ComplexVector &v1, const ComplexVector &v2) |
![]() | |
istream & | operator>> (istream &left, ComplexMatrix &M) |
Formatted input. | |
ostream & | operator<< (ostream &left, const ComplexMatrix &V) |
Formatted output. |
Revision 1.2 2005/07/26 10:51:22 allanach new method nmin added to DoubleVector and DoubleMatrix by Bernhardt
Revision 1.20 2004/01/15 13:53:48 allanach New time-saving unary operators included.
Revision 1.19 2003/08/04 16:44:22 allanach Added max function for matrix and vector of doubles
Revision 1.18 2003/07/29 15:26:40 allanach Using new and delete rather than old malloc and free C-style routines
Revision 1.17 2003/07/28 12:11:37 allanach More error trapping, and rearranging rpvsoftsusy to use correct Higgs VEV (which is sometimes called at MZ)
Revision 1.16 2003/07/25 13:39:15 allanach Trapped errors properly rather than exiting
Revision 1.15 2003/06/05 09:17:19 allanach Started coding Les Houches Discord
Revision 1.14 2003/05/27 15:05:51 allanach Purely efficiency corrections: used variable rather than display() methods whenever possible
Revision 1.13 2003/05/20 15:19:40 allanach doxygen comment style implemented
Revision 1.12 2003/03/04 12:55:02 allanach Removed Slavich diagonalisation
Revision 1.10 2003/02/21 13:02:07 allanach Changed headings to new conventions
Revision 1.9 2002/09/23 18:13:50 allanach Eigenvalue order with non symmetric diagonalisation setx
Revision 1.8 2002/07/19 15:54:06 allanach SOFTSUSY1.5 version
Revision 1.7 2002/06/10 16:13:07 allanach Speeded things up by adding option for array bounds checking
Revision 1.5 2002/04/30 16:23:59 allanach Added matrix inversion routine
Revision 1.4 2001/10/03 13:34:16 allanach Changed name of complex.h to avoid conflict with STD libraries
Revision 1.3 2001/07/18 14:42:51 allanach Added proper header info
|
free a double matrix allocated by myDoubleMatrix() |
|
Sorts memory out for the vectors. Violates C-conventions, and starts at 1 rather than 0 by default |
|
Redefines mixing matrices to be complex such that diagonal values are positive for a 2 by 2: |