35#ifndef __PDS_VECTOR_HPP__
36#define __PDS_VECTOR_HPP__
161 template <
class Datum>
193 Vector(
const std::initializer_list<double> list);
559 unsigned int Stride=1,
677 unsigned int LinPool);
901 const std::vector<std::vector<Pds::Vector>> &Block);
1078 std::vector<unsigned int>
1080 const std::vector<Pds::Vector> &C,
1081 std::vector<double> &D2)
const;
1115 std::vector<unsigned int> &
id,
1116 std::vector<unsigned int> &idtmp);
1121 std::vector<unsigned int> &
id,
1122 std::vector<unsigned int> &idtmp);
1188 return this->
array[id][0];
1201 return this->
array[lin][0];
1212 void SetRaw(
unsigned int lin,
const double &val)
1214 this->
array[lin][0]=val;
1297 return this->
Copy(B);
1329 this->
array[lin][0]+=val;
La clase tipo Array . Esta clase genera una agrupación de 2 datos. Para usar incluir Pds/Array.
La clase tipo Pds::Json . Esta clase genera una estructura capaz de almacenar datos del formato Json....
La clase tipo Pds::Matrix . Esta clase genera una matriz de Nlin lineas y Ncol columnas....
La clase tipo Pds::Size . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::Vector . Esta clase genera una matriz de Nlin lineas y 1 columna....
void SortWith_mergesort(Pds::Matrix &A, unsigned int init, unsigned int end, double **tmp1, double **tmp2)
void SortWith_mergesort(unsigned int init, unsigned int end, double **tmp1)
void SortWith_mergeid(unsigned int init, unsigned int mid, unsigned int end, double **tmp1, std::vector< unsigned int > &id, std::vector< unsigned int > &idtmp)
void SortWith_mergesortid(unsigned int init, unsigned int end, double **tmp1, std::vector< unsigned int > &id, std::vector< unsigned int > &idtmp)
void SortWith_merge(Pds::Matrix &A, unsigned int init, unsigned int mid, unsigned int end, double **tmp1, double **tmp2)
void SortWith_merge(unsigned int init, unsigned int mid, unsigned int end, double **tmp1)
FormatType
Tipo de dato en la carga de información desde archivo.
Padding
Tipo de dato que especifica el padding en la convolucion.
unsigned int Ncol(void) const
Retorna el número de columnas de la matriz.
unsigned int Nlin(void) const
Retorna el número de lineas de la matriz.
unsigned int Nel(void) const
Retorna el número de elementos de la matriz (Nlin x Ncol).
Pds::Vector Conv(const Pds::Vector &B, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
bool SortMeReverse(void)
Ordena de forma descendente un vector .
bool SortFollowing(const std::vector< unsigned int > &id)
Ordena de forma ascendente un vector siguiendo un vector de IDs. En caso de error no se hace nada,...
static std::string ExportVectorBlockXmlToString(const std::vector< Pds::Vector > &Block)
Retorna un std::string en formato Xml con el contenido del VectorBlock.
Vector(const Pds::Size &S)
Crea un objeto de tipo Pds::Vector con elementos inicializados con cero.
Pds::Vector CumulativeNorm(void)
Retorna un vector que acumula y normaliza la suma de elementos de .
std::vector< unsigned int > SortMeAndGetIds(void)
Ordena de forma ascendente un vector e retorna el vector de IDs.
Pds::Vector Conv1D(const Pds::Vector &B, unsigned int Stride=1, Pds::Ra::Padding Padding=Pds::Ra::Full) const
Calcula la convolución entre A y B.
bool Reshape(unsigned int Nel)
Remodela los datos internos de la array y la convierte en una array de tamaño diferente,...
Vector(const Pds::Matrix &B)
Crea un objeto de tipo Pds::Vector copiando datos desde una matriz. Toda la matriz es vectorizada ley...
bool SortWith(Pds::Matrix &A)
Ordena de forma ascendente un vector y se lleva consigo una matriz A ordenando tambien las filas de e...
Vector(const std::vector< double > &vec)
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
bool FusionVer(std::list< Pds::Matrix > &list)
Concatena verticalmente varias matrices. Si las matrices no tienen el mismo número de columnas se c...
void AddRawAssigAt(unsigned int lin, const double &val)
Suma un valor al contenido de un elemento lin (acumula). Elem+=val.
bool SortMe(void)
Ordena de forma ascendente un vector .
Vector(unsigned int N)
Crea un objeto de tipo Pds::Vector.
Vector(const Pds::Array< Datum > &B)
Crea un objeto de tipo Pds::Vector copiando datos desde un arreglo.
bool Normalize(void)
Normaliza el vector convirtiendolo en unvector unitario.
Vector(const std::vector< bool > &vec)
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
bool Vectorize(const Pds::Matrix &B)
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna....
Vector(const std::initializer_list< double > list)
Crea un objeto de tipo Pds::Vector copiando datos desde una lista.
Vector(Pds::Ra::FormatType Type, std::string filepath)
Crea un objeto de tipo Pds::Vector copiando datos desde un archivo.
bool FromJson(const Pds::Json &J)
Lee un objeto Pds::Json busca la etiqueta "Vector" y lo carga en la matriz. El objeto debe tener al m...
static std::string ExportTensorVectorBlockXmlToString(const std::vector< std::vector< Pds::Vector > > &Block)
Retorna un std::string en formato Xml con el contenido del TensorVectorBlock.
Vector(unsigned int N, double val)
Crea un objeto de tipo Pds::Vector.
static std::vector< std::vector< Pds::Vector > > RandNTensorVectorBlock(unsigned int L, unsigned int N, unsigned int Sz)
Crea un tensor (std::vector<std::vector<Pds::Vector>>) con matrices no nulas y similares inicializada...
Pds::Vector Cumulative(void)
Retorna un vector que acumula la suma de elementos de .
Pds::Matrix MulTComp(double b, const Pds::Vector &B) const
Multiplica con sigo mismo (A), la transpuesta de un vector [b;B] y el resultado es cargado en C.
Pds::Json ToJson(void) const
Retorna un objeto Pds::Json con el contenido del vector.
Pds::Vector Reverse(void)
Retorna un vector en orden reverso de si mismo, .
bool Copy(const Pds::Matrix &B)
Copia en si mismo (A), el contenido de una matriz B vectorizandola columana a columna....
bool Reshape(unsigned int Nlin, unsigned int Ncol)
Remodela los datos internos de la array y la convierte en una array de tamaño diferente,...
const double & GetRaw(unsigned int lin) const
Retorna una variable Datum en la posición (lin,0) de vector.
static std::vector< Pds::Vector > MaxPoolingVectorBlock(const std::vector< Pds::Vector > &A, unsigned int LinPool)
Aplica max pooling a cada matriz de lineas y columnas.
static Pds::Vector FlattenVectorBlock(const std::vector< Pds::Vector > &Block)
Convierte a Pds::Vector un VectorBlock.
Pds::Vector Unit(void) const
Calcula el vector unitario de .
Vector(const Pds::Matrix &B, unsigned int col)
Crea un objeto de tipo Pds::Vector copiando datos desde una columna de una matriz.
static bool ExportTensorVectorBlockXmlToStream(std::ofstream &myfile, const std::vector< std::vector< Pds::Vector > > &Block)
Escribe en un std::ofstream en formato Xml con el contenido del TensorVectorBlock.
static Pds::Size Conv1DOutputSize(unsigned int Anlin, unsigned int Bnlin, unsigned int Stride, Pds::Ra::Padding Padding)
Calcula el tamaño de la matriz resultado de la convolucion de A y B.
Vector(const std::vector< int > &vec)
Crea un objeto de tipo Pds::Vector copiando datos desde una std::vector.
static std::vector< Pds::Vector > RandNVectorBlock(unsigned int N, unsigned int Sz)
Crea un bloque (std::vector<Pds::Vector>) con matrices no nulas y similares inicializadas con Pds::Ra...
Vector(double(*func)(double), const Pds::Matrix &B)
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de una matriz vectoriza...
bool CopyFromRow(unsigned int lin, const Pds::Matrix &B)
Copia en si mismo (A), una linea de la matriz B. El tamaño de A debe ser el mismo que las columnas de...
static bool IsTensorVectorBlock(const std::vector< std::vector< Pds::Vector > > &Tensor)
Verifica que el tensor (std::vector<std::vector<Pds::Vector>>) sea un vector de vectores no vacíos de...
static std::vector< std::vector< Pds::Vector > > ImportTensorVectorBlockXmlFromString(const std::string &str)
Carga el contenido de una std::vector<std::vector<Pds::Vector>> desde un std::string en formato Xml.
Vector(const char *str)
Crea un objeto de tipo Pds::Vector copiando datos desde una cadena.
static std::vector< Pds::Vector > ImportVectorBlockXmlFromString(const std::string &str)
Carga el contenido de una std::vector<Pds::Vector> desde un std::string en formato Xml.
static bool IsVectorBlock(const std::vector< Pds::Vector > &Block)
Verifica que el bloque (std::vector<Pds::Vector>) sea un vector no vacío de matrices no nulas y simil...
Vector(void)
Crea un objeto de tipo Pds::Vector.
void SetRaw(unsigned int lin, const double &val)
Establece una variable Datum en la posición (lin,0) del vector.
static bool ExportVectorBlockXmlToStream(std::ofstream &myfile, const std::vector< Pds::Vector > &Block)
Retorna un std::string en formato Xml con el contenido del VectorBlock.
Pds::Vector XCorr(const Pds::Vector &B, bool Same=false) const
Calcula la correlacion cruzada entre A y B.
const double & operator[](const unsigned int &id) const
Retorna el valor en cada posicion del vector (solo lectura).
std::vector< unsigned int > NearestK(unsigned int K, const std::vector< Pds::Vector > &C, std::vector< double > &D2) const
Calcula que linea de es mas cercana al vector .
Vector(double(*func)(double), const Pds::Vector &B)
Crea un objeto de tipo Pds::Vector, evaluando mediante una función, los datos de otro vector.
Nombre de espacio para Pds (Procesamiento Digital de Senales)