Home | Develop | Download | Contact
example_matrix_algebra_cholesky.cpp
1
75#include <Pds/Ra>
76
77int main(void)
78{
81
82 A= " 4 12 -16\n"
83 " 12 37 -43\n"
84 "-16 -43 98";
85
86 A.Print("A:\n");
87
91 L.Print("L:\n");
92
94 L=A.CholeskyCrout();
96 L.Print("L:\n");
97
98 std::cout<<"EigenValues:"<<A.EigenValues().T()<<"\n";
99
100 (L*L.T()).Print("\nL*L.T():\n");
101
103 A=Pds::Matrix(100,6);
104 A.FillRandN();
105 A=A.CovMatrix();
106
107 A.Print("A:\n");
108
109 Pds::Ra::Tic();
111 Pds::Ra::Toc();
112 L.Print("L:\n");
113
114 Pds::Ra::Tic();
115 L=A.CholeskyCrout();
116 Pds::Ra::Toc();
117 L.Print("L:\n");
118
120 A.FillId();
121 A=(A+A.T()-36)/2.0;
122
123 A.Print("A:\n");
124
125 Pds::Ra::Tic();
127 Pds::Ra::Toc();
128 L.Print("L:\n");
129
130 Pds::Ra::Tic();
131 L=A.CholeskyCrout();
132 Pds::Ra::Toc();
133 L.Print("L:\n");
134
135 return 0;
136}
137
138
139
140
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
const std::string Matrix
Tag de un objeto de tipo Pds::Ra::Tag::Matrix.
Definition: RaDefines.hpp:402
Pds::Matrix CholeskyCrout(void) const
Dada una matriz simétrica definida positiva , este método realiza la descomposición Cholesky,...
Pds::Vector EigenValues(unsigned int MaxIter=2048, double MinFactor=0.00001, bool SortAsc=true) const
Calcula los valores própios (Eigenvalues) de una matriz siguiendo el algoritmo shift QR,...
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
bool FillRandN(void)
Inicializa la matriz con números aleatórios, distribuidos usando una distribución Gaussiana normaliza...
bool FillId(void)
Inicializa la matriz con el valor de la posición de cada elemento.
Pds::Matrix CholeskyBanachiewicz(void) const
Dada una matriz simétrica definida positiva , este método realiza la descomposición Cholesky,...
Pds::Matrix CovMatrix(void) const
Calcula la matriz de covarianza de la matriz.
void Print(const std::string &str, unsigned int precision) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.
double Toc(void)
Retorna e imprime en pantalla el tiempo transcurrido desde Pds::Ra::Tic()
clock_t Tic(void)
Retorna el número de clocks actual. Este valor tambien es salvado internamente.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed