Home | Develop | Download | Contact
example_matrix_algebra3.cpp

Programa para el testeo de las funciones.

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

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

Para executar o programa:

./example_matrix_algebra3

Retornando por consola:

A:
0 3 6 
1 4 7 
2 5 8 
x:
1  
1  
-1 
x^t A x: -4
X:
1  1  -1 
-1 2  -1 
2  1  -1 
2  -1 -1 
x_l^t A x_l:
-4 
0  
-8 
0  
(x_l-1)^t A (x_l-1):
32 
36 
16 
72 
(x_l-1)^t (x_l-1):
4 
9 
5 
9 
A:
2.7215017372377   -0.84493658544726 2.2647937900688   
2.3875202678086   3.2931788634943   -2.4195890456529  
-1.3182179542809  2.1458367584952   -1.7778023135745  
A.MinOfDiag(): -1.7778023135745
A.MinAbsOfDiag(): 1.7778023135745

Código example_matrix_algebra3.cpp:

#include <Pds/Ra>
int main(void)
{
Pds::Matrix A(3,3);
A.FillId();
A.Print("A:\n");
Pds::Vector x="1 1 -1";
x.Print("x:\n");
std::cout<<"x^t A x: "<<A.QuadraticForm(x)<<"\n";
Pds::Matrix X= " 1 1 -1\n"
"-1 2 -1\n"
" 2 1 -1\n"
" 2 -1 -1\n";
X.Print("X:\n");
A.QuadraticFormWithRows(X).Print("x_l^t A x_l:\n");
A.QuadraticFormWithRows(X,Mu).Print("(x_l-1)^t A (x_l-1):\n");
X.QuadraticDotWithRows(Mu).Print("(x_l-1)^t (x_l-1):\n");
A.FillRandU(-4,4);
A.Print("A:\n");
std::cout<<" A.MinOfDiag(): "<<A.MinOfDiag()<<"\n";
std::cout<<" A.MinAbsOfDiag(): "<<A.MinAbsOfDiag()<<"\n";
std::cout<<" A.MaxAbsOfDiag(): "<<A.MaxAbsOfDiag()<<"\n";
std::cout<<"A.MaxAbsOfLowerTriangular(): "<<A.MaxAbsOfLowerTriangular()<<"\n";
return 0;
}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:96
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Definition: Vector.hpp:80
Pds::Matrix Ones(const Pds::Size &S)
Retorna una matriz con unos.
double MinOfDiag(void) const
Retorna el valor mínimo de la diagonal de una matriz cuadrada .
double QuadraticForm(const Pds::Vector &x) const
Calcula la forma cuadrática .
bool FillRandU(void)
Inicializa la matriz con números aleatórios, distribuidos uniformemente, desde 0 a 1....
Pds::Vector QuadraticFormWithRows(const Pds::Matrix &X) const
Calcula la forma cuadrática .
double MinAbsOfDiag(void) const
Retorna el mínimo valor absoluto de la diagonal de una matriz . La matriz no necesita ser cuadrada,...
double MaxAbsOfLowerTriangular(void) const
Retorna el máximo valor absoluto de los elementos abajo de la diagonal. La matriz no necesita ser cua...
double MaxAbsOfDiag(void) const
Retorna el máximo valor absoluto de la diagonal de una matriz . La matriz no necesita ser cuadrada,...
Pds::Vector QuadraticDotWithRows(const Pds::Vector &Mu) const
Calcula la forma cuadrática .
bool FillId(void)
Inicializa la matriz con el valor de la posición de cada elemento.
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.

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed