SigUtil  0.95
Utility modules for modern C++
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ublas.hpp File Reference

boost::numeric::ublasを利用したユーテリティ関数群 More...

Go to the source code of this file.

Namespaces

 sig
 

Typedefs

template<class T >
using sig::matrix_u = boost::numeric::ublas::matrix< T >
 
template<class T >
using sig::vector_u = boost::numeric::ublas::vector< T >
 

Functions

template<class V , class R = std::vector<typename V::value_type>>
auto sig::from_vector_ublas (V const &vec) -> R
 ublas::vector<T> から STLのvectorへ変換 More...
 
template<class M , class R = std::vector<typename M::value_type>>
auto sig::from_matrix_ublas (M const &mat, uint row) -> R
 ublas::matrix<T> の指定行を STLのvectorへ変換 More...
 
template<class M , class R = std::vector<std::vector<typename M::value_type>>>
auto sig::from_matrix_ublas (M const &mat) -> R
 ublas::matrix<T> から STLのvectorの2次元配列へ変換 More...
 
template<class C , class T = typename impl::container_traits<C>::value_type>
auto sig::to_vector_ublas (C const &vec) -> vector_u< T >
 STLのvector から ublas::vector<T> へ変換 More...
 
template<class CC , class T = typename impl::container_traits<typename impl::container_traits<CC>::value_type>::value_type>
auto sig::to_matrix_ublas (CC const &mat) -> matrix_u< T >
 STLのvectorの2次元配列 から ublas::matrix<T> へ変換 More...
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::invert_matrix (matrix_u< T > &&mat) -> Maybe< matrix_u< RT >>
 逆行列を求める More...
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::invert_matrix (matrix_u< T > const &mat) -> Maybe< matrix_u< RT >>
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::matrix_vector_solve (matrix_u< T > &&mat, vector_u< T > &&vec) -> Maybe< vector_u< RT >>
 連立方程式を解く More...
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::matrix_vector_solve (matrix_u< T > const &mat, vector_u< T > const &vec) -> Maybe< vector_u< RT >>
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::matrix_vector_solve (matrix_u< T > const &mat, vector_u< T > &&vec) -> Maybe< vector_u< RT >>
 
template<class T , class RT = typename std::conditional<std::is_integral<T>::value, double, T>::type>
auto sig::matrix_vector_solve (matrix_u< T > &&mat, vector_u< T > const &vec) -> Maybe< vector_u< RT >>
 
template<class F , class V >
auto sig::map_v (F &&func, V &&vec)
 ベクトルの全要素に対して、値を返す関数を適用し、その結果のベクトルを返す More...
 
template<class F , class M >
auto sig::map_m (F &&func, M &&mat)
 
template<class F , class V , class... Vs>
void sig::for_each_v (F &&func, V &vec, Vs &&...vecs)
 ベクトルの全要素に対して、関数を適用する More...
 
template<class F , class M >
void sig::for_each_m (F &&func, M &mat)
 行列の全要素に対して、代入演算を行う関数を適用する More...
 
template<class F , class M >
void sig::for_diagonal (F &&func, M &mat)
 行列の対角要素の対して、代入演算を行う関数を適用する More...
 
template<class V , typename std::enable_if< std::is_floating_point< typename V::value_type >::value >::type *& = enabler>
bool sig::normalize_dist_v (V &data)
 
template<class V >
auto sig::normalize_dist_v (V const &data, int dummy=0)
 

Detailed Description

boost::numeric::ublasを利用したユーテリティ関数群

Definition in file ublas.hpp.