Home | Develop | Download | Contact
Namespaces
Funciones Pds::Matrix – Math

Funciones que usan Pds::Matrix, Ejemplo: Pds::Sin(), Pds::Cos(), Pds::Exp(), Pds::Sqrt, etc. Más...

Namespaces

namespace  Pds
 Nombre de espacio para Pds (Procesamiento Digital de Senales)
 

Funciones trigonometricas

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::Sin (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función seno.
Más...
 
Pds::Matrix Pds::Cos (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función coseno.
Más...
 
Pds::Matrix Pds::Tan (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función tangente.
Más...
 

Funciones exponencial

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::Exp (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función exponente.
Más...
 
Pds::Matrix Pds::TwoExp (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función exponente de 2.
Más...
 
Pds::Matrix Pds::Log (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logaritmo natural. Más...
 
Pds::Matrix Pds::Ln (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logaritmo natural. Más...
 
Pds::Matrix Pds::Log2 (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logaritmo de base 2. Más...
 
Pds::Matrix Pds::Log10 (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logaritmo de base 10. Más...
 

Funciones de potencia

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::Sqrt (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función raiz cuadrada. Más...
 
Pds::Matrix Pds::Pow (const Pds::Matrix &A, double var)
 Retorna el resultado de evaluar elemento a elemento la función pow. Más...
 
Pds::Matrix Pds::Pow (const Pds::Matrix &A, const Pds::Matrix &B)
 Retorna el resultado de evaluar elemento a elemento la función pow. Más...
 
Pds::Matrix Pds::Atan2 (const Pds::Matrix &A, const Pds::Matrix &B)
 Retorna el resultado de evaluar elemento a elemento la función atan2. Más...
 

Funciones pseudo Hb

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::XqHb (double p, double q)
 Retorna el resultado de evaluar la función pseudo entropia $XqHb(p,q)$. Más...
 
Pds::Matrix Pds::XqHb (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar la función pseudo entropia $XqHb(p,q)$. Más...
 
double Pds::DXqHb (double p, double q)
 Retorna el resultado de evaluar la derivada de la función pseudo entropia $XqHb(p,q)$. Más...
 
Pds::Matrix Pds::DXqHb (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar la derivada de la función pseudo entropia $XqHb(p,q)$. Más...
 

Funciones relativas a la Entropia binaria

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::PLog2P (double p)
 Retorna el resultado de evaluar la función Pds::PLog2P(). Más...
 
Pds::Matrix Pds::PLog2P (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función Pds::PLog2P(). Más...
 
double Pds::CrossEntropy (double p, double q)
 Retorna el resultado de evaluar la función Entropia binária. Más...
 
Pds::Matrix Pds::CrossEntropy (const Pds::Matrix &P, const Pds::Matrix &Q)
 Retorna el resultado de evaluar la función Entropia binária. Más...
 
double Pds::KLDivergence (double p, double q)
 Retorna el resultado de evaluar la Kullback–Leibler divergence. Más...
 
Pds::Matrix Pds::KLDivergence (const Pds::Matrix &P, const Pds::Matrix &Q)
 Retorna el resultado de evaluar la Kullback–Leibler divergence. Más...
 

Funciones de Entropia binaria

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::Hb (double x)
 Retorna el resultado de evaluar la función Entropia binária. Más...
 
Pds::Matrix Pds::Hb (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función Entropia binária. Más...
 
double Pds::HbInv (double h)
 Retorna el valor $p$ de la función de entropía binaria para un valor de $h\approx h_b(p)$. Más...
 
Pds::Matrix Pds::HbInv (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función inversa de la Entropia binária. Más...
 
double Pds::Logit2 (double x)
 Retorna el resultado de evaluar la función logit. Más...
 
Pds::Matrix Pds::Logit2 (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logit. Más...
 
double Pds::Hbn (double x)
 Retorna el resultado de evaluar la función Entropia binária natural. Más...
 
Pds::Matrix Pds::Hbn (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función Entropia binária natural. Más...
 

Funciones Tsallis

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::qExp (double x, double q)
 Retorna el resultado de evaluar la función q-exponent de Tsallis. Más...
 
Pds::Matrix Pds::qExp (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar elemento a elemento la función q-exponent de Tsallis. Más...
 
double Pds::qLog (double x, double q)
 Retorna el resultado de evaluar la función q-logaritmic de Tsallis. Más...
 
Pds::Matrix Pds::qLog (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar elemento a elemento la función q-logaritmic de Tsallis. Más...
 
double Pds::qHbn (double x, double q)
 Retorna el resultado de evaluar la función entropia de Tsallis. Más...
 
Pds::Matrix Pds::qHbn (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar elemento a elemento la función entropia de Tsallis. Más...
 
double Pds::qDHbn (double x, double q)
 Retorna el resultado de evaluar la derivada de la función entropia de Tsallis. Más...
 
Pds::Matrix Pds::qDHbn (const Pds::Matrix &A, double q)
 Retorna el resultado de evaluar elemento a elemento la derivada función entropia de Tsallis. Más...
 

Funciones de Information Gain

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::InformationGain (const Pds::Matrix &B, const std::vector< Pds::Matrix > &A, double Umbral=0.5)
 Retorna el Information Gain entre si mismo B y {A[0],A[1],...,A[N-1]}. Antes de comprarar las matrices se binarizan con el umbral Umbral. A[n]>Umbral, B>Umbral. Más...
 
Pds::Vector Pds::InformationGainScale (const Pds::Vector &Y, double Umbral=0.5)
 Retorna un vector con todos los valores de Information Gain, dependiendo en donde se realice un corte en el vector $Y$. Más...
 
Pds::Vector Pds::InformationSumScale (const Pds::Vector &Y, double Umbral=0.5)
 Retorna un vector con todos los valores de Information Sum, dependiendo en donde se realice un corte en el vector $Y$. Más...
 

Funciones Cumulative density functions

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::CDF::Phi (double x)
 Calcula el valor de la función $\Phi(x)$. Más...
 
double Pds::CDF::Phi (double x, double mu, double sigma)
 Calcula el valor de la función $\Phi(x)$. Más...
 
Pds::Matrix Pds::CDF::Phi (const Pds::Matrix &A)
 Calcula el valor de la función $\Phi(x)$. Más...
 
double Pds::CDF::Probit (double p)
 Calcula el valor de la función $\Phi^{-1}(p)$ que es la inversa de $\Phi(x)\equiv$Pds::CDF::Phi(). Más...
 
Pds::Matrix Pds::CDF::Probit (const Pds::Matrix &A)
 Calcula el valor de la función $\Phi^{-1}(p)$ que es la inversa de $\Phi(x)\equiv$Pds::CDF::Phi(). Más...
 

Funciones Estadisticas

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::Var (const Pds::Matrix &A, double *mean)
 Calcula el valor de la varianza de la matriz A. Más...
 
double Pds::Var (const Pds::Matrix &A)
 Calcula el valor de la varianza de la matriz A. Más...
 
double Pds::Mean (const Pds::Matrix &A)
 Calcula el valor medio de los elementos de la matriz A. Más...
 
double Pds::Sum (const Pds::Matrix &A)
 Calcula el valor de la suma de los elementos de la matriz A. Más...
 
double Pds::R2 (const Pds::Matrix &A, const Pds::Matrix &B)
 Calcula el coeficiente de determinación o $R^2$. Más...
 
double Pds::Accuracy (const Pds::Matrix &A, const Pds::Matrix &B, double Umbral=0.5)
 Calcula el valor de la Accuracy entre los elementos de las matrices A y B. A>Umbral, B>Umbral. Más...
 
double Pds::AccuracyBatchBlock (const Pds::BatchBlock &A, const Pds::BatchBlock &B, double Umbral=0.5)
 Calcula el valor de la Accuracy entre los elementos de las matrices A y B. A>Umbral, B>Umbral. Más...
 
bool Pds::CountRoundEqualIn (const Pds::Matrix &A, const Pds::Matrix &B, unsigned int &S, unsigned int &T)
 Calcula el número de elementos enteros iguales entre las matrices A y B. Más...
 
bool Pds::CountRoundEqualInBatchBlock (const Pds::BatchBlock &A, const Pds::BatchBlock &B, unsigned int &S, unsigned int &T)
 Calcula el número de elementos enteros iguales entre los objetos A y B. Más...
 
bool Pds::SquareErrorInBatchBlock (const Pds::BatchBlock &A, const Pds::BatchBlock &B, double &S)
 Calcula el Square Error entre A y B. Más...
 
double Pds::NAccuracy (const Pds::Matrix &A, const Pds::Matrix &B)
 Calcula el valor de la Accuracy entre los elementos de las matrices A y B. round(A), round(B). Más...
 
double Pds::MeanAbsoluteError (const Pds::Matrix &A, const Pds::Matrix &B)
 Calcula el valor del error absoluto medio. Más...
 

Funciones de álgebra lineal

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::ArgMax (const Pds::Matrix &X)
 Retorna el identicador (ID) de la posicion del máximo en la matriz. En caso de existir varios máximos la función retorna el primero en ser encontrado. Más...
 
double Pds::ArgMin (const Pds::Matrix &X)
 Retorna el identicador (ID) de la posicion del mínimo en la matriz. En caso de existir varios mínimos la función retorna el primero en ser encontrado. Más...
 
double Pds::Det (const Pds::Matrix &A)
 Calcula el valor de la detrminante de una matriz. Más...
 
double Pds::RMS (const Pds::Matrix &A)
 Calcula el valor raiz quadrático medio de una matriz. Más...
 
double Pds::MeanAbsolute (const Pds::Matrix &A)
 Calcula el valor absoluto medio de una matriz. Más...
 
double Pds::MeanSquare (const Pds::Matrix &A)
 Calcula el valor quadrático medio de una matriz. Más...
 
double Pds::SumSquare (const Pds::Matrix &A)
 Calcula el valor de la suma quadrática de una matriz. Más...
 
double Pds::Norm (const Pds::Matrix &A)
 Calcula el valor dela norma (Frobenius) de una matriz. Más...
 
double Pds::NormDiff (const Pds::Matrix &A, const Pds::Matrix &B)
 Calcula el valor dela norma (Frobenius) de una matriz. Más...
 

Funciones de activación

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::SQNL (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función SQNL. Más...
 
double Pds::SQNL (double x)
 Retorna el resultado de evaluar la función SQNL. Más...
 
Pds::Matrix Pds::DSQNL (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función SQNL. Más...
 
double Pds::DSQNL (double x)
 Retorna el resultado de evaluar la derivada de la función SQNL. Más...
 
Pds::Matrix Pds::Identity (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función linear. Más...
 
double Pds::Identity (double x)
 Retorna el resultado de evaluar la función linear. Más...
 
Pds::Matrix Pds::DIdentity (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función linear. Más...
 
double Pds::DIdentity (double x)
 Retorna el resultado de evaluar la derivada de la función linear. Más...
 
Pds::Matrix Pds::SoftSign (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función SoftSign. Más...
 
double Pds::SoftSign (double x)
 Retorna el resultado de evaluar la función SoftSign. Más...
 
Pds::Matrix Pds::DSoftSign (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función SoftSign. Más...
 
double Pds::DSoftSign (double x)
 Retorna el resultado de evaluar la derivada de la función SoftSign. Más...
 
Pds::Matrix Pds::ELU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función ELU. Más...
 
double Pds::ELU (double x)
 Retorna el resultado de evaluar la función ELU. Más...
 
Pds::Matrix Pds::DELU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función ELU. Más...
 
double Pds::DELU (double x)
 Retorna el resultado de evaluar la derivada de la función ELU. Más...
 
Pds::Matrix Pds::SoftPlus (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función SoftPlus. Más...
 
double Pds::SoftPlus (double x)
 Retorna el resultado de evaluar la función SoftPlus. Más...
 
Pds::Matrix Pds::DSoftPlus (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función SoftPlus. Más...
 
double Pds::DSoftPlus (double x)
 Retorna el resultado de evaluar la derivada de la función SoftPlus. Más...
 
Pds::Matrix Pds::ReLU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función ReLU. Más...
 
double Pds::ReLU (double x)
 Retorna el resultado de evaluar la función ReLU. Más...
 
Pds::Matrix Pds::DReLU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función ReLU. Más...
 
double Pds::DReLU (double x)
 Retorna el resultado de evaluar la derivada de la función ReLU. Más...
 
Pds::Matrix Pds::LeakyReLU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función ReLU. Más...
 
double Pds::LeakyReLU (double x)
 Retorna el resultado de evaluar la función Leaky ReLU. Más...
 
Pds::Matrix Pds::DLeakyReLU (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función ReLU. Más...
 
double Pds::DLeakyReLU (double x)
 Retorna el resultado de evaluar la derivada de la función Leaky ReLU. Más...
 
Pds::Matrix Pds::Gaussian (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función gaussiana. Más...
 
double Pds::Gaussian (double x)
 Retorna el resultado de evaluar la función gaussiana. Más...
 
Pds::Matrix Pds::DGaussian (const Pds::Matrix &X)
 Retorna el resultado de evaluar la función gaussiana. Más...
 
double Pds::DGaussian (double x)
 Retorna el resultado de evaluar la función gaussiana. Más...
 
Pds::Matrix Pds::Tanh (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función tangente hiperbólico. Más...
 
double Pds::Tanh (double x)
 Retorna el resultado de evaluar la función tangente hiperbólico. Más...
 
Pds::Matrix Pds::DTanh (const Pds::Matrix &X)
 Retorna el resultado de evaluar la derivada de la función tangente hiperbólico. Más...
 
double Pds::DTanh (double x)
 Retorna el resultado de evaluar la derivada de la función tangente hiperbólico. Más...
 
Pds::Matrix Pds::Sigmoid (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la función sigmoid. Más...
 
double Pds::Sigmoid (double x)
 Retorna el resultado de evaluar elemento a elemento la función sigmoid. Más...
 
Pds::Matrix Pds::DSigmoid (const Pds::Matrix &X)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función sigmoid. Más...
 
double Pds::DSigmoid (double x)
 Retorna el resultado de evaluar elemento a elemento la derivada de la función sigmoid. Más...
 

Funciones de activación multiple

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::SoftMax (const Pds::Matrix &X)
 Retorna el resultado de evaluar la función SoftMax. Más...
 
Pds::Matrix Pds::HardMax (const Pds::Matrix &X)
 Retorna el resultado de evaluar la función HardMax (ArgMax in Machine learning). Más...
 

Funcione de analisis combinatorio

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

unsigned int Pds::Factorial (unsigned int n)
 Evalúa factorial de n, igual a n!. Más...
 
unsigned int Pds::NchooseK (unsigned int n, unsigned int k)
 Retorna el combinatorio (n,k) Más...
 
unsigned int Pds::NmultichooseK (unsigned int n, unsigned int k)
 Retorna el combinatorio (n,k) Más...
 

Funciones de aredondamento a enteros

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::UnitStep (double x)
 Retorna el resultado de evaluar la función UnitStep(). Más...
 
Pds::Matrix Pds::UnitStep (const Pds::Matrix &A)
 Retorna el resultado de evaluar la función UnitStep(). Más...
 
double Pds::UnitRamp (double x)
 Retorna el resultado de evaluar la función UnitRamp(). Más...
 
Pds::Matrix Pds::UnitRamp (const Pds::Matrix &A)
 Retorna el resultado de evaluar la función UnitRamp(). Más...
 
double Pds::SignNZ (double x)
 Retorna el resultado de evaluar la función Sign Non Zero. Más...
 
double Pds::Sign (double x)
 Retorna el resultado de evaluar la función Sign. Más...
 
Pds::Matrix Pds::Sign (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función Sign. Más...
 
Pds::Matrix Pds::Round (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función round.
Más...
 

Funciones de telecomunicaciones

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

double Pds::MuLaw (double x, double Mu)
 Retorna el resultado de evaluar la $\mu - law$ (ley mu). Más...
 
Pds::Matrix Pds::MuLaw (const Pds::Matrix &A, double Mu)
 Retorna el resultado de evaluar la $\mu - law$. (ley mu). Más...
 
double Pds::MuLawInv (double y, double Mu)
 Retorna el resultado de evaluar la $\mu - law$ (ley mu). Más...
 
Pds::Matrix Pds::MuLawInv (const Pds::Matrix &A, double Mu)
 Retorna el resultado de evaluar la $\mu - law$. (ley mu). Más...
 

Funciones relativas a la convolução

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::Conv2DCh (const std::vector< Pds::Matrix > &A, const std::vector< Pds::Matrix > &Kernel, const std::vector< unsigned int > &Strides={1, 1}, Pds::Ra::Padding Padding=Pds::Ra::Valid)
 Calcula la convolución de todos los canales entre A y Kernel. Más...
 
Pds::Vector Pds::Conv1DCh (const std::vector< Pds::Vector > &A, const std::vector< Pds::Vector > &Kernel, unsigned int Strides=1, Pds::Ra::Padding Padding=Pds::Ra::Valid)
 Calcula la convolución de todos los canales entre A y Kernel. Más...
 
Pds::Matrix Pds::Conv1DCh (const std::vector< Pds::Matrix > &A, const std::vector< Pds::Vector > &Kernel, unsigned int Strides=1, Pds::Ra::Padding Padding=Pds::Ra::Valid)
 Calcula la convolución de todos los canales entre A y Kernel. Más...
 

Funciones varias

Descripcion de algunas funciónes matematicas que usan Pds::Matrix.

Pds::Matrix Pds::Abs (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función valor absoluto.
Más...
 
double Pds::Logit (double x)
 Retorna el resultado de evaluar la función logit. Más...
 
Pds::Matrix Pds::Logit (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función logit. Más...
 
Pds::Matrix Pds::Erf (const Pds::Matrix &A)
 Calcula el valor de la función $erf(x)$. Más...
 
double Pds::Sinc (double x)
 Retorna el resultado de evaluar la función sinc. Más...
 
Pds::Matrix Pds::Sinc (const Pds::Matrix &A)
 Retorna el resultado de evaluar elemento a elemento la función sinc. Más...
 

Descripción detallada

Funciones que usan Pds::Matrix, Ejemplo: Pds::Sin(), Pds::Cos(), Pds::Exp(), Pds::Sqrt, etc.

#include <Pds/MathMatrix>


Estas funciónes 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 [5]

Documentación de las funciones

◆ Sin()

Pds::Matrix Pds::Sin ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función seno.

\[ sin(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Cos()

Pds::Matrix Pds::Cos ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función coseno.

\[ cos(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Tan()

Pds::Matrix Pds::Tan ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función tangente.

\[ tan(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Exp()

Pds::Matrix Pds::Exp ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función exponente.

\[ e^A \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ TwoExp()

Pds::Matrix Pds::TwoExp ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función exponente de 2.

\[ 2^A \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Log()

Pds::Matrix Pds::Log ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logaritmo natural.

\[ ln(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Pds::Ln()

◆ Ln()

Pds::Matrix Pds::Ln ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logaritmo natural.

\[ ln(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Pds::Log()
Ejemplos
example_matrixmath.cpp.

◆ Log2()

Pds::Matrix Pds::Log2 ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logaritmo de base 2.

\[ log_2(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Log10()

Pds::Matrix Pds::Log10 ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logaritmo de base 10.

\[ log_{10}(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Sqrt()

Pds::Matrix Pds::Sqrt ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función raiz cuadrada.

\[ \sqrt{A} \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Pow() [1/2]

Pds::Matrix Pds::Pow ( const Pds::Matrix A,
double  var 
)

Retorna el resultado de evaluar elemento a elemento la función pow.

\[ A^{var} \equiv pow(A,var) \]

Parámetros
[in]ALa matriz a evaluar
[in]varLa variable a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_vector_poly.cpp.

◆ Pow() [2/2]

Pds::Matrix Pds::Pow ( const Pds::Matrix A,
const Pds::Matrix B 
)

Retorna el resultado de evaluar elemento a elemento la función pow.

\[ A^B \equiv pow(A,B) \]

Parámetros
[in]ALa matriz a evaluar
[in]BLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Atan2()

Pds::Matrix Pds::Atan2 ( const Pds::Matrix A,
const Pds::Matrix B 
)

Retorna el resultado de evaluar elemento a elemento la función atan2.

\[ atan2(A,B) \]

Parámetros
[in]ALa matriz a evaluar
[in]BLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ XqHb() [1/2]

double Pds::XqHb ( double  p,
double  q 
)

Retorna el resultado de evaluar la función pseudo entropia $XqHb(p,q)$.

\[
     XqHb(p,q)=\begin{cases}
0 & \text{ if } ~ p\leq 0 \\ 
\left(\frac{p}{0.5}\right)^q & \text{ if } ~ 0<p<0.5\\
1 & \text{ if } ~ p=0.5 \\ 
\left(\frac{1-p}{0.5}\right)^q & \text{ if } ~ 0.5<p<1\\
0 & \text{ if } ~ 1\leq p \\ 
\end{cases}
     \]

qHb
Parámetros
[in]pLa variable a evaluar
[in]qparámetro potencia.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_pseudohb.cpp.

◆ XqHb() [2/2]

Pds::Matrix Pds::XqHb ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar la función pseudo entropia $XqHb(p,q)$.

\[
     XqHb(p,q)=\begin{cases}
0 & \text{ if } ~ p\leq 0 \\ 
\left(\frac{p}{0.5}\right)^q & \text{ if } ~ 0<p<0.5\\
1 & \text{ if } ~ p=0.5 \\ 
\left(\frac{1-p}{0.5}\right)^q & \text{ if } ~ 0.5<p<1\\
0 & \text{ if } ~ 1\leq p \\ 
\end{cases}
     \]

\[
     XqHb(A,q)
     \]

qHb
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro potencia.
Devuelve
Retorna la variable evaluada.

◆ DXqHb() [1/2]

double Pds::DXqHb ( double  p,
double  q 
)

Retorna el resultado de evaluar la derivada de la función pseudo entropia $XqHb(p,q)$.

\[
     DXqHb(p,q)=\begin{cases}
0 & \text{ if } ~ p\leq 0 \\ 
+2q\left(\frac{p}{0.5}\right)^{q-1} & \text{ if } ~ 0<p<0.5\\
\pm 2q & \text{ if } ~ p=0.5 \text{ with~random~signal }\\ 
-2q\left(\frac{1-p}{0.5}\right)^{q-1} & \text{ if } ~ 0.5<p<1\\
0 & \text{ if } ~ 1\leq p \\ 
\end{cases}
     \]

qHb
Parámetros
[in]pLa variable a evaluar
[in]qparámetro potencia.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_pseudohb.cpp.

◆ DXqHb() [2/2]

Pds::Matrix Pds::DXqHb ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar la derivada de la función pseudo entropia $XqHb(p,q)$.

\[
     DXqHb(p,q)=\begin{cases}
0 & \text{ if } ~ p\leq 0 \\ 
+2q\left(\frac{p}{0.5}\right)^{q-1} & \text{ if } ~ 0<p<0.5\\
\pm 2q & \text{ if } ~ p=0.5 \text{ with~random~signal }\\ 
-2q\left(\frac{1-p}{0.5}\right)^{q-1} & \text{ if } ~ 0.5<p<1\\
0 & \text{ if } ~ 1\leq p \\ 
\end{cases}
     \]

\[
     DXqHb(A,q)
     \]

qHb
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro potencia.
Devuelve
Retorna la variable evaluada.

◆ PLog2P() [1/2]

double Pds::PLog2P ( double  p)

Retorna el resultado de evaluar la función Pds::PLog2P().

\[ PLog2P(p)=\begin{cases}
0 & \text{ if } p=0 \\ 
p~log_2(p) & \text{ else } 
\end{cases}
    \]

Pds::PLog2P()
Parámetros
[in]pLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_mathmatrix_plog2p.cpp.

◆ PLog2P() [2/2]

Pds::Matrix Pds::PLog2P ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función Pds::PLog2P().

\[ PLog2P(p)=\begin{cases}
0 & \text{ if } p=0 \\ 
p~log_2(p) & \text{ else } 
\end{cases}
    \]

Pds::PLog2P()

\[ PLog2P(\mathbf{A}) \equiv PLog2P(a_i)\qquad \forall a_i \in \mathbf{A}\]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ CrossEntropy() [1/2]

double Pds::CrossEntropy ( double  p,
double  q 
)

Retorna el resultado de evaluar la función Entropia binária.

\[ Pds::CrossEntropy(p,q)=-p~log_2(q)-(1-p) log_2(1-q) \]

\[ Pds::CrossEntropy(p,q)=Pds::KLDivergence(p,q)+Pds::Hb(p) \]

Valores
Pds::CrossEntropy(0.0,0.0):0
Pds::CrossEntropy(0.0,1.0):inf
Pds::CrossEntropy(1.0,0.0):inf
Pds::CrossEntropy(1.0,1.0):0
Pds::CrossEntropy()
Pds::CrossEntropy()
Parámetros
[in]pLa primeira probabilidade.
[in]qLa segunda probabilidade.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_mathmatrix_crossentropy.cpp.

◆ CrossEntropy() [2/2]

Pds::Matrix Pds::CrossEntropy ( const Pds::Matrix P,
const Pds::Matrix Q 
)

Retorna el resultado de evaluar la función Entropia binária.

\[ Pds::CrossEntropy(p,q)=-p~log_2(q)-(1-p) log_2(1-q) \]

\[ Pds::CrossEntropy(p,q)=Pds::KLDivergence(p,q)+Pds::Hb(p) \]

Valores
Pds::CrossEntropy(0.0,0.0):0
Pds::CrossEntropy(0.0,1.0):inf
Pds::CrossEntropy(1.0,0.0):inf
Pds::CrossEntropy(1.0,1.0):0
Pds::CrossEntropy()
Pds::CrossEntropy()
Parámetros
[in]PLa primeira probabilidade.
[in]QLa segunda probabilidade.
Devuelve
Retorna la variable evaluada.

◆ KLDivergence() [1/2]

double Pds::KLDivergence ( double  p,
double  q 
)

Retorna el resultado de evaluar la Kullback–Leibler divergence.

\[ Pds::KLDivergence(p,q)=-p~log_2\left(\frac{q}{p}\right)-(1-p) log_2\left(\frac{1-q}{1-p}\right) \]

\[ Pds::CrossEntropy(p,q)=Pds::KLDivergence(p,q)+Pds::Hb(p) \]

Valores
Pds::KLDivergence(0.0,0.0):0
Pds::KLDivergence(0.0,1.0):inf
Pds::KLDivergence(1.0,0.0):inf
Pds::KLDivergence(1.0,1.0):0
Pds::KLDivergence()
Pds::KLDivergence()
Parámetros
[in]pLa primeira probabilidade.
[in]qLa segunda probabilidade.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_mathmatrix_kldivergence.cpp.

◆ KLDivergence() [2/2]

Pds::Matrix Pds::KLDivergence ( const Pds::Matrix P,
const Pds::Matrix Q 
)

Retorna el resultado de evaluar la Kullback–Leibler divergence.

\[ Pds::KLDivergence(p,q)=-p~log_2\left(\frac{q}{p}\right)-(1-p) log_2\left(\frac{1-q}{1-p}\right) \]

\[ Pds::CrossEntropy(p,q)=Pds::KLDivergence(p,q)+Pds::Hb(p) \]

Valores
Pds::KLDivergence(0.0,0.0):0
Pds::KLDivergence(0.0,1.0):inf
Pds::KLDivergence(1.0,0.0):inf
Pds::KLDivergence(1.0,1.0):0
Pds::KLDivergence()
Pds::KLDivergence()
Parámetros
[in]PLa primeira probabilidade.
[in]QLa segunda probabilidade.
Devuelve
Retorna la variable evaluada.

◆ Hb() [1/2]

double Pds::Hb ( double  x)

Retorna el resultado de evaluar la función Entropia binária.

\[ h_b(x)=-x~log_2(x)-(1-x) log_2(1-x) \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_coin_create.cpp, example_exponential_create.cpp, example_matrixmath.cpp, example_normal_create.cpp, example_rayleigh_create.cpp y example_uniform_create.cpp.

◆ Hb() [2/2]

Pds::Matrix Pds::Hb ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función Entropia binária.

\[ h_b(x)=-x~log_2(x)-(1-x) log_2(1-x) \]

\[ h_b(\mathbf{A}) \equiv h_b(a_i)\qquad \forall a_i \in \mathbf{A}\]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ HbInv() [1/2]

double Pds::HbInv ( double  h)

Retorna el valor $p$ de la función de entropía binaria para un valor de $h\approx h_b(p)$.

\[h_b(p)\equiv -p~log_2(p)-(1-p)~log_2(1-p)\]

Parámetros
[in]hValor de entrada.
Devuelve
El valor de $p$ en $h\approx h_b(p)$. La busqueeda finaliza quando $|h-H_b(p)|<|\frac{E(h)}{1000000}|$, $ E(h)=h +(1-2 h) u(h-0.5)$ .

◆ HbInv() [2/2]

Pds::Matrix Pds::HbInv ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función inversa de la Entropia binária.

\[h_b(p)\equiv -p~log_2(p)-(1-p)~log_2(1-p)\]

Parámetros
[in]ALa matriz a evaluar
Devuelve
El valor de $p$ en $h\approx h_b(p)$. La busqueeda finaliza quando $|h-H_b(p)|<|\frac{E(h)}{1000000}|$, $ E(h)=h +(1-2 h) u(h-0.5)$ .
Ver también
Pds::Matrix::Apply()

◆ Logit2() [1/2]

double Pds::Logit2 ( double  x)

Retorna el resultado de evaluar la función logit.

\[ log_2\left(\frac{x}{1-x}\right) \equiv -\frac{d~H_b(x)}{dx}\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Logit2() [2/2]

Pds::Matrix Pds::Logit2 ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logit.

\[ log_2\left(\frac{A}{1-A}\right) \equiv -\frac{d~H_b(x)}{dx}\]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Hbn() [1/2]

double Pds::Hbn ( double  x)

Retorna el resultado de evaluar la función Entropia binária natural.

\[ h_b(x)=-x~log(x)-(1-x) log(1-x) \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Hbn() [2/2]

Pds::Matrix Pds::Hbn ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función Entropia binária natural.

\[ h_b(x)=-x~log(x)-(1-x) log(1-x) \]

\[ h_b(\mathbf{A}) \equiv h_b(a_i)\qquad \forall a_i \in \mathbf{A}\]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ qExp() [1/2]

double Pds::qExp ( double  x,
double  q 
)

Retorna el resultado de evaluar la función q-exponent de Tsallis.

\[
     qExp(x) = \begin{cases}
e^{x} & \text{if }q=1, \\[6pt]
[1+(1-q)x]^{1/(1-q)} & \text{if }q \ne 1 \text{ and } 1+(1-q)x >0, \\[6pt]
0^{1/(1-q)} & \text{if }q \ne 1\text{ and }1+(1-q)x \le 0, \\[6pt]
\end{cases}
     \]

qExp
Parámetros
[in]xLa variable a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_tsallis.cpp.

◆ qExp() [2/2]

Pds::Matrix Pds::qExp ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar elemento a elemento la función q-exponent de Tsallis.

\[
     qExp(x) = \begin{cases}
e^{x} & \text{if }q=1, \\[6pt]
[1+(1-q)x]^{1/(1-q)} & \text{if }q \ne 1 \text{ and } 1+(1-q)x >0, \\[6pt]
0^{1/(1-q)} & \text{if }q \ne 1\text{ and }1+(1-q)x \le 0, \\[6pt]
\end{cases}
     \]

\[ qExp(A) \]

qExp
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ qLog() [1/2]

double Pds::qLog ( double  x,
double  q 
)

Retorna el resultado de evaluar la función q-logaritmic de Tsallis.

\[
qLog(x) = 
\begin{cases}\ln(x)&{\text{if }}x>0{\text{ and }}q=1\\[8pt]{\dfrac {x^{1-q}-1}{1-q}}&{\text{if }}x>0{\text{ and }}q\neq 1\\[8pt]{\text{Undefined }}&{\text{if }}x\leq 0\\[8pt]\end{cases}
\]

qLog
Parámetros
[in]xLa variable a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_tsallis.cpp.

◆ qLog() [2/2]

Pds::Matrix Pds::qLog ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar elemento a elemento la función q-logaritmic de Tsallis.

\[
qLog(x) = 
\begin{cases}\ln(x)&{\text{if }}x>0{\text{ and }}q=1\\[8pt]{\dfrac {x^{1-q}-1}{1-q}}&{\text{if }}x>0{\text{ and }}q\neq 1\\[8pt]{\text{Undefined }}&{\text{if }}x\leq 0\\[8pt]\end{cases}
\]

\[ qLog(A) \]

qLog
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ qHbn() [1/2]

double Pds::qHbn ( double  x,
double  q 
)

Retorna el resultado de evaluar la función entropia de Tsallis.

\[
qHbn(x) = \frac{1-x^{q}-(1-x)^{q}}{q-1}
\]

qHb
Parámetros
[in]xLa variable a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_tsallis.cpp.

◆ qHbn() [2/2]

Pds::Matrix Pds::qHbn ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar elemento a elemento la función entropia de Tsallis.

\[
qHbn(x) = \frac{1-x^{q}-(1-x)^{q}}{q-1}
\]

\[ qHbn(A) \]

qHb
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ qDHbn() [1/2]

double Pds::qDHbn ( double  x,
double  q 
)

Retorna el resultado de evaluar la derivada de la función entropia de Tsallis.

\[
qDHbn(x) = \frac{-q~x^{q-1}+q~(1-x)^{q-1}}{q-1}
\]

qHb
Parámetros
[in]xLa variable a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_tsallis.cpp.

◆ qDHbn() [2/2]

Pds::Matrix Pds::qDHbn ( const Pds::Matrix A,
double  q 
)

Retorna el resultado de evaluar elemento a elemento la derivada función entropia de Tsallis.

\[
qDHbn(x) = \frac{-q~x^{q-1}+q~(1-x)^{q-1}}{q-1}
\]

\[ qDHbn(A) \]

qHb
Parámetros
[in]ALa matriz a evaluar
[in]qparámetro Tsallis.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ InformationGain()

double Pds::InformationGain ( const Pds::Matrix B,
const std::vector< Pds::Matrix > &  A,
double  Umbral = 0.5 
)

Retorna el Information Gain entre si mismo B y {A[0],A[1],...,A[N-1]}. Antes de comprarar las matrices se binarizan con el umbral Umbral. A[n]>Umbral, B>Umbral.

\[h_b(p)=- p log_2(p)- (1-p) log_2(1-p)\]

\[IG=h_b(p_{\mathbf{B}})-\sum_{n=0}^{N-1} \frac{N_{\mathbf{A[n]}}}{N_{\mathbf{B}}}h_b(p_{\mathbf{A[n]}})\]

  • $p_{\mathbf{B}}$ es la probabilidad de 1s en la matriz $\mathbf{B}$.
  • $p_{\mathbf{A[n]}}$ es la probabilidad de 1s en la matriz $\mathbf{A[n]}$.
    Parámetros
    [in]BMatriz total. Estas seran binarizadas con Umbral.
    [in]Avector de matrices. Estas seran binarizadas con Umbral.
    [in]UmbralUmbral de binarización. A>Umbral.
    Devuelve
    Retorna el Information Gain entre si mismo B y {A[0],A[1],...,A[N-1]}. En caso de que la matriz sea vacía o algun otro problema se retorna Pds::Ra::Nan.

◆ InformationGainScale()

Pds::Vector Pds::InformationGainScale ( const Pds::Vector Y,
double  Umbral = 0.5 
)

Retorna un vector con todos los valores de Information Gain, dependiendo en donde se realice un corte en el vector $Y$.

\[
   \mathbf{Y} \leftarrow \mathbf{Y}>Umbral
\]

\[
   IG_{i}=h_b(p_{\mathbf{Y}}) 
   - \frac{i}{N}h_b(p_{\mathbf{Y}_{0:i-1}})
   - \frac{N-i}{N}h_b(p_{\mathbf{Y}_{i:N-1}})
\]

  • $p_{\mathbf{Y}}$ es la probabilidad de 1s en la matriz $\mathbf{Y}$.
  • $p_{\mathbf{Y}_{0:i-1}}$ es la probabilidad de 1s en la matriz $\mathbf{Y}_{0:i-1}$.
  • $p_{\mathbf{Y}_{i:N-1}}$ es la probabilidad de 1s en la matriz $\mathbf{Y}_{i:N-1}$.

El valor IG.GetRaw(i) es el Information Gain si quiebro el vector $\mathbf{Y}$ en $\mathbf{Y}_{0:i-1}$ y $\mathbf{Y}_{i:N-1}$, es decir $IG_{i}=Pds::InformationGain(\mathbf{Y},\{\mathbf{Y}_{0:(i-1)},\mathbf{Y}_{i:N-1}\})$

Pds::InformationGainScale
Parámetros
[in]YData $Y$ con $N$ elementos.
[in]UmbralUmbral de para la binarizacion de $Y$, $Y>=Umbral$.
Devuelve
Retorna un vector $IG$ con todos los valores de Information Gain, dependiendo en donde se realice el corte en $Y$.
Ejemplos
example_matrixmath_information.cpp.

◆ InformationSumScale()

Pds::Vector Pds::InformationSumScale ( const Pds::Vector Y,
double  Umbral = 0.5 
)

Retorna un vector con todos los valores de Information Sum, dependiendo en donde se realice un corte en el vector $Y$.

\[
   \mathbf{Y} \leftarrow \mathbf{Y}>Umbral
\]

\[
   IS_{i}=
   \frac{i}{N}h_b(p_{\mathbf{Y}_{0:i-1}})+
   \frac{N-i}{N}h_b(p_{\mathbf{Y}_{i:N-1}})
\]

  • $p_{\mathbf{Y}_{0:i-1}}$ es la probabilidad de 1s en la matriz $\mathbf{Y}_{0:i-1}$.
  • $p_{\mathbf{Y}_{i:N-1}}$ es la probabilidad de 1s en la matriz $\mathbf{Y}_{i:N-1}$.

El valor IS.GetRaw(i) es el Information Sum si quiebro el vector $\mathbf{Y}$ en $\mathbf{Y}_{0:i-1}$ y $\mathbf{Y}_{i:N-1}$, es decir $IS_{i}=Pds::InformationSum(\mathbf{Y},\{\mathbf{Y}_{0:(i-1)},\mathbf{Y}_{i:N-1}\})$

Pds::InformationSumScale
Parámetros
[in]YData $Y$ con $N$ elementos.
[in]UmbralUmbral de para la binarizacion de $Y$, $Y>=Umbral$.
Devuelve
Retorna un vector $IS$ con todos los valores de Information Sum, dependiendo en donde se realice el corte en $Y$.
Ejemplos
example_matrixmath_information.cpp.

◆ Phi() [1/3]

double Pds::CDF::Phi ( double  x)

Calcula el valor de la función $\Phi(x)$.

Pds::CDF::Phi()

\[ \Phi(x)={\frac {1}{\sqrt{2\pi}}}\int _{-\infty }^{x}e^{-t^{2}/2}\,dt\]

\[ \Phi(x)=\frac{1}{2}\left(1+erf\left(\frac{x}{\sqrt{2}}\right) \right)\]

Parámetros
[in]xValor a evaluar.
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_erf.cpp.

◆ Phi() [2/3]

double Pds::CDF::Phi ( double  x,
double  mu,
double  sigma 
)

Calcula el valor de la función $\Phi(x)$.

Pds::CDF::Phi()

\[ \Phi(x; \mu,\sigma)=\frac{1}{2}\left(1+erf\left(\frac{x-\mu}{\sigma \sqrt{2}}\right) \right)\]

Parámetros
[in]xValor a evaluar.
[in]muValor medio $\mu$.
[in]sigmaValor del desvio padrón $\sigma$.
Devuelve
Retorna la variable evaluada.

◆ Phi() [3/3]

Pds::Matrix Pds::CDF::Phi ( const Pds::Matrix A)

Calcula el valor de la función $\Phi(x)$.

Pds::CDF::Phi()

\[ \Phi(x)={\frac {1}{\sqrt{2\pi}}}\int _{-\infty }^{x}e^{-t^{2}/2}\,dt\]

\[ \Phi(x)=\frac{1}{2}\left(1+erf\left(\frac{x}{\sqrt{2}}\right) \right)\]

\[ \Phi(A)\]

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Probit() [1/2]

double Pds::CDF::Probit ( double  p)

Calcula el valor de la función $\Phi^{-1}(p)$ que es la inversa de $\Phi(x)\equiv$Pds::CDF::Phi().

\[ p=\Phi(x)={\frac {1}{\sqrt{2\pi}}}\int _{-\infty }^{x}e^{-t^{2}/2}\,dt\]

\[ \Phi^{-1} (p) \]

Parámetros
[in]pLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath_erf.cpp.

◆ Probit() [2/2]

Pds::Matrix Pds::CDF::Probit ( const Pds::Matrix A)

Calcula el valor de la función $\Phi^{-1}(p)$ que es la inversa de $\Phi(x)\equiv$Pds::CDF::Phi().

\[ p=\Phi(x)={\frac {1}{\sqrt{2\pi}}}\int _{-\infty }^{x}e^{-t^{2}/2}\,dt\]

\[ \Phi^{-1} (p) \equiv Pds::CDF::Probit(p)\]

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Var() [1/2]

double Pds::Var ( const Pds::Matrix A,
double *  mean 
)

Calcula el valor de la varianza de la matriz A.

Parámetros
[in]AMatriz a procesar.
[in]meanValor medio de los elelento de la Matriz A.
Devuelve
Retorna el valor de la varianza de la matriz. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ Var() [2/2]

double Pds::Var ( const Pds::Matrix A)

Calcula el valor de la varianza de la matriz A.

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna el valor de la varianza de la matriz. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ Mean()

double Pds::Mean ( const Pds::Matrix A)

Calcula el valor medio de los elementos de la matriz A.

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna el valor medio de los elementos de la matriz. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ Sum()

double Pds::Sum ( const Pds::Matrix A)

Calcula el valor de la suma de los elementos de la matriz A.

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna el valor de la suma de los elementos de la matriz. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ R2()

double Pds::R2 ( const Pds::Matrix A,
const Pds::Matrix B 
)

Calcula el coeficiente de determinación o $R^2$.

\[ R^2\equiv R2(A,B)\quad =\quad 1-\frac{\sigma_r^2}{\sigma^2}\quad =\quad 1-\frac{\frac{1}{L}|| \mathbf{A}_{ij}-\mathbf{B}_{ij}||^2}{Var(\mathbf{A})}\]

\[-\infty < R^2 < 1\]

Varianza $\sigma^2$, varianza residual $\sigma_r^2$.

Devuelve
Retorna el coeficiente de determinación entre A e B. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.
Ejemplos
example_matrixrotation.cpp.

◆ Accuracy()

double Pds::Accuracy ( const Pds::Matrix A,
const Pds::Matrix B,
double  Umbral = 0.5 
)

Calcula el valor de la Accuracy entre los elementos de las matrices A y B. A>Umbral, B>Umbral.

\[Accuracy=\frac{TP+TN}{TP+TN+FP+FN}=\frac{Number~of~A==B}{Number~of~elements~in~A}\]

TP=True positive TN=True negative FP=False positive FN=False negative

Parámetros
[in]AMatriz a procesar.
[in]BMatriz a procesar.
[in]UmbralUmbral de binarización.
Devuelve
Retorna el valor de la Accuracy entre los elementos de las matrices A y B. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan. En caso de que las matrizes no tengan el mismo tamaño se retorna Pds::Ra::Nan.
Ejemplos
example_matrixmath.cpp y example_optadam_create.cpp.

◆ AccuracyBatchBlock()

double Pds::AccuracyBatchBlock ( const Pds::BatchBlock A,
const Pds::BatchBlock B,
double  Umbral = 0.5 
)

Calcula el valor de la Accuracy entre los elementos de las matrices A y B. A>Umbral, B>Umbral.

\[Accuracy=\frac{TP+TN}{TP+TN+FP+FN}=\frac{Number~of~A==B}{Number~of~elements~in~A}\]

TP=True positive TN=True negative FP=False positive FN=False negative

Parámetros
[in]AVector de SampleBlock a procesar.
[in]BVector de SampleBlock a procesar.
[in]UmbralUmbral de binarización.
Devuelve
Retorna el valor de la Accuracy entre los elementos de las matrices A y B. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan. En caso de que las matrizes no tengan el mismo tamaño se retorna Pds::Ra::Nan.
Ejemplos
example_matrixmath.cpp.

◆ CountRoundEqualIn()

bool Pds::CountRoundEqualIn ( const Pds::Matrix A,
const Pds::Matrix B,
unsigned int &  S,
unsigned int &  T 
)

Calcula el número de elementos enteros iguales entre las matrices A y B.

\[S=Sum(round(A)==round(B));\qquad T=A.Nel()\]

Parámetros
[in]AMatriz a procesar.
[in]BMatriz a procesar.
[out]SNúmero de elementos iguales.
[out]TNúmero total de elementos.
Devuelve
Retorna true si todo fue bien o false si no.

◆ CountRoundEqualInBatchBlock()

bool Pds::CountRoundEqualInBatchBlock ( const Pds::BatchBlock A,
const Pds::BatchBlock B,
unsigned int &  S,
unsigned int &  T 
)

Calcula el número de elementos enteros iguales entre los objetos A y B.

\[S=Sum(round(A)==round(B));\qquad T=A.Nel()\]

Parámetros
[in]AVector de SampleBlock a procesar.
[in]BVector de SampleBlock a procesar.
[out]SNúmero de elementos iguales.
[out]TNúmero total de elementos.
Devuelve
Retorna true si todo fue bien o false si no.

◆ SquareErrorInBatchBlock()

bool Pds::SquareErrorInBatchBlock ( const Pds::BatchBlock A,
const Pds::BatchBlock B,
double &  S 
)

Calcula el Square Error entre A y B.

\[S=Sum((A-B)\odot(A-B))\]

Parámetros
[in]AVector de SampleBlock a procesar.
[in]BVector de SampleBlock a procesar.
[out]SSquare Error total.
Devuelve
Retorna true si todo fue bien o false si no.

◆ NAccuracy()

double Pds::NAccuracy ( const Pds::Matrix A,
const Pds::Matrix B 
)

Calcula el valor de la Accuracy entre los elementos de las matrices A y B. round(A), round(B).

\[Accuracy=\frac{Number~of~A==B}{Number~of~elements~in~A}\]

Parámetros
[in]AMatriz a procesar.
[in]BMatriz a procesar.
Devuelve
Retorna el valor de la Accuracy entre los elementos de las matrices A y B. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan. En caso de que las matrizes no tengan el mismo tamaño se retorna Pds::Ra::Nan.
Ejemplos
example_matrixmath.cpp.

◆ MeanAbsoluteError()

double Pds::MeanAbsoluteError ( const Pds::Matrix A,
const Pds::Matrix B 
)

Calcula el valor del error absoluto medio.

\[ Pds::MeanAbsoluteError(A,B)=\frac{1}{Nlin~Ncol}\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}-b_{ij}|} \]

Parámetros
[in]AMatriz a procesar.
[in]BMatriz a procesar.
Devuelve
Retorna el valor del error absoluto medio. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ ArgMax()

double Pds::ArgMax ( const Pds::Matrix X)

Retorna el identicador (ID) de la posicion del máximo en la matriz. En caso de existir varios máximos la función retorna el primero en ser encontrado.

\[ ID = \underset{ID}{arg~max}(X) \]

Parámetros
[in]XEl vector de entrada.
Devuelve
Retorna el $ID$ o Pds::Ra::Nan en caso de error, ejemplo: cuando X está vacío.

◆ ArgMin()

double Pds::ArgMin ( const Pds::Matrix X)

Retorna el identicador (ID) de la posicion del mínimo en la matriz. En caso de existir varios mínimos la función retorna el primero en ser encontrado.

\[ ID = \underset{ID}{arg~min}(X) \]

Parámetros
[in]XEl vector de entrada.
Devuelve
Retorna el $ID$ o Pds::Ra::Nan en caso de error, ejemplo: cuando X está vacío.

◆ Det()

double Pds::Det ( const Pds::Matrix A)

Calcula el valor de la detrminante de una matriz.

\[ Pds::Det(A)=|A| \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor de la determinante. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ RMS()

double Pds::RMS ( const Pds::Matrix A)

Calcula el valor raiz quadrático medio de una matriz.

\[ Pds::RMS(A)=\sqrt{\frac{1}{Nlin~Ncol}\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}|}^2} \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor raiz cuadrático medio. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ MeanAbsolute()

double Pds::MeanAbsolute ( const Pds::Matrix A)

Calcula el valor absoluto medio de una matriz.

\[ Pds::MeanSquare(A)=\frac{1}{Nlin~Ncol}\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}|} \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor absoluto medio. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ MeanSquare()

double Pds::MeanSquare ( const Pds::Matrix A)

Calcula el valor quadrático medio de una matriz.

\[ Pds::MeanSquare(A)=\frac{1}{Nlin~Ncol}\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}|}^2 \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor cuadrático medio. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ SumSquare()

double Pds::SumSquare ( const Pds::Matrix A)

Calcula el valor de la suma quadrática de una matriz.

\[ Pds::SumSquare(A)=\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}|}^2 \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor de la suma cuadrática. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ Norm()

double Pds::Norm ( const Pds::Matrix A)

Calcula el valor dela norma (Frobenius) de una matriz.

\[ Pds::Norm(A)=\sqrt{\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}|}^2} \]

Parámetros
[in]AEl vector de entrada.
Devuelve
Retorna el valor de la norma de Frobenius. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.
Ejemplos
example_point2d.cpp.

◆ NormDiff()

double Pds::NormDiff ( const Pds::Matrix A,
const Pds::Matrix B 
)

Calcula el valor dela norma (Frobenius) de una matriz.

\[ Pds::Norm(A,B)=\sqrt{\sum \limits_{i}^{Nlin} \sum \limits_{j}^{Ncol} {|a_{ij}-b_{ij}|}^2} \]

Parámetros
[in]AEl vector de entrada.
[in]BEl vector de entrada.
Devuelve
Retorna el valor de la norma de Frobenius. En caso de que la matriz sea vacía se retorna Pds::Ra::Nan.

◆ SQNL() [1/2]

Pds::Matrix Pds::SQNL ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función SQNL.

Pds::SQNL

\[ 
Pds::SQNL(x)=
\left\{
\begin{matrix}
+1 & if & 2<x  \\
x-\frac{x^2}{4} & if & 0\leq x\leq 2 \\
x+\frac{x^2}{4} & if & -2 \leq x< 0  \\
-1 & if & x<-2 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ SQNL() [2/2]

double Pds::SQNL ( double  x)

Retorna el resultado de evaluar la función SQNL.

Pds::SQNL

\[ 
Pds::SQNL(x)=
\left\{
\begin{matrix}
+1 & if & 2<x  \\
x-\frac{x^2}{4} & if & 0\leq x\leq 2 \\
x+\frac{x^2}{4} & if & -2 \leq x< 0  \\
-1 & if & x<-2 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DSQNL() [1/2]

Pds::Matrix Pds::DSQNL ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función SQNL.

Pds::DSQNL

\[ 
\frac{\partial Pds::SQNL(x)}{\partial x}=
\left\{
\begin{matrix}
0 & if & 2<x  \\
1-\frac{x}{2} & if & 0\leq x\leq 2\\
1+\frac{x}{2} & if & -2 \leq x< 0 \\
0 & if & x<-2 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DSQNL() [2/2]

double Pds::DSQNL ( double  x)

Retorna el resultado de evaluar la derivada de la función SQNL.

Pds::DSQNL

\[ 
\frac{\partial Pds::SQNL(x)}{\partial x}=
\left\{
\begin{matrix}
0 & if & 2<x  \\
1-\frac{x}{2} & if & 0\leq x\leq 2\\
1+\frac{x}{2} & if & -2 \leq x< 0 \\
0 & if & x<-2 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Identity() [1/2]

Pds::Matrix Pds::Identity ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función linear.

Pds::Identity

\[ Pds::Identity(x)=x \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Identity() [2/2]

double Pds::Identity ( double  x)

Retorna el resultado de evaluar la función linear.

Pds::Identity

\[ Pds::Identity(x)=x \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DIdentity() [1/2]

Pds::Matrix Pds::DIdentity ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función linear.

Pds::DIdentity

\[ \frac{\partial Pds::Identity(x)}{\partial x}=1 \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DIdentity() [2/2]

double Pds::DIdentity ( double  x)

Retorna el resultado de evaluar la derivada de la función linear.

Pds::DIdentity

\[ \frac{\partial Pds::Identity(x)}{\partial x}=1 \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ SoftSign() [1/2]

Pds::Matrix Pds::SoftSign ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función SoftSign.

Pds::SoftSign

\[ 
Pds::SoftSign(x)=\frac{x}{1+|x|}
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ SoftSign() [2/2]

double Pds::SoftSign ( double  x)

Retorna el resultado de evaluar la función SoftSign.

Pds::SoftSign

\[ 
Pds::SoftSign(x)=\frac{x}{1+|x|}
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DSoftSign() [1/2]

Pds::Matrix Pds::DSoftSign ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función SoftSign.

Pds::DSoftSign

\[ 
Pds::SoftSign(x)=\frac{1}{(1+|x|)^2}
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DSoftSign() [2/2]

double Pds::DSoftSign ( double  x)

Retorna el resultado de evaluar la derivada de la función SoftSign.

Pds::DSoftSign

\[ 
Pds::SoftSign(x)=\frac{1}{(1+|x|)^2}
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ ELU() [1/2]

Pds::Matrix Pds::ELU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función ELU.

Pds::ELU

\[ 
Pds::ELU(x)=
\left\{
\begin{matrix}
x & if & x > 0  \\
e^{x}-1 & if & x\leq 0 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ ELU() [2/2]

double Pds::ELU ( double  x)

Retorna el resultado de evaluar la función ELU.

Pds::ELU

\[ 
Pds::ELU(x)=
\left\{
\begin{matrix}
x & if & x > 0  \\
e^{x}-1 & if & x\leq 0 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DELU() [1/2]

Pds::Matrix Pds::DELU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función ELU.

Pds::DELU

\[ 
Pds::DELU(x)=
\left\{
\begin{matrix}
1 & if & x > 0  \\
e^{x} & if & x\leq 0 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DELU() [2/2]

double Pds::DELU ( double  x)

Retorna el resultado de evaluar la derivada de la función ELU.

Pds::DELU

\[ 
Pds::DELU(x)=
\left\{
\begin{matrix}
1 & if & x > 0  \\
e^{x} & if & x\leq 0 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ SoftPlus() [1/2]

Pds::Matrix Pds::SoftPlus ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función SoftPlus.

Pds::SoftPlus

\[ 
Pds::SoftPlus(x)=log\left(1+e^{x}\right)
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ SoftPlus() [2/2]

double Pds::SoftPlus ( double  x)

Retorna el resultado de evaluar la función SoftPlus.

Pds::SoftPlus

\[ 
Pds::SoftPlus(x)=log\left(1+e^{x}\right)
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DSoftPlus() [1/2]

Pds::Matrix Pds::DSoftPlus ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función SoftPlus.

Pds::DSoftPlus

\[ 
Pds::DSoftPlus(x)=\frac{1}{1+e^{-x}}
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DSoftPlus() [2/2]

double Pds::DSoftPlus ( double  x)

Retorna el resultado de evaluar la derivada de la función SoftPlus.

Pds::DSoftPlus

\[ 
Pds::DSoftPlus(x)=\frac{1}{1+e^{-x}}
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ ReLU() [1/2]

Pds::Matrix Pds::ReLU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función ReLU.

Pds::ReLU

\[ 
Pds::ReLU(x)=
\left\{
\begin{matrix}
x & if & x \geq 0  \\
0 & if & x<0 
\end{matrix}
\right.
=
std::max(0,x)
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ ReLU() [2/2]

double Pds::ReLU ( double  x)

Retorna el resultado de evaluar la función ReLU.

Pds::ReLU

\[ 
Pds::ReLU(x)=
\left\{
\begin{matrix}
x & if & x \geq 0  \\
0 & if & x<0 
\end{matrix}
\right.
=
std::max(0,x)
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DReLU() [1/2]

Pds::Matrix Pds::DReLU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función ReLU.

Pds::DReLU

\[ 
Pds::DReLU(x)=
\left\{
\begin{matrix}
1 & if & x > 0  \\
1 & if & x = 0  \\
0 & if & x < 0 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DReLU() [2/2]

double Pds::DReLU ( double  x)

Retorna el resultado de evaluar la derivada de la función ReLU.

Pds::DReLU

\[ 
Pds::DReLU(x)=
\left\{
\begin{matrix}
1 & if & x > 0  \\
1 & if & x = 0  \\
0 & if & x < 0 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ LeakyReLU() [1/2]

Pds::Matrix Pds::LeakyReLU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función ReLU.

Pds::ReLU

\[ 
Pds::LeakyReLU(x)=
\left\{
\begin{matrix}
x & if & x \geq 0  \\
0.01~x & if & x<0 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ LeakyReLU() [2/2]

double Pds::LeakyReLU ( double  x)

Retorna el resultado de evaluar la función Leaky ReLU.

Pds::ReLU

\[ 
Pds::LeakyReLU(x)=
\left\{
\begin{matrix}
x & if & x \geq 0  \\
0.01~x & if & x<0 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DLeakyReLU() [1/2]

Pds::Matrix Pds::DLeakyReLU ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función ReLU.

Pds::ReLU

\[ 
Pds::DLeakyReLU(x)=
\left\{
\begin{matrix}
1 & if & x \geq 0  \\
0.01 & if & x<0 
\end{matrix}
\right.
\]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DLeakyReLU() [2/2]

double Pds::DLeakyReLU ( double  x)

Retorna el resultado de evaluar la derivada de la función Leaky ReLU.

Pds::ReLU

\[ 
Pds::DLeakyReLU(x)=
\left\{
\begin{matrix}
1 & if & x \geq 0  \\
0.01 & if & x<0 
\end{matrix}
\right.
\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Gaussian() [1/2]

Pds::Matrix Pds::Gaussian ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función gaussiana.

Pds::Gaussian

\[ Pds::Gaussian(x)=e^{-x^2} \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Gaussian() [2/2]

double Pds::Gaussian ( double  x)

Retorna el resultado de evaluar la función gaussiana.

Pds::Gaussian

\[ Pds::Gaussian(x)=e^{-x^2} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DGaussian() [1/2]

Pds::Matrix Pds::DGaussian ( const Pds::Matrix X)

Retorna el resultado de evaluar la función gaussiana.

Pds::DGaussian

\[ \frac{\partial Pds::Gaussian(x)}{\partial x}=-2 x e^{-x^2} \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DGaussian() [2/2]

double Pds::DGaussian ( double  x)

Retorna el resultado de evaluar la función gaussiana.

Pds::DGaussian

\[ \frac{\partial Pds::Gaussian(x)}{\partial x}=-2 x e^{-x^2} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Tanh() [1/2]

Pds::Matrix Pds::Tanh ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función tangente hiperbólico.

Pds::Tanh

\[ Pds::Tanh(x)=\frac{e^{2x}-1}{e^{2x}+1} \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp.

◆ Tanh() [2/2]

double Pds::Tanh ( double  x)

Retorna el resultado de evaluar la función tangente hiperbólico.

Pds::Tanh

\[ Pds::Tanh(x)=\frac{e^{2x}-1}{e^{2x}+1} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DTanh() [1/2]

Pds::Matrix Pds::DTanh ( const Pds::Matrix X)

Retorna el resultado de evaluar la derivada de la función tangente hiperbólico.

Pds::DTanh

\[ \frac{\partial Pds::Tanh(x)}{\partial x}=\frac{4 e^{2x}}{(e^{2x}+1)^2} \]

Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DTanh() [2/2]

double Pds::DTanh ( double  x)

Retorna el resultado de evaluar la derivada de la función tangente hiperbólico.

Pds::DTanh

\[ \frac{\partial Pds::Tanh(x)}{\partial x}=\frac{4 e^{2x}}{(e^{2x}+1)^2} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ Sigmoid() [1/2]

Pds::Matrix Pds::Sigmoid ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la función sigmoid.

\[ Pds::Sigmoid(x)=\frac{1}{1+e^{-x}} \]

Pds::Sigmoid
Parámetros
[in]XLa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath.cpp y example_optadam_create.cpp.

◆ Sigmoid() [2/2]

double Pds::Sigmoid ( double  x)

Retorna el resultado de evaluar elemento a elemento la función sigmoid.

Pds::Sigmoid

\[ Pds::Sigmoid(x)=\frac{1}{1+e^{-x}} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ DSigmoid() [1/2]

Pds::Matrix Pds::DSigmoid ( const Pds::Matrix X)

Retorna el resultado de evaluar elemento a elemento la derivada de la función sigmoid.

Pds::DSigmoid

\[ \frac{\partial Pds::Sigmoid(x)}{\partial x}=\frac{e^{-x}}{(1+e^{-x})^2} \]

Parámetros
[in]XLa variable a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ DSigmoid() [2/2]

double Pds::DSigmoid ( double  x)

Retorna el resultado de evaluar elemento a elemento la derivada de la función sigmoid.

Pds::DSigmoid

\[ \frac{\partial Pds::Sigmoid(x)}{\partial x}=\frac{e^{-x}}{(1+e^{-x})^2} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ SoftMax()

Pds::Matrix Pds::SoftMax ( const Pds::Matrix X)

Retorna el resultado de evaluar la función SoftMax.

\[ Y=Pds::SoftMax(X) \]

\[ y_i=\frac{e^{x_i}}{\sum_{j}e^{x_j}} \]

Parámetros
[in]XEl vector de entrada.
Devuelve
Retorna el vector $Y$ o un vector vacio en caso de error.

◆ HardMax()

Pds::Matrix Pds::HardMax ( const Pds::Matrix X)

Retorna el resultado de evaluar la función HardMax (ArgMax in Machine learning).

\[ max_x=X.Max() \]

\[ 
y_i=
\left\{ 
\begin{matrix}
1 & if(x_i==max_x)\\
0 & else
\end{matrix}
\right.
\]

Parámetros
[in]XEl vector de entrada.
Devuelve
Retorna el vector $Y$ o un vector vacio en caso de error.

◆ Factorial()

unsigned int Pds::Factorial ( unsigned int  n)

Evalúa factorial de n, igual a n!.

\[ y=n!\equiv n(n-1)(n-2)(n-3)...1 \]

Tiene problemas de presición, cuando n es muy grande.

Parámetros
[in]nValor de entrada.
Devuelve
El valor de n!.

◆ NchooseK()

unsigned int Pds::NchooseK ( unsigned int  n,
unsigned int  k 
)

Retorna el combinatorio (n,k)

\[ {n \choose k}=\frac{n!}{k!(n-k)!} \]

Parámetros
[in]nValor superior del combinatorio.
[in]kValor inferior del combinatorio.
Devuelve
El valor del combinatorio (n,k). Si k>n retorna 0.
Ejemplos
example_funcmatrix_indexsum.cpp.

◆ NmultichooseK()

unsigned int Pds::NmultichooseK ( unsigned int  n,
unsigned int  k 
)

Retorna el combinatorio (n,k)

\[ \left({n \choose k}\right)={{n+k-1} \choose k} \]

Parámetros
[in]nValor superior del combinatorio.
[in]kValor inferior del combinatorio.
Devuelve
El valor del combinatorio (n,k).
Ejemplos
example_funcmatrix_indexsum.cpp y example_matrixfunc.cpp.

◆ UnitStep() [1/2]

double Pds::UnitStep ( double  x)

Retorna el resultado de evaluar la función UnitStep().

\[ if(x\geq 0)\quad return\quad 1 \]

\[ else \quad return\quad 0 \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ UnitStep() [2/2]

Pds::Matrix Pds::UnitStep ( const Pds::Matrix A)

Retorna el resultado de evaluar la función UnitStep().

\[ if(x\geq 0)\quad return\quad 1 \]

\[ else \quad return\quad 0 \]

\[ UnitStep(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.

◆ UnitRamp() [1/2]

double Pds::UnitRamp ( double  x)

Retorna el resultado de evaluar la función UnitRamp().

\[ if(x\geq 0)\quad return\quad x \]

\[ else \quad return\quad 0 \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.

◆ UnitRamp() [2/2]

Pds::Matrix Pds::UnitRamp ( const Pds::Matrix A)

Retorna el resultado de evaluar la función UnitRamp().

\[ if(x\geq 0)\quad return\quad x \]

\[ else \quad return\quad 0 \]

\[ UnitRamp(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.

◆ SignNZ()

double Pds::SignNZ ( double  x)

Retorna el resultado de evaluar la función Sign Non Zero.

\[ if(x\geq0)\quad return\quad+1 \]

\[ if(x<0)\quad return\quad-1 \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath.cpp.

◆ Sign() [1/2]

double Pds::Sign ( double  x)

Retorna el resultado de evaluar la función Sign.

\[ if(x>0)\quad return\quad+1 \]

\[ if(x=0)\quad return\quad~0 \]

\[ if(x<0)\quad return\quad-1 \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath.cpp.

◆ Sign() [2/2]

Pds::Matrix Pds::Sign ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función Sign.

\[ if(x>0)\quad sign(x)\quad return\quad+1 \]

\[ if(x=0)\quad sign(x)\quad return\quad~0 \]

\[ if(x<0)\quad sign(x)\quad return\quad-1 \]

\[ sign(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.

◆ Round()

Pds::Matrix Pds::Round ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función round.

\[ round(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_funcconvexhull_incremental.cpp, example_matrixmath.cpp y example_octave_show.cpp.

◆ MuLaw() [1/2]

double Pds::MuLaw ( double  x,
double  Mu 
)

Retorna el resultado de evaluar la $\mu - law$ (ley mu).

\[ y=F(x)=sgn(x){\frac {\ln(1+\mu |x|)}{\ln(1+\mu )}}~~~~-1\leq x\leq 1 \]

MuLaw
Parámetros
[in]xLa matriz a evaluar
[in]MuEl factor mu.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath_telecom.cpp.

◆ MuLaw() [2/2]

Pds::Matrix Pds::MuLaw ( const Pds::Matrix A,
double  Mu 
)

Retorna el resultado de evaluar la $\mu - law$. (ley mu).

\[ y=F(x)=sgn(x){\frac {\ln(1+\mu |x|)}{\ln(1+\mu )}}~~~~-1\leq x\leq 1 \]

MuLaw
Parámetros
[in]ALa matriz a evaluar
[in]MuEl factor mu.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ MuLawInv() [1/2]

double Pds::MuLawInv ( double  y,
double  Mu 
)

Retorna el resultado de evaluar la $\mu - law$ (ley mu).

\[ F^{-1}(y)={sgn}(y){1 \over \mu }{\Bigl (}(1+\mu )^{|y|}-1{\Bigr )}~~~~-1\leq y\leq 1 \]

MuLaw
Parámetros
[in]yLa matriz a evaluar
[in]MuEl factor mu.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()
Ejemplos
example_matrixmath_telecom.cpp.

◆ MuLawInv() [2/2]

Pds::Matrix Pds::MuLawInv ( const Pds::Matrix A,
double  Mu 
)

Retorna el resultado de evaluar la $\mu - law$. (ley mu).

\[ F^{-1}(y)={sgn}(y){1 \over \mu }{\Bigl (}(1+\mu )^{|y|}-1{\Bigr )}~~~~-1\leq y\leq 1 \]

MuLaw
Parámetros
[in]ALa matriz a evaluar
[in]MuEl factor mu.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Conv2DCh()

Pds::Matrix Pds::Conv2DCh ( const std::vector< Pds::Matrix > &  A,
const std::vector< Pds::Matrix > &  Kernel,
const std::vector< unsigned int > &  Strides = {1, 1},
Pds::Ra::Padding  Padding = Pds::Ra::Valid 
)

Calcula la convolución de todos los canales entre A y Kernel.

\[ 
\mathbf{D}=\sum \limits_{n}^{N} \mathbf{A}[n].Conv2D(\mathbf{Kernel}[n])
\]

Atención
Esta función NO usa FFT.
Parámetros
[in]AVector de matrices a aplicar la convolución. Debe tener el mismo número de canales que Kernel. Todos los canales deben tener el mismo tamaño.
[in]KernelVector de matrices a aplicar la convolución. Debe tener el mismo número de canales que A. Todos los canales deben tener el mismo tamaño.
[in]StridesPaso del convolucionador.
[in]Paddingindica el tipo de pading de la convolución lo cual afecta al tamaño de la matriz de salida.
Devuelve
retorna la convolución de todos los canales o una matriz vacia en caso de error. Ex: diferente número de canales.
Ejemplos
example_matrix_dsp.cpp.

◆ Conv1DCh() [1/2]

Pds::Vector Pds::Conv1DCh ( const std::vector< Pds::Vector > &  A,
const std::vector< Pds::Vector > &  Kernel,
unsigned int  Strides = 1,
Pds::Ra::Padding  Padding = Pds::Ra::Valid 
)

Calcula la convolución de todos los canales entre A y Kernel.

\[ 
\mathbf{D}=\sum \limits_{n}^{N} \mathbf{A}[n].Conv1D(\mathbf{Kernel}[n])
\]

Atención
Esta función NO usa FFT.
Parámetros
[in]AVector de vectores a aplicar la convolución. Debe tener el mismo número de canales que Kernel. Todos los canales deben tener el mismo tamaño.
[in]KernelVector de vectores a aplicar la convolución. Debe tener el mismo número de canales que A. Todos los canales deben tener el mismo tamaño.
[in]StridesPaso del convolucionador.
[in]Paddingindica el tipo de pading de la convolución lo cual afecta al tamaño de la matriz de salida.
Devuelve
retorna la convolución de todos los canales o una matriz vacia en caso de error. Ex: diferente número de canales.
Ejemplos
example_matrixmath_dsp.cpp.

◆ Conv1DCh() [2/2]

Pds::Matrix Pds::Conv1DCh ( const std::vector< Pds::Matrix > &  A,
const std::vector< Pds::Vector > &  Kernel,
unsigned int  Strides = 1,
Pds::Ra::Padding  Padding = Pds::Ra::Valid 
)

Calcula la convolución de todos los canales entre A y Kernel.

\[ 
\mathbf{D}=\sum \limits_{n}^{N} \mathbf{A}[n].Conv1D(\mathbf{Kernel}[n])
\]

Atención
Esta función NO usa FFT.
Parámetros
[in]AVector de vectores a aplicar la convolución. Debe tener el mismo número de canales que Kernel. Todos los canales deben tener el mismo tamaño.
[in]KernelVector de vectores a aplicar la convolución. Debe tener el mismo número de canales que A. Todos los canales deben tener el mismo tamaño.
[in]StridesPaso del convolucionador.
[in]Paddingindica el tipo de pading de la convolución lo cual afecta al tamaño de la matriz de salida.
Devuelve
retorna la convolución de todos los canales o una matriz vacia en caso de error. Ex: diferente número de canales.

◆ Abs()

Pds::Matrix Pds::Abs ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función valor absoluto.

\[ |A| \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Logit() [1/2]

double Pds::Logit ( double  x)

Retorna el resultado de evaluar la función logit.

\[ log\left(\frac{x}{1-x}\right)\equiv Pds::Sigmoid^{-1}(x)\]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath.cpp.

◆ Logit() [2/2]

Pds::Matrix Pds::Logit ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función logit.

\[ log\left(\frac{A}{1-A}\right) \equiv Pds::Sigmoid^{-1}(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Erf()

Pds::Matrix Pds::Erf ( const Pds::Matrix A)

Calcula el valor de la función $erf(x)$.

\[ erf (x)=\frac {2}{\sqrt{\pi}} \int _{0}^{x}e^{-t^{2}}\,dt \]

\[ erf (A) \]

Parámetros
[in]AMatriz a procesar.
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

◆ Sinc() [1/2]

double Pds::Sinc ( double  x)

Retorna el resultado de evaluar la función sinc.

\[ sinc(x)=\frac{sin(x)}{x} \]

Parámetros
[in]xLa variable a evaluar
Devuelve
Retorna la variable evaluada.
Ejemplos
example_matrixmath.cpp.

◆ Sinc() [2/2]

Pds::Matrix Pds::Sinc ( const Pds::Matrix A)

Retorna el resultado de evaluar elemento a elemento la función sinc.

\[ sinc(x)=\frac{sin(x)}{x} \]

\[ sinc(A) \]

Parámetros
[in]ALa matriz a evaluar
Devuelve
Retorna la matriz evaluada.
Ver también
Pds::Matrix::Apply()

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed