Home | Develop | Download | Contact
Namespaces
Funciones Pds::Matrix – Básicos

Funciones que usan Pds::Matrix, Ejemplo: Pds::Diag(), Pds::Eye(), Pds::Ones(), Pds::Zeros(), etc. Más...

Diagrama de colaboración para Funciones Pds::Matrix – Básicos:

Namespaces

namespace  Pds
 Nombre de espacion para PDS (Procesamiento Digital de Senales)
 

Métodos para reordenar memoria con Pds::Matrix.

Herramientas genéricas

bool Pds::Matrix::FusionVer (std::list< Pds::Matrix > &list)
 Concatena verticalmente varias matrices.
Si las matrices no tienen el mismo número de columnas se considera um error. Destruye las matrices en list. Este metodo es mas rapido que Pds::MergeVer(list) pues transplanta memoria. Más...
 

funciones generadoras de superficies

Descripción de algunas funciones que usan Pds::Matrix.

Pds::Matrix Pds::Peaks (unsigned int N, double L=3)
 Crea una matriz de $N\times N$ con datos correspondientes a la función $f(x,y)$, donde $-|L|\leq x \leq |L|$ y $-|L|\leq y \leq |L|$. Más...
 
Pds::Matrix Pds::Mountain (unsigned int N, double L=2)
 Crea una matriz de $N\times N$ con datos correspondientes a la función $f(x,y)$, donde $-|L|\leq x \leq |L|$ y $-|L|\leq y \leq |L|$. Más...
 
bool Pds::Meshgrid (const Pds::Vector &SpaceX, const Pds::Vector &SpaceY, Pds::Matrix &X, Pds::Matrix &Y)
 Crea una matriz $\mathbf{X}$ e una $\mathbf{Y}$, a partir de los datos en $\mathbf{SpaceX}$ y $\mathbf{SpaceY}$, respectivamente. Más...
 
Pds::Matrix Pds::Operate (double(*func)(double x, double y), const Pds::Matrix &X, const Pds::Matrix &Y)
 Crea una matriz aplicando la función $func(\mathbf{X},\mathbf{Y})$, elemento a elemento sobre las matrices $\mathbf{X}$ y $\mathbf{Y}$. Más...
 
Pds::Matrix Pds::Operate (double(*func)(double x, double y, double z), const Pds::Matrix &X, const Pds::Matrix &Y, const Pds::Matrix &Z)
 Crea una matriz aplicando la función $func(\mathbf{X},\mathbf{Y},\mathbf{Z})$, elemento a elemento sobre las matrices $\mathbf{X}$, $\mathbf{Y}$ y $\mathbf{Z}$. Más...
 

funciones con matrices especiales

Descripción de algunas funciones que usan Pds::Matrix.

Pds::Matrix Pds::MatrixId (unsigned int N)
 Crea una matriz con datos correspondentes ao Id de cada elemento. Más...
 
Pds::Matrix Pds::MatrixId (const Pds::Size &S)
 Crea una matriz con datos correspondentes ao Id de cada elemento. Más...
 
Pds::Matrix Pds::MatrixId (unsigned int Nlin, unsigned int Ncol)
 Crea una matriz con datos correspondentes ao Id de cada elemento. Más...
 
Pds::Matrix Pds::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.0. Más...
 
Pds::Matrix Pds::RandN (const Pds::Size &S)
 Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0. Más...
 
Pds::Matrix Pds::RandN (unsigned int Nlin, unsigned int Ncol)
 Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0. Más...
 
Pds::Matrix Pds::RandU (unsigned int N)
 Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más...
 
Pds::Matrix Pds::RandU (const Pds::Size &S)
 Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más...
 
Pds::Matrix Pds::RandU (unsigned int Nlin, unsigned int Ncol)
 Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0. Más...
 
Pds::Matrix Pds::Diag (Matrix A)
 Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una columna y lueg se pasa a la siguiente. Más...
 
Pds::Matrix Pds::Eye (unsigned int N)
 Retorna una matriz con unos en la diagonal y el resto ceros.
Más...
 
Pds::Matrix Pds::Ones (const Pds::Size &S)
 Retorna una matriz con unos.
Más...
 
Pds::Matrix Pds::Ones (unsigned int Nlin, unsigned int Ncol)
 Retorna una matriz con unos.
Más...
 
Pds::Matrix Pds::Ones (unsigned int N)
 Retorna una matriz con unos.
Más...
 
Pds::Matrix Pds::Zeros (const Pds::Size &S)
 Retorna una matriz con ceros.
Más...
 
Pds::Matrix Pds::Zeros (unsigned int Nlin, unsigned int Ncol)
 Retorna una matriz con ceros.
Más...
 
Pds::Matrix Pds::Zeros (unsigned int N)
 Retorna una matriz con ceros.
Más...
 

funciones para monomios en matrices

Descripción de algunas funciones que usan Pds::Matrix.

Pds::Matrix Pds::CountingTable (unsigned int N, unsigned int M)
 Retorna una matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y $M^N$ lineas. La lineas de $\mathbf{S}_{N}(M)$ representan un conteo con $N$ numeros enteros que van de $0$ a $M-1$. Más...
 
Pds::Matrix Pds::CountingTable (unsigned int N, int min, int max, unsigned int from_id)
 Calcula la matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y $M^N$ lineas. Las lineas de $\mathbf{S}_{N}(M)$ representan un conteo con $N$ numeros enteros que van de $min$ a $max$ donde $M=max+1-min$. Más...
 
Pds::Matrix Pds::MultisetIndexSum (unsigned int N, unsigned int M)
 Retorna una matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y ${{N+M-1} \choose M}$ lineas. La lineas de $\mathbf{S}_{N}(M)$ tienen todas las combinaciones de $N$ numeros enteros que sumen $M$. Para obter $\mathbf{S}_{N}(M)$ es usada recursivamente la siguiente ecuación. Más...
 
std::string Pds::MultisetIndexSumToString (const Pds::Matrix &ID, std::string Separator=", ", unsigned int n=1)
 Retorna una cadena que representa una matriz de indices $\mathbf{ID}$ con $L$ lineas y $N$ columnas. Los indices $\mathbf{d}_l$ estan agrupados en las $L$ lineas de la matriz $\mathbf{ID}$. Más...
 
Pds::Matrix Pds::Monomials (const Pds::Matrix &X, unsigned int M, Pds::Matrix &ID)
 Dada uma matriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_n,\quad ...,\quad \mathbf{x}_N\right]$, compuesta por la concatenacion de $N$ vectores columna $\mathbf{x}_n$. La funcion retorna una matriz $\overline{\mathbf{X}}^{M}$ compuesta por $L=\left({N \choose M}\right)$ vectores columnas $\mathbf{\overline{X}}^{\mathbf{d}_l}$ que representan monomios de orden $M$. Más...
 
Pds::Matrix Pds::Monomials (const Pds::Matrix &X, unsigned int M)
 Dada uma matriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_n,\quad ...,\quad \mathbf{x}_N\right]$, compuesta por la concatenacion de $N$ vectores columna $\mathbf{x}_n$. La funcion retorna una matriz $\overline{\mathbf{X}}^{M}$ compuesta por $L=\left({N \choose M}\right)$ vectores columnas $\mathbf{\overline{X}}^{\mathbf{d}_l}$ que representan monomios de orden $M$. Más...
 

funciones de busqueda

Descripción de algunas funciones que usan Pds::Matrix.

std::vector< unsigned int > Pds::Find (const Pds::Matrix &A)
 Retorna una lista de indices donde existe un 1 en la matriz A. Más...
 

funciones de concatenacion

Descripción de algunas funciones que usan Pds::Matrix.

Pds::Matrix Pds::MergeVer (const std::initializer_list< Pds::Matrix > list)
 Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error. Más...
 
Pds::Matrix Pds::MergeVer (const std::list< Pds::Matrix > &list)
 Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error. Más...
 
Pds::Matrix Pds::MergeHor (const std::initializer_list< Pds::Matrix > list)
 Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error. Más...
 
Pds::Matrix Pds::MergeHor (const std::list< Pds::Matrix > &list)
 Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error. Más...
 
Pds::Matrix Pds::RegressorMatrix (const std::initializer_list< Pds::Matrix > list)
 Retorna una Regressor Matrix $\mathbf{R}$, creado concatenando verticalmente las matrices $\mathbf{list_n}$ en una lista $\mathbf{list}$.
Si las matrices no tienen el mismo número de columnas se considera um error. Más...
 
Pds::Matrix Pds::RegressorMatrix (const Pds::Matrix &B)
 Retorna una Regressor Matrix $\mathbf{R}$ creado concatenando horizontalmente un vector de unos $\overline{\mathbf{1}}$ con una matriz $\mathbf{B}$. Más...
 
Pds::Matrix Pds::RegressorMatrix (const Pds::Matrix &B, unsigned int M)
 Retorna una Regressor Matrix $\mathbf{R}$ para una forma polinomial multivariada de orden M. $\mathbf{R}$ es creado concatenando horizontalmente matrices $\overline{\mathbf{B}}^{m},~\forall m \in \{0,1,2,...,M\}$. Más...
 
Pds::Matrix Pds::RegressorMatrix (const Pds::Matrix &B, unsigned int M, Pds::Matrix &ID)
 Retorna una Regressor Matrix $\mathbf{R}$ para una forma polinomial multivariada de orden M. $\mathbf{R}$ es creado concatenando horizontalmente matrices $\overline{\mathbf{B}}^{m},~\forall m \in \{0,1,2,...,M\}$. Más...
 

Descripción detallada

Funciones que usan Pds::Matrix, Ejemplo: Pds::Diag(), Pds::Eye(), Pds::Ones(), Pds::Zeros(), etc.

#include <Pds/FuncMatrix>


Estas funciones trabajan con una matriz de la forma.

\[ \mathbf{A}=\left(\begin{matrix} a_{00} & a_{01} & \cdots & a_{0(Ncol-1)}\\ a_{10} & a_{11} & \cdots & a_{1(Ncol-1)}\\ \vdots & \vdots & \vdots & \vdots \\ a_{(Nlin-2)0} & a_{(Nlin-2)1} & \cdots & a_{(Nlin-2)(Ncol-1)}\\ a_{(Nlin-1)0} & a_{(Nlin-1)1} & \cdots & a_{(Nlin-1)(Ncol-1)}\\ \end{matrix}\right) \]

\[ A\equiv [a_{i,j}] \]

nlin es el número de lineas y ncol es el número de columnas.

Informacion adicional puede ser encontrada en [1]

Documentación de las funciones

◆ FusionVer()

bool Pds::Matrix::FusionVer ( std::list< Pds::Matrix > &  list)

Concatena verticalmente varias matrices.
Si las matrices no tienen el mismo número de columnas se considera um error. Destruye las matrices en list. Este metodo es mas rapido que Pds::MergeVer(list) pues transplanta memoria.

Parámetros
[in]listLa lista de matrices a concatenar.
Devuelve
Retorna true en caso de enxito en la matriz concatenada o false y una matriz vacía en caso de error.

◆ Peaks()

Pds::Matrix Pds::Peaks ( unsigned int  N,
double  L = 3 
)

Crea una matriz de $N\times N$ con datos correspondientes a la función $f(x,y)$, donde $-|L|\leq x \leq |L|$ y $-|L|\leq y \leq |L|$.

\[ f(x,y) = \frac{3}{8} \left(1-x\right)^{2} e^{-x^{2}-\left(1.0+y\right)^{2}} -\frac{5}{4} (\frac{x}{5} - x^{3} - y^5) e^{-x^2-y^2} -\frac{1}{24} e^{-(x+1.0)^2 - y^2 } \]

\[ z\leftarrow 126 z+127; \]

Parámetros
[in]NNúmero de lineas y columnas.
[in]LValor de los extremos.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ Mountain()

Pds::Matrix Pds::Mountain ( unsigned int  N,
double  L = 2 
)

Crea una matriz de $N\times N$ con datos correspondientes a la función $f(x,y)$, donde $-|L|\leq x \leq |L|$ y $-|L|\leq y \leq |L|$.

\[ f(x,y) = xe^{-x^2-y^2}; \]

\[ z\leftarrow 126 z+127; \]

Parámetros
[in]NNúmero de lineas y columnas.
[in]LValor de los extremos.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ Meshgrid()

bool Pds::Meshgrid ( const Pds::Vector SpaceX,
const Pds::Vector SpaceY,
Pds::Matrix X,
Pds::Matrix Y 
)

Crea una matriz $\mathbf{X}$ e una $\mathbf{Y}$, a partir de los datos en $\mathbf{SpaceX}$ y $\mathbf{SpaceY}$, respectivamente.

\[ \mathbf{X}= \left( \begin{matrix} \mathbf{SpaceX} & \mathbf{SpaceX} & \dots & \mathbf{SpaceX} \end{matrix} \right) \]

\[ \mathbf{Y}= \left( \begin{matrix} \mathbf{SpaceY}^{T} \\ \mathbf{SpaceY}^{T} \\ \vdots \\ \mathbf{SpaceY} \end{matrix} \right) \]

Parámetros
[in]SpaceXVector con los datos que seran repetidos en cada columna de X.
[in]SpaceYVector con los datos que seran repetidos en cada linea de Y.
[out]XMatriz X.
[out]YMatriz Y.
Devuelve
Retorna true si todo fue bien o false en caso de error.

◆ Operate() [1/2]

Pds::Matrix Pds::Operate ( double(*)(double x, double y)  func,
const Pds::Matrix X,
const Pds::Matrix Y 
)

Crea una matriz aplicando la función $func(\mathbf{X},\mathbf{Y})$, elemento a elemento sobre las matrices $\mathbf{X}$ y $\mathbf{Y}$.

\[ \mathbf{Z}=func(\mathbf{X},\mathbf{Y}) \]

Parámetros
[in]funcFunción a aplicar, esta debe tener a forma double func(double, double).
[in]XMatriz X.
[in]YMatriz Y.
Devuelve
Retorna la matriz $\mathbf{Z}$.

◆ Operate() [2/2]

Pds::Matrix Pds::Operate ( double(*)(double x, double y, double z)  func,
const Pds::Matrix X,
const Pds::Matrix Y,
const Pds::Matrix Z 
)

Crea una matriz aplicando la función $func(\mathbf{X},\mathbf{Y},\mathbf{Z})$, elemento a elemento sobre las matrices $\mathbf{X}$, $\mathbf{Y}$ y $\mathbf{Z}$.

\[ \mathbf{H}=func(\mathbf{X},\mathbf{Y},\mathbf{Z}) \]

Parámetros
[in]funcFunción a aplicar, esta debe tener a forma double func(double, double, double).
[in]XMatriz X.
[in]YMatriz Y.
[in]ZMatriz Z.
Devuelve
Retorna la matriz $\mathbf{H}$.

◆ MatrixId() [1/3]

Pds::Matrix Pds::MatrixId ( unsigned int  N)

Crea una matriz con datos correspondentes ao Id de cada elemento.

Parámetros
[in]NNúmero de lineas y columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ MatrixId() [2/3]

Pds::Matrix Pds::MatrixId ( const Pds::Size S)

Crea una matriz con datos correspondentes ao Id de cada elemento.

Parámetros
[in]STamaño de la matriz.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ MatrixId() [3/3]

Pds::Matrix Pds::MatrixId ( unsigned int  Nlin,
unsigned int  Ncol 
)

Crea una matriz con datos correspondentes ao Id de cada elemento.

Parámetros
[in]NlinNúmero de lineas.
[in]NcolNúmero de columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ RandN() [1/3]

Pds::Matrix Pds::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.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]NNúmero de lineas y columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.
Ejemplos
example_vector_poly.cpp.

◆ RandN() [2/3]

Pds::Matrix Pds::RandN ( const Pds::Size S)

Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]STamaño de la matriz.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ RandN() [3/3]

Pds::Matrix Pds::RandN ( unsigned int  Nlin,
unsigned int  Ncol 
)

Crea una matriz con datos aleatórios con distribución Normal de media cero 0.0 y desvío padrón 1.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]NlinNúmero de lineas.
[in]NcolNúmero de columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ RandU() [1/3]

Pds::Matrix Pds::RandU ( unsigned int  N)

Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]NNúmero de lineas y columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.
Ejemplos
example_vector_poly.cpp.

◆ RandU() [2/3]

Pds::Matrix Pds::RandU ( const Pds::Size S)

Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]STamaño de la matriz.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ RandU() [3/3]

Pds::Matrix Pds::RandU ( unsigned int  Nlin,
unsigned int  Ncol 
)

Crea una matriz con datos aleatórios uniformemente distribuidos entre 0.0 y 1.0.

Atención
La función usa internamente la función rand(), si se desea esta puede ser aleatoriamente inicializada usando la funcíón Pds::Ra::Randomize(), de lo contrario los números pseudo aleatórios siempre seguirán la misma secuencia.
Parámetros
[in]NlinNúmero de lineas.
[in]NcolNúmero de columnas.
Devuelve
Retorna una matriz no vacía si todo fue bien o una matriz vacía en caso de error.

◆ Diag()

Pds::Matrix Pds::Diag ( Matrix  A)

Retorna una matriz diagonal usando los dats de tra matriz, se lee primero todos los elementos de una columna y lueg se pasa a la siguiente.

\[ \left(\begin{matrix} a_{00} & 0 & 0 & 0\\ 0 & a_{10} & 0 & 0\\ 0 & 0 & a_{01} & 0\\ 0 & 0 & 0 & a_{11} \end{matrix}\right) \leftarrow A=\left(\begin{matrix} a_{00} & a_{01} \\ a_{10} & a_{11} \end{matrix}\right) \]

Parámetros
[in]ALa matriz donde se extraen los datos.
Devuelve
Retorna la matriz diagonal.

◆ Eye()

Pds::Matrix Pds::Eye ( unsigned int  N)

Retorna una matriz con unos en la diagonal y el resto ceros.

\[ \left(\begin{matrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{matrix}\right) \]

Parámetros
[in]NEl numero de lineas y columnas de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.

◆ Ones() [1/3]

Pds::Matrix Pds::Ones ( const Pds::Size S)

Retorna una matriz con unos.

\[ \left(\begin{matrix} 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 \end{matrix}\right) \]

Parámetros
[in]SEl tamaño de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.
Ejemplos
example_matrix_algebra.cpp.

◆ Ones() [2/3]

Pds::Matrix Pds::Ones ( unsigned int  Nlin,
unsigned int  Ncol 
)

Retorna una matriz con unos.

\[ \left(\begin{matrix} 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 \end{matrix}\right) \]

Parámetros
[in]NlinEl numero de lineas de la matriz.
[in]NcolEl numero de columnas de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.

◆ Ones() [3/3]

Pds::Matrix Pds::Ones ( unsigned int  N)

Retorna una matriz con unos.

\[ \left(\begin{matrix} 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 \end{matrix}\right) \]

Parámetros
[in]NEl numero de lineas y columnas de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.

◆ Zeros() [1/3]

Pds::Matrix Pds::Zeros ( const Pds::Size S)

Retorna una matriz con ceros.

\[ \left(\begin{matrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{matrix}\right) \]

Parámetros
[in]SEl tamaño de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.
Ejemplos
example_matrix_fill.cpp.

◆ Zeros() [2/3]

Pds::Matrix Pds::Zeros ( unsigned int  Nlin,
unsigned int  Ncol 
)

Retorna una matriz con ceros.

\[ \left(\begin{matrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{matrix}\right) \]

Parámetros
[in]NlinEl numero de lineas de la matriz.
[in]NcolEl numero de columnas de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.

◆ Zeros() [3/3]

Pds::Matrix Pds::Zeros ( unsigned int  N)

Retorna una matriz con ceros.

\[ \left(\begin{matrix} 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{matrix}\right) \]

Parámetros
[in]NEl numero de lineas y columnas de la matriz.
Devuelve
Retorna la matriz o una matriz vacía en caso de error.

◆ CountingTable() [1/2]

Pds::Matrix Pds::CountingTable ( unsigned int  N,
unsigned int  M 
)

Retorna una matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y $M^N$ lineas. La lineas de $\mathbf{S}_{N}(M)$ representan un conteo con $N$ numeros enteros que van de $0$ a $M-1$.

\[ \mathbf{S}_{2}(3)=\left(\begin{matrix} 0 & 0 \\ 1 & 0 \\ 2 & 0 \\ 0 & 1 \\ 1 & 1 \\ 2 & 1 \\ 0 & 2 \\ 1 & 2 \\ 2 & 2 \\ \end{matrix}\right) \]

Parámetros
[in]NCantidad de numeros usados en el conteo (número de columnas en la matriz).
[in]MCantidad de posibles digitos.
Devuelve
Retorna la matriz con los indices.

◆ CountingTable() [2/2]

Pds::Matrix Pds::CountingTable ( unsigned int  N,
int  min,
int  max,
unsigned int  from_id 
)

Calcula la matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y $M^N$ lineas. Las lineas de $\mathbf{S}_{N}(M)$ representan un conteo con $N$ numeros enteros que van de $min$ a $max$ donde $M=max+1-min$.

\[ \mathbf{S}_{2}(-1:1)=\left(\begin{matrix} -1 & -1 \\ 0 & -1 \\ 1 & -1 \\ -1 & 0 \\ 0 & 0 \\ 1 & 0 \\ -1 & 1 \\ 0 & 1 \\ 1 & 1 \\ \end{matrix}\right) \]

Despues retorna una sub matriz extraida desde la linea $from\_id$.

//N=2 M=3 from_id=5
A.Print(":");
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
Definition: Matrix.hpp:86
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 ...
void Print(std::string str) const
Imprime en pantalla el contenido de la matriz después del texto indicado en str.

Obtendo

1   0 
-1  1
0   1 
1   1 
Parámetros
[in]NCantidad de numeros usados en el conteo (número de columnas en la matriz).
[in]minMínimo valor del conteo.
[in]maxMáximo valor del conteo.
[in]from_idIndice incial del conteo.
Devuelve
Retorna la matriz con los indices.

◆ MultisetIndexSum()

Pds::Matrix Pds::MultisetIndexSum ( unsigned int  N,
unsigned int  M 
)

Retorna una matriz $\mathbf{S}_{N}(M)$ de $N$ columnas y ${{N+M-1} \choose M}$ lineas. La lineas de $\mathbf{S}_{N}(M)$ tienen todas las combinaciones de $N$ numeros enteros que sumen $M$. Para obter $\mathbf{S}_{N}(M)$ es usada recursivamente la siguiente ecuación.

\[ \mathbf{S}_{N}(M)=\left(\begin{matrix} \mathbf{S}_{N-1}(M) & \mathbf{\overline{0}}\\ \mathbf{S}_{N-1}(M-1) & \mathbf{\overline{1}}\\ \mathbf{S}_{N-1}(M-2) & \mathbf{\overline{2}}\\ \vdots & \vdots \\ \mathbf{S}_{N-1}(1) & \mathbf{\overline{M-1}}\\ \mathbf{S}_{N-1}(0) & \mathbf{\overline{M}}\\ \end{matrix}\right) \]

Donde se sabe que

\[ \mathbf{S}_{1}(M) =M, \qquad \mathbf{S}_{N}(0)=[ 0\quad 0\quad ... \quad 0] \]

Parámetros
[in]NCantidad de numeros usados en la suma (número de columnas en la matriz).
[in]MValor de la suma de todos los numeros en una linea.
Devuelve
Retorna la matriz con los indices.

◆ MultisetIndexSumToString()

std::string Pds::MultisetIndexSumToString ( const Pds::Matrix ID,
std::string  Separator = ", ",
unsigned int  n = 1 
)

Retorna una cadena que representa una matriz de indices $\mathbf{ID}$ con $L$ lineas y $N$ columnas. Los indices $\mathbf{d}_l$ estan agrupados en las $L$ lineas de la matriz $\mathbf{ID}$.

\[ \mathbf{ID}= \left(\begin{matrix} \mathbf{d}_1\\ \mathbf{d}_2 \\ \mathbf{d}_3 \\ \vdots \\ \mathbf{d}_{L} \\ \end{matrix}\right) \leftarrow Pds::MultisetIndexSum(N,M) \]

Donde el indice $\mathbf{d}_l$ genera el monomio $\mathbf{\overline{X}}^{\mathbf{d}_l}\equiv \mathbf{x}_{n}^{d_{l1}} \mathbf{x}_{n+1}^{d_{l2}} \mathbf{x}_{n+2}^{d_{l3}} ... \mathbf{x}_{n+N-1}^{d_{lN}}$ se $n=1$ entonces $\mathbf{\overline{X}}^{\mathbf{d}_l}\equiv \mathbf{x}_{1}^{d_{l1}} \mathbf{x}_{2}^{d_{l2}} \mathbf{x}_{3}^{d_{l3}} ... \mathbf{x}_{N}^{d_{lN}}$

Parámetros
[in]IDUna matriz con indices en las lineas.
[in]SeparatorEl texto separador entre monomios.
[in]nValor inicial de n en $x_n$, si n=0 inicia en $x_{0}$
Devuelve
Una cadena con los indices.

◆ Monomials() [1/2]

Pds::Matrix Pds::Monomials ( const Pds::Matrix X,
unsigned int  M,
Pds::Matrix ID 
)

Dada uma matriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_n,\quad ...,\quad \mathbf{x}_N\right]$, compuesta por la concatenacion de $N$ vectores columna $\mathbf{x}_n$. La funcion retorna una matriz $\overline{\mathbf{X}}^{M}$ compuesta por $L=\left({N \choose M}\right)$ vectores columnas $\mathbf{\overline{X}}^{\mathbf{d}_l}$ que representan monomios de orden $M$.

\[ \overline{\mathbf{X}}^{M}=\left[ \mathbf{\overline{X}}^{\mathbf{d}_1},\quad \mathbf{\overline{X}}^{\mathbf{d}_2}, \quad \mathbf{\overline{X}}^{\mathbf{d}_3}, \quad ...,\quad \mathbf{\overline{X}}^{\mathbf{d}_l}, \quad ...,\quad \mathbf{\overline{X}}^{\mathbf{d}_{L}} \right] \]

Donde $\mathbf{\overline{X}}^{\mathbf{c}}\equiv \mathbf{x}_1^{c_1} \mathbf{x}_2^{c_2} \mathbf{x}_3^{c_3} ... \mathbf{x}_N^{c_N}$, es la multiplicación elemento a elemento de las potencias de los vectores columna $\mathbf{x}_n$, donde $c_1+c_2+c_3+...+c_n+...+c_N=M$. Los indices estan agrupados en las lineas de la matriz $\mathbf{ID}$, esta tiene $L$ lineas y $N$ columnas

\[ \mathbf{ID}= \left(\begin{matrix} \mathbf{d}_1\\ \mathbf{d}_2 \\ \mathbf{d}_3 \\ \vdots \\ \mathbf{d}_{L-1} \\ \mathbf{d}_{L} \\ \end{matrix}\right) \leftarrow Pds::MultisetIndexSum(N,M) \]

La funcion calcula los exponentes en los monomios usando Pds::MultisetIndexSum(N,M).

Parámetros
[in]XMatriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_N\right]$.
[in]MOrden de los monomios.
[out]IDMatriz de indices (en las lineas) de todos los monomios en las columnas de la matriz $\overline{\mathbf{X}}^{M}$.
Devuelve
Retorna la matriz $\overline{\mathbf{X}}^{M}$ con los monomios.

◆ Monomials() [2/2]

Pds::Matrix Pds::Monomials ( const Pds::Matrix X,
unsigned int  M 
)

Dada uma matriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_n,\quad ...,\quad \mathbf{x}_N\right]$, compuesta por la concatenacion de $N$ vectores columna $\mathbf{x}_n$. La funcion retorna una matriz $\overline{\mathbf{X}}^{M}$ compuesta por $L=\left({N \choose M}\right)$ vectores columnas $\mathbf{\overline{X}}^{\mathbf{d}_l}$ que representan monomios de orden $M$.

\[ \overline{\mathbf{X}}^{M}=\left[ \mathbf{\overline{X}}^{\mathbf{d}_1},\quad \mathbf{\overline{X}}^{\mathbf{d}_2}, \quad \mathbf{\overline{X}}^{\mathbf{d}_3}, \quad ...,\quad \mathbf{\overline{X}}^{\mathbf{d}_l}, \quad ...,\quad \mathbf{\overline{X}}^{\mathbf{d}_{L}} \right] \]

Donde $\mathbf{\overline{X}}^{\mathbf{c}}\equiv \mathbf{x}_1^{c_1} \mathbf{x}_2^{c_2} \mathbf{x}_3^{c_3} ... \mathbf{x}_N^{c_N}$, es la multiplicación elemento a elemento de las potencias de los vectores columna $\mathbf{x}_n$, donde $c_1+c_2+c_3+...+c_n+...+c_N=M$. Los indices estan agrupados en las lineas de la matriz $\mathbf{ID}$, esta tiene $L$ lineas y $N$ columnas

\[ \mathbf{ID}= \left(\begin{matrix} \mathbf{d}_1\\ \mathbf{d}_2 \\ \mathbf{d}_3 \\ \vdots \\ \mathbf{d}_{L-1} \\ \mathbf{d}_{L} \\ \end{matrix}\right) \leftarrow Pds::MultisetIndexSum(N,M) \]

La funcion calcula los exponentes en los monomios usando Pds::MultisetIndexSum(N,M).

Parámetros
[in]XMatriz $\mathbf{X}=\left[\mathbf{x}_1,\quad \mathbf{x}_2,\quad ...,\quad \mathbf{x}_N\right]$.
[in]MOrden de los monomios.
Devuelve
Retorna la matriz $\overline{\mathbf{X}}^{M}$ con los monomios.

◆ Find()

std::vector<unsigned int> Pds::Find ( const Pds::Matrix A)

Retorna una lista de indices donde existe un 1 en la matriz A.

Parámetros
[in]AMatriz a consultar.
Devuelve
Retorna una lista de indices donde existe un 1 en la matriz A.

◆ MergeVer() [1/2]

Pds::Matrix Pds::MergeVer ( const std::initializer_list< Pds::Matrix list)

Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.

Parámetros
[in]listLa lista de matrices a concatenar.
Devuelve
Retorna la matriz concatenada o una matriz vacía en caso de error.

◆ MergeVer() [2/2]

Pds::Matrix Pds::MergeVer ( const std::list< Pds::Matrix > &  list)

Retorna una matriz concatenando verticalmente otras.
Si las matrices no tienen el mismo número de columnas se considera um error.

Parámetros
[in]listLa lista de matrices a concatenar.
Devuelve
Retorna la matriz concatenada o una matriz vacía en caso de error.

◆ MergeHor() [1/2]

Pds::Matrix Pds::MergeHor ( const std::initializer_list< Pds::Matrix list)

Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.

Parámetros
[in]listLa lista de matrices a concatenar.
Devuelve
Retorna la matriz concatenada o una matriz vacía en caso de error.

◆ MergeHor() [2/2]

Pds::Matrix Pds::MergeHor ( const std::list< Pds::Matrix > &  list)

Retorna una matriz concatenando horizontalmente otras.
Si las matrices no tienen el mismo número de lineas se considera um error.

Parámetros
[in]listLa lista de matrices a concatenar.
Devuelve
Retorna la matriz concatenada o una matriz vacía en caso de error.

◆ RegressorMatrix() [1/4]

Pds::Matrix Pds::RegressorMatrix ( const std::initializer_list< Pds::Matrix list)

Retorna una Regressor Matrix $\mathbf{R}$, creado concatenando verticalmente las matrices $\mathbf{list_n}$ en una lista $\mathbf{list}$.
Si las matrices no tienen el mismo número de columnas se considera um error.

\[ \mathbf{R}=\left(\begin{matrix} \overline{1} & \mathbf{list_0}\\ \overline{1} & \mathbf{list_1}\\ \overline{1} & \mathbf{list_2}\\ \vdots & \vdots\\ \overline{1} & \mathbf{list_{N-1}}\\ \end{matrix}\right) \]

Parámetros
[in]listLa lista de matrices $\mathbf{list_n}$ a concatenar.
Devuelve
Retorna una Regressor Matrix o una matriz vacía en caso de error.

◆ RegressorMatrix() [2/4]

Pds::Matrix Pds::RegressorMatrix ( const Pds::Matrix B)

Retorna una Regressor Matrix $\mathbf{R}$ creado concatenando horizontalmente un vector de unos $\overline{\mathbf{1}}$ con una matriz $\mathbf{B}$.

\[ \mathbf{R}=\left(\begin{matrix} \overline{\mathbf{1}} & \mathbf{B} \end{matrix}\right) \]

Parámetros
[in]BLa matriz a usar.
Devuelve
Retorna una Regressor Matrix o una matriz vacía en caso de error.

◆ RegressorMatrix() [3/4]

Pds::Matrix Pds::RegressorMatrix ( const Pds::Matrix B,
unsigned int  M 
)

Retorna una Regressor Matrix $\mathbf{R}$ para una forma polinomial multivariada de orden M. $\mathbf{R}$ es creado concatenando horizontalmente matrices $\overline{\mathbf{B}}^{m},~\forall m \in \{0,1,2,...,M\}$.

\[ \mathbf{R}=\left(\begin{matrix} \overline{1} & \overline{\mathbf{B}}^{1} & \overline{\mathbf{B}}^{2} & ... & \overline{\mathbf{B}}^{m} & ... & \overline{\mathbf{B}}^{M} \end{matrix}\right) \]

Donde $\overline{\mathbf{B}}^{m}$ es una matriz con todos los monomios de grado $m$ creado a partir de la matriz $\mathbf{B}=[\mathbf{x}_1,\mathbf{x}_2,\mathbf{x}_3,...,\mathbf{x}_N]$, es decir $\overline{\mathbf{B}}^{m}$=Pds::Monomials(B,m).

Parámetros
[in]BLa matriz a usar.
[in]MEl orden del polinomio multivariado.
Devuelve
Retorna una Regressor Matrix o una matriz vacía en caso de error.
Ver también
Pds::Monomials()

◆ RegressorMatrix() [4/4]

Pds::Matrix Pds::RegressorMatrix ( const Pds::Matrix B,
unsigned int  M,
Pds::Matrix ID 
)

Retorna una Regressor Matrix $\mathbf{R}$ para una forma polinomial multivariada de orden M. $\mathbf{R}$ es creado concatenando horizontalmente matrices $\overline{\mathbf{B}}^{m},~\forall m \in \{0,1,2,...,M\}$.

\[ \mathbf{R}=\left(\begin{matrix} \overline{1} & \overline{\mathbf{B}}^{1} & \overline{\mathbf{B}}^{2} & ... & \overline{\mathbf{B}}^{m} & ... & \overline{\mathbf{B}}^{M} \end{matrix}\right) \]

Donde $\overline{\mathbf{B}}^{m}$ es una matriz con todos los monomios de grado $m$ creado a partir de la matriz $\mathbf{B}=[\mathbf{x}_1,\mathbf{x}_2,\mathbf{x}_3,...,\mathbf{x}_N]$, es decir $\overline{\mathbf{B}}^{m}$=Pds::Monomials(B,m).

Parámetros
[in]BLa matriz a usar.
[in]MEl orden del polinomio multivariado.
[out]IDLa matriz donde sus lineas representan los indices de los monomios en las columnas de $\mathbf{R}$.
Devuelve
Retorna una Regressor Matrix o una matriz vacía en caso de error.
Ver también
Pds::Monomials()

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed