glucat  0.8.2
Classes | Namespaces | Macros | Functions
framed_multi.h File Reference
#include "glucat/global.h"
#include "glucat/errors.h"
#include "glucat/clifford_algebra.h"
#include <string>
#include <utility>
#include <map>
#include <vector>
#include <unordered_map>
Include dependency graph for framed_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 >
 A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector. More...
 
class  glucat::matrix_multi< Scalar_T, LO, HI >
 A matrix_multi<Scalar_T,LO,HI> is a matrix approximation to a multivector. More...
 
class  glucat::index_set_hash< LO, HI >
 
class  glucat::framed_multi< Scalar_T, LO, HI >
 A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector. More...
 
class  glucat::framed_multi< Scalar_T, LO, HI >::hash_size_t
 
class  glucat::framed_multi< Scalar_T, LO, HI >::var_term
 Variable term. More...
 
struct  std::numeric_limits< glucat::framed_multi< Scalar_T, LO, HI > >
 Numeric limits for framed_multi inherit limits for the corresponding scalar type. More...
 

Namespaces

 glucat
 
 std
 

Macros

#define _GLUCAT_MAP_IS_HASH
 

Functions

template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator* (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Geometric product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator^ (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Outer product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator & (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Inner product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator% (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Left contraction. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
Scalar_T glucat::star (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Hestenes scalar product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator/ (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Geometric quotient. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::operator| (const framed_multi< Scalar_T, LO, HI > &lhs, const framed_multi< Scalar_T, LO, HI > &rhs)
 Transformation via twisted adjoint action. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
std::istream & glucat::operator>> (std::istream &s, framed_multi< Scalar_T, LO, HI > &val)
 Read multivector from input. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
std::ostream & glucat::operator<< (std::ostream &os, const framed_multi< Scalar_T, LO, HI > &val)
 Write multivector to output. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
std::ostream & glucat::operator<< (std::ostream &os, const std::pair< const index_set< LO, HI >, Scalar_T > &term)
 Write term to output. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::exp (const framed_multi< Scalar_T, LO, HI > &val)
 Exponential of multivector. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static Scalar_T glucat::crd_of_mult (const std::pair< const index_set< LO, HI >, Scalar_T > &lhs, const std::pair< const index_set< LO, HI >, Scalar_T > &rhs)
 Coordinate of product of terms. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const std::pair< const index_set< LO, HI >, Scalar_T > glucat::operator* (const std::pair< const index_set< LO, HI >, Scalar_T > &lhs, const std::pair< const index_set< LO, HI >, Scalar_T > &rhs)
 Product of terms. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::sqrt (const framed_multi< Scalar_T, LO, HI > &val, const framed_multi< Scalar_T, LO, HI > &i, bool prechecked)
 Square root of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::log (const framed_multi< Scalar_T, LO, HI > &val, const framed_multi< Scalar_T, LO, HI > &i, bool prechecked)
 Natural logarithm of multivector with specified complexifier. More...
 

Macro Definition Documentation

◆ _GLUCAT_MAP_IS_HASH

#define _GLUCAT_MAP_IS_HASH

Definition at line 55 of file framed_multi.h.