class TCL

 The set of methods to work with the plain matrix / vector
 "derived" from  http://wwwinfo.cern.ch/asdoc/shortwrupsdir/f110/top.html
 "derived" from  http://wwwinfo.cern.ch/asdoc/shortwrupsdir/f112/top.html

 Revision 1.7  2006/05/21 18:05:26  brun
 Fix more coding conventions violations

 Revision 1.6  2006/05/20 14:06:09  brun
 Fix a VERY long list of coding conventions violations

 Revision 1.5  2003/09/30 09:52:49  brun
 Add references to the original CERNLIB packages

 Revision 1.4  2003/05/28 15:17:03  brun
 From Valeri Fine. A new version of the table package.
 It fixes a couple of memory leaks:
  class TTableDescriptorm
  class TVolumePosition
 and provides some clean up
 for the TCL class interface.

 Revision 1.3  2003/04/03 17:39:39  fine
 Make merge with ROOT 3.05.03 and add TR package
122
 Revision 1.2  2003/02/04 23:35:20  fine
 Clean up

 Revision 1.1  2002/04/15 20:23:39  fine
 NEw naming schema for RootKErnel classes and a set of classes to back geometry OO

 Revision 1.2  2001/05/29 19:08:08  brun
 New version of some STAR classes from Valery.

 Revision 1.2  2001/05/27 02:38:14  fine
 New method trsedu to solev Ax=B from Victor

 Revision 1.1.1.1  2000/11/27 22:57:14  fisyak


 Revision 1.1.1.1  2000/05/16 17:00:48  rdm
 Initial import of ROOT into CVS


Function Members (Methods)

public:
TCL()
TCL(const TCL&)
virtual~TCL()
static TClass*Class()
virtual TClass*IsA() const
static float*mxmad(const float* a, const float* b, float* c, int i, int j, int k)
static double*mxmad(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmad1(const float* a, const float* q, float* c, int i, int j, int k)
static double*mxmad1(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmad2(const float* p, const float* b, float* c, int i, int j, int k)
static double*mxmad2(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmad3(const float* p, const float* q, float* c, int i, int j, int k)
static double*mxmad3(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmad_0_(int n, const float* a, const float* b, float* c, int i, int j, int k)
static double*mxmad_0_(int n, const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmlrt(const float* a, const float* b, float* x, int ni, int nj)
static double*mxmlrt(const double* a, const double* b, double* c, int ni, int nj)
static float*mxmlrt_0_(int n__, const float* a, const float* b, float* c, int ni, int nj)
static double*mxmlrt_0_(int n__, const double* a, const double* b, double* c, int ni, int nj)
static float*mxmltr(const float* a, const float* b, float* x, int ni, int nj)
static double*mxmltr(const double* a, const double* b, double* c, int ni, int nj)
static float*mxmpy(const float* a, const float* b, float* c, int i, int j, int k)
static double*mxmpy(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmpy1(const float* a, const float* q, float* c, int i, int j, int k)
static double*mxmpy1(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmpy2(const float* p, const float* b, float* c, int i, int j, int k)
static double*mxmpy2(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmpy3(const float* p, const float* q, float* c, int i, int j, int k)
static double*mxmpy3(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmub(const float* a, const float* b, float* c, int i, int j, int k)
static double*mxmub(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmub1(const float* a, const float* q, float* c, int i, int j, int k)
static double*mxmub1(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmub2(const float* p, const float* b, float* c, int i, int j, int k)
static double*mxmub2(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxmub3(const float* p, const float* q, float* c, int i, int j, int k)
static double*mxmub3(const double* a, const double* b, double* c, int i, int j, int k)
static float*mxtrp(const float* a, float* b, int i, int j)
static double*mxtrp(const double* a, double* b, int i, int j)
TCL&operator=(const TCL&)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
static float*traat(const float* a, float* s, int m, int n)
static double*traat(const double* a, double* s, int m, int n)
static float*tral(const float* a, const float* u, float* b, int m, int n)
static double*tral(const double* a, const double* u, double* b, int m, int n)
static float*tralt(const float* a, const float* u, float* b, int m, int n)
static double*tralt(const double* a, const double* u, double* b, int m, int n)
static float*tras(const float* a, const float* s, float* b, int m, int n)
static double*tras(const double* a, const double* s, double* b, int m, int n)
static float*trasat(const float* a, const float* s, float* r, int m, int n)
static float*trasat(const double* a, const float* s, float* r, int m, int n)
static double*trasat(const double* a, const double* s, double* r, int m, int n)
static float*trata(const float* a, float* r, int m, int n)
static double*trata(const double* a, double* r, int m, int n)
static float*trats(const float* a, const float* s, float* b, int m, int n)
static double*trats(const double* a, const double* s, double* b, int m, int n)
static float*tratsa(const float* a, const float* s, float* r, int m, int n)
static double*tratsa(const double* a, const double* s, double* r, int m, int n)
static float*trchlu(const float* a, float* b, int n)
static double*trchlu(const double* a, double* b, int n)
static float*trchul(const float* a, float* b, int n)
static double*trchul(const double* a, double* b, int n)
static float*trinv(const float* t, float* s, int n)
static double*trinv(const double* t, double* s, int n)
static float*trla(const float* u, const float* a, float* b, int m, int n)
static double*trla(const double* u, const double* a, double* b, int m, int n)
static float*trlta(const float* u, const float* a, float* b, int m, int n)
static double*trlta(const double* u, const double* a, double* b, int m, int n)
static float*trpck(const float* s, float* u, int n)
static double*trpck(const double* s, double* u, int n)
static float*trqsq(const float* q, const float* s, float* r, int m)
static double*trqsq(const double* q, const double* s, double* r, int m)
static float*trsa(const float* s, const float* a, float* b, int m, int n)
static double*trsa(const double* s, const double* a, double* b, int m, int n)
static float*trsat(const float* s, const float* a, float* b, int m, int n)
static double*trsat(const double* s, const double* a, double* b, int m, int n)
static float*trsequ(float* smx, int m = 3, float* b = 0, int n = 1)
static double*trsequ(double* smx, int m = 3, double* b = 0, int n = 1)
static float*trsinv(const float* g, float* gi, int n)
static double*trsinv(const double* g, double* gi, int n)
static float*trsmlu(const float* u, float* s, int n)
static double*trsmlu(const double* u, double* s, int n)
static float*trsmul(const float* g, float* gi, int n)
static double*trsmul(const double* g, double* gi, int n)
static float*trupck(const float* u, float* s, int m)
static double*trupck(const double* u, double* s, int m)
static int*ucopy(const int* b, int* a, int n)
static float*ucopy(const float* b, float* a, int n)
static double*ucopy(const float* b, double* a, int n)
static float*ucopy(const double* b, float* a, int n)
static double*ucopy(const double* b, double* a, int n)
static void**ucopy(const void** b, void** a, int n)
static float*vadd(const float* b, const float* c, float* a, int n)
static double*vadd(const double* b, const double* c, double* a, int n)
static float*vadd(const float* b, const double* c, float* a, int n)
static double*vadd(const double* b, const float* c, double* a, int n)
static float*vcopyn(const float* a, float* x, int n)
static double*vcopyn(const double* a, double* x, int n)
static floatvdot(const float* b, const float* a, int n)
static doublevdot(const double* b, const double* a, int n)
static float*vlinco(const float* a, float fa, const float* b, float fb, float* x, int n)
static double*vlinco(const double* a, double fa, const double* b, double fb, double* x, int n)
static float*vmatl(const float* G, const float* c, float* x, int n = 3, int m = 3)
static double*vmatl(const double* G, const double* c, double* x, int n = 3, int m = 3)
static float*vmatr(const float* c, const float* G, float* x, int n = 3, int m = 3)
static double*vmatr(const double* c, const double* G, double* x, int n = 3, int m = 3)
static float*vscale(const float* a, float scale, float* b, int n)
static double*vscale(const double* a, double scale, double* b, int n)
static float*vsub(const float* a, const float* b, float* x, int n)
static double*vsub(const double* a, const double* b, double* x, int n)
static float*vsub(const float* b, const double* c, float* a, int n)
static double*vsub(const double* b, const float* c, double* a, int n)
static float*vzero(float* a, int n1)
static double*vzero(double* a, int n1)
static void**vzero(void** a, int n1)

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

float * mxmad_0_(int n_, const float *a, const float *b, float *c, int i, int j, int k)
double * mxmad_0_(int n_, const double *a, const double *b, double *c, int i, int j, int k)
float * mxmlrt_0_(int n__, const float *a, const float *b, float *c, int ni,int nj)
 Matrix Multiplication
 CERN PROGLIB# F110    MXMLRT          .VERSION KERNFOR  2.00  720707
 ORIG. 01/01/64 RKB

see original documentation of CERNLIB package F110
double * mxmlrt_0_(int n__, const double *a, const double *b, double *c, int ni,int nj)
 Matrix Multiplication (double precision)
float * mxtrp(const float *a, float *b, int i, int j)
  Matrix Transposition
 CERN PROGLIB# F110    MXTRP           .VERSION KERNFOR  1.0   650809
 ORIG. 01/01/64 RKB

see original documentation of CERNLIB package F110
double * mxtrp(const double *a, double *b, int i, int j)
  Matrix Transposition (double precision)
 CERN PROGLIB# F110    MXTRP           .VERSION KERNFOR  1.0   650809
 ORIG. 01/01/64 RKB

see original documentation of CERNLIB package F110
float * traat(const float *a, float *s, int m, int n)
 Symmetric Multiplication of Rectangular Matrices
 CERN PROGLIB# F112    TRAAT           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH *
 traat.F -- translated by f2c (version 19970219).


see original documentation of CERNLIB package F112
double * traat(const double *a, double *s, int m, int n)
  Symmetric Multiplication of Rectangular Matrices
 CERN PROGLIB# F112    TRAAT           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH *
 traat.F -- translated by f2c (version 19970219).


see original documentation of CERNLIB package F112
float * tral(const float *a, const float *u, float *b, int m, int n)
 Triangular - Rectangular Multiplication
 CERN PROGLIB# F112    TRAL            .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH
 tral.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
double * tral(const double *a, const double *u, double *b, int m, int n)
 Triangular - Rectangular Multiplication
 tral.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRAL            .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
float * tralt(const float *a, const float *u, float *b, int m, int n)
 Triangular - Rectangular Multiplication
 CERN PROGLIB# F112    TRALT           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH
 tralt.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
double * tralt(const double *a, const double *u, double *b, int m, int n)
 Triangular - Rectangular Multiplication
 CERN PROGLIB# F112    TRALT           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH
 tralt.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
float * tras(const float *a, const float *s, float *b, int m, int n)
 Symmetric - Rectangular Multiplication
 CERN PROGLIB# F112    TRAS            .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *
 tras.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
double * tras(const double *a, const double *s, double *b, int m, int n)
 Symmetric - Rectangular Multiplication
 CERN PROGLIB# F112    TRAS            .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *
 tras.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
float * trasat(const float *a, const float *s, float *r__, int m, int n)
 Transformation of Symmetric Matrix
 CERN PROGLIB# F112    TRASAT          .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *
 trasat.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
double * trasat(const double *a, const double *s, double *r__, int m, int n)
 Transformation of Symmetric Matrix
 CERN PROGLIB# F112    TRASAT          .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *
 trasat.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
float * trasat(const double *a, const float *s, float *r__, int m, int n)
 Transformation of Symmetric Matrix
 CERN PROGLIB# F112    TRASAT          .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *
 trasat.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
float * trata(const float *a, float *r__, int m, int n)
 trata.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRATA           .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
float * trats(const float *a, const float *s, float *b, int m, int n)
 
  see original documentation of CERNLIB package F112
 
Local variables
float * trchlu(const float *a, float *b, int n)
 
  see original documentation of CERNLIB package F112
 
Local variables
float * trpck(const float *s, float *u, int n)
 trpck.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRPCK           .VERSION KERNFOR  2.08  741218 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
float * trqsq(const float *q, const float *s, float *r__, int m)
 trqsq.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRQSQ           .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
float * trsa(const float *s, const float *a, float *b, int m, int n)
 trsa.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRSA            .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
Local variables
float * trupck(const float *u, float *s, int m)
 trupck.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRUPCK          .VERSION KERNFOR  2.08  741218
 ORIG. 18/12/74 WH

see original documentation of CERNLIB package F112
double * trata(const double *a, double *r__, int m, int n)
 
  see original documentation of CERNLIB package F112
 
double * trats(const double *a, const double *s, double *b, int m, int n)
 
  see original documentation of CERNLIB package F112
 
Local variables
double * trchlu(const double *a, double *b, int n)
 trchlu.F -- translated by f2c (version 19970219).

see original documentation of CERNLIB package F112
Local variables
double * trchul(const double *a, double *b, int n)
 
  see original documentation of CERNLIB package F112
 
Local variables
double * trinv(const double *t, double *s, int n)
 trinv.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRINV           .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *


see original documentation of CERNLIB package F112
double * trlta(const double *u, const double *a, double *b, int m, int n)
 trlta.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRLTA           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH

see original documentation of CERNLIB package F112
double * trqsq(const double *q, const double *s, double *r__, int m)
 trqsq.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRQSQ           .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
double * trsa(const double *s, const double *a, double *b, int m, int n)
 trsa.F -- translated by f2c (version 19970219).
 CERN PROGLIB# F112    TRSA            .VERSION KERNFOR  4.15  861204 *
 ORIG. 18/12/74 WH *

see original documentation of CERNLIB package F112
Local variables
double * trsat(const double *s, const double *a, double *b, int m, int n)
 trsat.F -- translated by f2c (version 19970219)
 CERN PROGLIB# F112    TRSAT           .VERSION KERNFOR  4.15  861204
 ORIG. 18/12/74 WH

see original documentation of CERNLIB package F112
float * trsequ(float *smx, int m, float *b, int n)
 Linear Equations, Matrix Inversion
 trsequ solves the matrix equation

             SMX*x = B

 which represents a system of m simultaneous linear equations with n right-hand sides:
 SMX is an  unpacked symmetric matrix (all  elements) (m x m)
 B is an unpacked matrix of right-hand sides (n x m)

double * trsequ(double *smx, int m, double *b, int n)
 Linear Equations, Matrix Inversion
 trsequ solves the matrix equation

             SMX*x = B

 which represents a system of m simultaneous linear equations with n right-hand sides:
 SMX is an  unpacked symmetric matrix (all  elements) (m x m)
 B is an unpacked matrix of right-hand sides (n x m)

float * mxmad(const float *a, const float *b, float *c, int i, int j, int k)
float * mxmad1(const float *a, const float *q, float *c, int i, int j, int k)
float * mxmad2(const float *p, const float *b, float *c, int i, int j, int k)
float * mxmad3(const float *p, const float *q, float *c, int i, int j, int k)
float * mxmpy(const float *a, const float *b, float *c, int i, int j, int k)
float * mxmpy1(const float *a, const float *q, float *c, int i, int j, int k)
float * mxmpy2(const float *p, const float *b, float *c, int i, int j, int k)
float * mxmpy3(const float *p, const float *q, float *c, int i, int j, int k)
float * mxmub(const float *a, const float *b, float *c, int i, int j, int k)
float * mxmub1(const float *a, const float *q, float *c, int i, int j, int k)
float * mxmub2(const float *p, const float *b, float *c, int i, int j, int k)
float * mxmub3(const float *p, const float *q, float *c, int i, int j, int k)
float * mxmlrt(const float *a, const float *b, float *x, int ni, int nj)
float * mxmltr(const float *a, const float *b, float *x, int ni, int nj)
double * mxmad(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmad2(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmad3(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmpy(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmpy1(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmpy2(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmpy3(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmub(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmub1(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmub2(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmub3(const double *a, const double *b, double *c, int i, int j, int k)
double * mxmlrt(const double *a, const double *b, double *c, int ni, int nj)
double * mxmltr(const double *a, const double *b, double *c, int ni, int nj)
int * ucopy(const int *b, int *a, int n)
float * ucopy(const float *b, float *a, int n)
float * ucopy(const double *b, float *a, int n)
double * ucopy(const float *b, double *a, int n)
double * ucopy(const double *b, double *a, int n)
void ** ucopy(const void **b, void **a, int n)
float * vadd(const float *b, const float *c, float *a, int n)
double * vadd(const double *b, const double *c, double *a, int n)
float * vadd(const float *b, const double *c, float *a, int n)
double * vadd(const double *b, const float *c, double *a, int n)
float vdot(const float *b, const float *a, int n)
double vdot(const double *b, const double *a, int n)
float * vsub(const float *a, const float *b, float *x, int n)
double * vsub(const double *a, const double *b, double *x, int n)
float * vsub(const float *b, const double *c, float *a, int n)
double * vsub(const double *b, const float *c, double *a, int n)
float * vcopyn(const float *a, float *x, int n)
double * vcopyn(const double *a, double *x, int n)
float * vzero(float *a, int n1)
double * vzero(double *a, int n1)
void ** vzero(void **a, int n1)
float * vscale(const float *a, float scale, float *b, int n)
double * vscale(const double *a, double scale, double *b, int n)
float * vlinco(const float *a, float fa, const float *b, float fb, float *x, int n)
double * vlinco(const double *a, double fa, const double *b, double fb,double *x, int n)
float * vmatl(const float *G, const float *c, float *x, int n,int m)
double * vmatl(const double *G, const double *c, double *x, int n,int m)
float * vmatr(const float *c, const float *G, float *x, int n,int m)
double * vmatr(const double *c, const double *G, double *x, int n,int m)
virtual ~TCL()
{ }
float * mxmad1(const float *a, const float *b, float *c, int i, int j, int k)
float * tratsa(const float *a, const float *s, float *r, int m, int n)
float * trchul(const float *a, float *b, int n)
float * trinv(const float *t, float *s, int n)
float * trla(const float *u, const float *a, float *b, int m, int n)
float * trlta(const float *u, const float *a, float *b, int m, int n)
float * trpck(const float *s, float *u, int n)
float * trsinv(const float *g, float *gi, int n)
float * trsmlu(const float *u, float *s, int n)
float * trsmul(const float *g, float *gi, int n)
float * trupck(const float *u, float *s, int m)
float * trsat(const float *s, const float *a, float *b, int m, int n)
double * tratsa(const double *a, const double *s, double *r, int m, int n)
double * trla(const double *u, const double *a, double *b, int m, int n)
double * trsinv(const double *g, double *gi, int n)
double * trsmlu(const double *u, double *s, int n)
double * trsmul(const double *g, double *gi, int n)

Author: Valery Fine(fine@bnl.gov) 25/09/99
Last change: root/table:$Id: TCernLib.h 20882 2007-11-19 11:31:26Z rdm $
Last generated: 2008-06-25 08:35
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.