Home | Develop | Download | Contact
example_matrix_algebra_cholesky.cpp

Programa para el testeo de las funciones.

Programa para el testeo de las funciones.Para compilar o código example_matrix_algebra_cholesky.cpp:

g++ -static -o example_matrix_algebra_cholesky example_matrix_algebra_cholesky.cpp -lpdsramm

Para executar o programa:

./example_matrix_algebra_cholesky

Retornando por consola:

A:
4   12  -16 
12  37  -43 
-16 -43 98  
Elapsed time: 0.003 ms
L:
2  0  0  
6  1  0  
-8 5  3  
Elapsed time: 0.003 ms
L:
2  0  0  
6  1  0  
-8 5  3  
EigenValues:0.018804991512251   15.503963229408 123.47723177908


L*L.T():
4   12  -16 
12  37  -43 
-16 -43 98  
A:
0.97711646721597   0.19605791323992   0.097648216191663  0.025462562357029  0.24208539605996   0.010221850816969  
0.19605791323992   0.90715637894598   0.14437601423156   -0.036159569180046 0.078521276881047  0.032437778765261  
0.097648216191663  0.14437601423156   1.0094308486974    0.034829101241974  -0.030041912947753 -0.031660635653481 
0.025462562357029  -0.036159569180046 0.034829101241974  0.9650309533459    0.048453980157227  0.037639812999034  
0.24208539605996   0.078521276881047  -0.030041912947753 0.048453980157227  0.85219626253829   0.031445949480441  
0.010221850816969  0.032437778765261  -0.031660635653481 0.037639812999034  0.031445949480441  0.99422841699362   
Elapsed time: 0.003 ms
L:
0.98849201676896   0                  0                  0                  0                  0                  
0.19834041136798   0.9315672064668    0                  0                  0                  0                  
0.098785032691353  0.13394948785695   0.99082284022749   0                  0                  0                  
0.025758996456297  -0.044300205983136 0.038572473591309  0.98026378260056   0                  0                  
0.24490374424191   0.03214686744516   -0.059083007963329 0.046771692380011  0.88628810466459   0                  
0.010340853181982  0.032618977439642  -0.037394628980363 0.041071469201986  0.026779631209885  0.99461304714605   
Elapsed time: 0.003 ms
L:
0.98849201676896   0                  0                  0                  0                  0                  
0.19834041136798   0.9315672064668    0                  0                  0                  0                  
0.098785032691353  0.13394948785695   0.99082284022749   0                  0                  0                  
0.025758996456297  -0.044300205983136 0.038572473591309  0.98026378260056   0                  0                  
0.24490374424191   0.03214686744516   -0.059083007963329 0.046771692380011  0.88628810466459   0                  
0.010340853181982  0.032618977439642  -0.037394628980363 0.041071469201986  0.026779631209885  0.99461304714605   
A:
-18   -14.5 -11   -7.5  -4    -0.5  
-14.5 -11   -7.5  -4    -0.5  3     
-11   -7.5  -4    -0.5  3     6.5   
-7.5  -4    -0.5  3     6.5   10    
-4    -0.5  3     6.5   10    13.5  
-0.5  3     6.5   10    13.5  17    
Elapsed time: 0.002 ms
L:
Elapsed time: 0.002 ms
L:

Código example_matrix_algebra_cholesky.cpp:

#include <Pds/Ra>
int main(void)
{
A= " 4 12 -16\n"
" 12 37 -43\n"
"-16 -43 98";
A.Print("A:\n");
L.Print("L:\n");
L.Print("L:\n");
std::cout<<"EigenValues:"<<A.EigenValues().T()<<"\n";
(L*L.T()).Print("\nL*L.T():\n");
A=Pds::Matrix(100,6);
A.FillRandN();
A=A.CovMatrix();
A.Print("A:\n");
L.Print("L:\n");
L.Print("L:\n");
A.FillId();
A=(A+A.T()-36)/2.0;
A.Print("A:\n");
L.Print("L:\n");
L.Print("L:\n");
return 0;
}
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