IPSDK  4_1_0_2
IPSDK : Image Processing Software Development Kit
Namespaces | Functions
LinearAlgebraUtils.h File Reference

Utility functions for linear algebra operations management. More...

#include <IPSDKMath/IPSDKMathExports.h>
#include <IPSDKMath/LinearAlgebra/LinearAlgebraTypes.h>
#include <IPSDKMath/Constants.h>
#include <IPSDKUtil/Tools/ForceInline.h>
#include <vector>

Go to the source code of this file.

Namespaces

 ipsdk
 Main namespace for IPSDK library.
 
 ipsdk::math
 Namespace agregating IPSDK mathematical routines and classes.
 

Functions

IPSDK_FORCEINLINE ipReal64 ipsdk::math::comparable_distance (const ipsdk::math::Vector &v0, const ipsdk::math::Vector &v1)
 function allowing to compute comparable distance between two vectors More...
 
IPSDK_FORCEINLINE ipReal64 ipsdk::math::euclidian_distance (const ipsdk::math::Vector &v0, const ipsdk::math::Vector &v1)
 function allowing to compute euclidian distance between two vectors More...
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::equal (const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType1 > &mat1, const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType2 > &mat2)
 check for matrix equality
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::compare (const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType1 > &mat1, const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType2 > &mat2, const ipReal64 epsilonValue=NumericLimits< ipReal64 >::sqrt_epsilon())
 matrix comparison with tolerance on frobenius norm of difference
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::compareRelative (const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType1 > &mat1, const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType2 > &mat2, const ipReal64 epsilonValue=NumericLimits< ipReal64 >::sqrt_epsilon())
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::equal (const boost::numeric::ublas::vector< ipReal64, ArrayType1 > &vec1, const boost::numeric::ublas::vector< ipReal64, ArrayType2 > &vec2)
 check for vector equality
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::compare (const boost::numeric::ublas::vector< ipReal64, ArrayType1 > &vec1, const boost::numeric::ublas::vector< ipReal64, ArrayType2 > &vec2, const ipReal64 epsilonValue=NumericLimits< ipReal64 >::sqrt_epsilon())
 vector comparison with tolerance on euclidian norm of difference
 
template<typename ArrayType1 , typename ArrayType2 >
bool ipsdk::math::compareRelative (const boost::numeric::ublas::vector< ipReal64, ArrayType1 > &vec1, const boost::numeric::ublas::vector< ipReal64, ArrayType2 > &vec2, const ipReal64 epsilonValue=NumericLimits< ipReal64 >::sqrt_epsilon())
 
template<typename ArrayType >
std::vector< ipReal64 > ipsdk::math::fromUBlas (const boost::numeric::ublas::vector< ipReal64, ArrayType > &inputVector)
 convert a math Vector from and to an std vector
 
template<typename ArrayType >
void ipsdk::math::fromUBlas (const boost::numeric::ublas::vector< ipReal64, ArrayType > &inputVector, std::vector< ipReal64 > &outputVector)
 convert a math Vector from and to an std vector
 
IPSDKMATH_API ipsdk::math::Vector ipsdk::math::toUBlas (const std::vector< ipReal64 > &inputVector)
 convert a math Vector from and to an std vector
 
IPSDKMATH_API void ipsdk::math::toUBlas (const std::vector< ipReal64 > &inputVector, ipsdk::math::Vector &outputVector)
 convert a math Vector from and to an std vector
 
template<typename ArrayType >
std::vector< ipReal64 > ipsdk::math::fromUBlas (const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType > &inputMatrix)
 convert a math Matrix from and to an std vector
 
template<typename ArrayType >
void ipsdk::math::fromUBlas (const boost::numeric::ublas::matrix< ipReal64, boost::numeric::ublas::row_major, ArrayType > &inputMatrix, std::vector< ipReal64 > &outputVector)
 convert a math Matrix from and to an std vector
 
IPSDKMATH_API ipsdk::math::Matrix ipsdk::math::toUBlas (const std::vector< ipReal64 > &inputVector, const ipUInt32 sizeX, const ipUInt32 sizeY)
 convert a math Matrix from and to an std vector
 
IPSDKMATH_API void ipsdk::math::toUBlas (const std::vector< ipReal64 > &inputVector, ipsdk::math::Matrix &outputMatrix)
 convert a math Matrix from and to an std vector
 

Detailed Description

Utility functions for linear algebra operations management.

Author
E.Noirfalise
Date
2017/02/27