glucat  0.12.0
Classes | Namespaces | Functions
matrix_multi.h File Reference
#include "glucat/global.h"
#include "glucat/errors.h"
#include "glucat/index_set.h"
#include "glucat/clifford_algebra.h"
#include "glucat/tuning.h"
#include "glucat/framed_multi.h"
#include <boost/numeric/ublas/fwd.hpp>
#include <fstream>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for matrix_multi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  glucat::framed_multi< Scalar_T, LO, HI, Tune_P >
 A framed_multi<Scalar_T,LO,HI,Tune_P> is a framed approximation to a multivector. More...
 
class  glucat::matrix_multi< Scalar_T, LO, HI, Tune_P >
 A matrix_multi<Scalar_T,LO,HI,Tune_P> is a matrix approximation to a multivector. More...
 
class  glucat::matrix_multi< Scalar_T, LO, HI, Tune_P >
 A matrix_multi<Scalar_T,LO,HI,Tune_P> is a matrix approximation to a multivector. More...
 
struct  std::numeric_limits< glucat::matrix_multi< Scalar_T, LO, HI, Tune_P > >
 Numeric limits for matrix_multi inherit limits for the corresponding scalar type. More...
 

Namespaces

 glucat
 
 std
 

Functions

template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator* (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Geometric product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator^ (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Outer product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator & (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Inner product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator% (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Left contraction. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::star (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> Scalar_T
 Hestenes scalar product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator/ (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Geometric quotient. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator| (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Transformation via twisted adjoint action. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator>> (std::istream &s, matrix_multi< Scalar_T, LO, HI, Tune_P > &val) -> std::istream &
 Read multivector from input. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::operator<< (std::ostream &os, const matrix_multi< Scalar_T, LO, HI, Tune_P > &val) -> std::ostream &
 Write multivector to output. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::reframe (const matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs, const matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs, matrix_multi< Scalar_T, LO, HI, Tune_P > &lhs_reframed, matrix_multi< Scalar_T, LO, HI, Tune_P > &rhs_reframed) -> const index_set< LO, HI >
 Find a common frame for operands of a binary operator. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::sqrt (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, const matrix_multi< Scalar_T, LO, HI, Tune_P > &i, bool prechecked) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Square root of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::matrix_sqrt (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, const matrix_multi< Scalar_T, LO, HI, Tune_P > &i, const index_t level) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Square root of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::log (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, const matrix_multi< Scalar_T, LO, HI, Tune_P > &i, bool prechecked) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Natural logarithm of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::matrix_log (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, const matrix_multi< Scalar_T, LO, HI, Tune_P > &i, const index_t level) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Natural logarithm of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI, typename Tune_P >
auto glucat::exp (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val) -> const matrix_multi< Scalar_T, LO, HI, Tune_P >
 Exponential of multivector. More...