Programa para el testeo de las funciones.
A:
1 0 0
0 1 0
0 0 1
B:
1 1 1
1 1 1
1 1 1
C:
0 0 0
0 0 0
0 0 0
D:
0.84018771676347 0.39438292663544 0.78309922339395
0.79844003310427 0.91164735751227 0.19755136920139
0.33522275555879 0.76822959445417 0.27777471067384
E:
-1.0743635946361 -0.65705834043996 -2.4575761653009
1.22862653077 -0.11275232814368 -0.14186971563947
0.024275794651666 0.19490931901932 -0.42842407852154
F:
0 2 4
1 3 5
G:
0 0 0 0 0 0
0 1 0 0 0 0
0 0 2 0 0 0
0 0 0 3 0 0
0 0 0 0 4 0
0 0 0 0 0 5
H=[A,B,C]:
1 0 0 1 1 1 0 0 0
0 1 0 1 1 1 0 0 0
0 0 1 1 1 1 0 0 0
I=[A;B;C]:
1 0 0
0 1 0
0 0 1
1 1 1
1 1 1
1 1 1
0 0 0
0 0 0
0 0 0
I.FusionVer(List):
1 0 0
0 1 0
0 0 1
1 1 1
1 1 1
1 1 1
0 0 0
0 0 0
0 0 0
List.size(): 3
List{0}:
List{0}:
List{0}:
((3,3)): 10
J=MultisetIndexSum(3,3):
3 0 0
2 1 0
1 2 0
0 3 0
2 0 1
1 1 1
0 2 1
1 0 2
0 1 2
0 0 3
((3,2)): 6
K=MultisetIndexSum(3,2):
2 0 0
1 1 0
0 2 0
1 0 1
0 1 1
0 0 2
((3,1)): 3
L=MultisetIndexSum(3,1):
1 0 0
0 1 0
0 0 1
F:
0 2 4
1 3 5
M=Pds::Monomials(F,2,ID):
0 0 4 0 8 16
1 3 9 5 15 25
ID.T():
2 1 0 1 0 0
0 1 2 0 1 0
0 0 0 1 1 2
O:
1 0 2 4 0 0 4 0 8 16
1 1 3 5 1 3 9 5 15 25
ID.T():
0 1 0 0 2 1 0 1 0 0
0 0 1 0 0 1 2 0 1 0
0 0 0 1 0 0 0 1 1 2
1 1 0 0
1 0 1 0
0 1 1 0
1 0 0 1
0 1 0 1
0 0 1 1
x_{1}x_{2}, x_{1}x_{3}, x_{2}x_{3}, x_{1}x_{4}, x_{2}x_{4}, x_{3}x_{4}
A:
1 0 0
0 1 0
0 0 1
Pds::Find(A): 0, 4, 8
Pds::CountingTable(2,3):
0 0
1 0
2 0
0 1
1 1
2 1
0 2
1 2
2 2
Pds::CountingTable(3,-1,1,14):
1 0 0
-1 1 0
0 1 0
1 1 0
-1 -1 1
0 -1 1
1 -1 1
-1 0 1
0 0 1
1 0 1
-1 1 1
0 1 1
1 1 1
X:
-3 -3 -3 -3 -3
-2 -2 -2 -2 -2
-1 -1 -1 -1 -1
0 0 0 0 0
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
Y:
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
-2 -1 0 1 2
X.FindRows(Pds::Vector("1 0 1 1 0 0 1")):
-3 -3 -3 -3 -3
-1 -1 -1 -1 -1
0 0 0 0 0
3 3 3 3 3
X.FindRows(Pds::Vector("1 0 1 1 0 0 1"),0.5):
-3 -3 -3 -3 -3
-1 -1 -1 -1 -1
0 0 0 0 0
3 3 3 3 3
H:
3 2 2
2 3 2
2 2 3
A:
1 0 0
0 2 0
0 0 3
A.Inv():
1 0 0
0 0.5 0
0 0 0.33333333333333
#include <Pds/Ra>
int main(void)
{
H.
Print(
"\nH=[A,B,C]:\n");
I.
Print(
"\nI=[A;B;C]:\n");
std::list<Pds::Matrix> List={A,B,C};
I.
Print(
"\nI.FusionVer(List):\n");
std::cout<<"List.size(): "<<List.size()<<"\n";
for (auto pmat = List.begin(); pmat != List.end(); pmat++)
pmat->Print("\nList{0}:\n");
J.
Print(
"J=MultisetIndexSum(3,3):\n");
K.
Print(
"K=MultisetIndexSum(3,2):\n");
L.
Print(
"L=MultisetIndexSum(3,1):\n");
M.
Print(
"\nM=Pds::Monomials(F,2,ID):\n");
auto func=[](double x,double y,double z)->double{return x+y+z;};
return 0;
}
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
Pds::Matrix RandN(unsigned int N)
Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1....
Pds::Matrix Zeros(const Pds::Size &S)
Retorna una matriz con ceros.
Pds::Matrix RandC(unsigned int N, double p=0.5)
Crea una matriz con datos aleatórios binários {0.0, 1.0} con P(1)=p.
Pds::Matrix Diag(Matrix A)
Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una ...
Pds::Matrix MatrixId(unsigned int N)
Crea una matriz con datos correspondentes ao Id de cada elemento.
Pds::Matrix RegressorMatrix(const std::initializer_list< Pds::Matrix > list)
Retorna una Regressor Matrix , creado concatenando verticalmente las matrices en una lista ....
bool Meshgrid(const Pds::Vector &SpaceX, const Pds::Vector &SpaceY, Pds::Matrix &X, Pds::Matrix &Y)
Crea una matriz e una , a partir de los datos en y , respectivamente.
Pds::Matrix Operate(double(*func)(double x, double y), const Pds::Matrix &X, const Pds::Matrix &Y)
Crea una matriz aplicando la función , elemento a elemento sobre las matrices y .
Pds::Matrix MergeVer(const std::initializer_list< Pds::Matrix > list)
Retorna una matriz concatenando verticalmente otras. Si las matrices no tienen el mismo número de c...
Pds::Matrix SetIndexSum(unsigned int N, unsigned int M)
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros ...
Pds::Matrix Monomials(const Pds::Matrix &X, unsigned int M, Pds::Matrix &ID)
Dada uma matriz , compuesta por la concatenacion de vectores columna . La función retorna una matriz...
Pds::Matrix MergeHor(const std::initializer_list< Pds::Matrix > list)
Retorna una matriz concatenando horizontalmente otras. Si las matrices no tienen el mismo número de...
Pds::Matrix CountingTable(unsigned int N, unsigned int M)
Retorna una matriz de columnas y lineas. La lineas de representan un conteo con numeros enteros ...
Pds::Matrix Eye(unsigned int N)
Retorna una matriz con unos en la diagonal y el resto ceros.
Pds::Matrix Ones(const Pds::Size &S)
Retorna una matriz con unos.
std::vector< unsigned int > Find(const Pds::Matrix &A)
Retorna una lista de indices donde existe un 1 en la matriz A.
std::string MultisetIndexSumToString(const Pds::Matrix &ID, std::string Separator=", ", unsigned int n=1)
Retorna una cadena que representa una matriz de indices con lineas y columnas. Los indices estan ...
Pds::Matrix MultisetIndexSum(unsigned int N, unsigned int M)
Retorna una matriz de columnas y lineas. La lineas de tienen todas las combinaciones de numeros ...
Pds::Matrix RandU(unsigned int N)
Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.
Vector LinSpace(double start, double end, unsigned int N)
Retorna un vector con elementos desde start hasta end con N elementos.
unsigned int NmultichooseK(unsigned int n, unsigned int k)
Retorna el combinatorio (n,k)
void MakeEmpty(void)
libera los datos internos de la matriz y la convierte en una matriz nula. es decir con lineas y colum...
Pds::Matrix T(void) const
Transpuesta de si mismo (A), el resultado es cargado en B.
Pds::Matrix FindRows(const Pds::Vector &B, double b=0.5) const
Retorna una nueva matriz con las lineas donde existe un 1 en la matriz B. En verdad B es binarizado i...
bool FusionVer(std::list< Pds::Matrix > &list)
Concatena verticalmente varias matrices. Si las matrices no tienen el mismo número de columnas se c...
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.
Pds::Matrix Inv(double *rcond=NULL) const
Retorna la matriz inversa.
std::string IndicesToString(std::list< unsigned int > IDs, std::string separator="")
Convierte una lista de indices a un std::string.