glucat  0.8.4
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Friends | List of all members
glucat::framed_multi< Scalar_T, LO, HI > Class Template Reference

A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector. More...

#include <framed_multi.h>

Classes

class  hash_size_t
 
class  var_term
 Variable term. More...
 

Public Types

typedef framed_multi multivector_t
 
typedef multivector_t framed_multi_t
 
typedef Scalar_T scalar_t
 
typedef index_set< LO, HI > index_set_t
 
typedef std::pair< const index_set_t, Scalar_T > term_t
 
typedef std::vector< Scalar_T > vector_t
 
typedef error< multivector_terror_t
 
typedef matrix_multi< Scalar_T, LO, HI > matrix_multi_t
 

Public Member Functions

 ~framed_multi ()
 Destructor. More...
 
 framed_multi ()
 Default constructor. More...
 
template<typename Other_Scalar_T >
 framed_multi (const framed_multi< Other_Scalar_T, LO, HI > &val)
 Construct a multivector from a multivector with a different scalar type. More...
 
template<typename Other_Scalar_T >
 framed_multi (const framed_multi< Other_Scalar_T, LO, HI > &val, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from a given multivector. More...
 
 framed_multi (const framed_multi_t &val, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from a given multivector. More...
 
 framed_multi (const index_set_t ist, const Scalar_T &crd=Scalar_T(1))
 Construct a multivector from an index set and a scalar coordinate. More...
 
 framed_multi (const index_set_t ist, const Scalar_T &crd, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from an index set and a scalar coordinate. More...
 
 framed_multi (const Scalar_T &scr, const index_set_t frm=index_set_t())
 Construct a multivector from a scalar (within a frame, if given) More...
 
 framed_multi (const int scr, const index_set_t frm=index_set_t())
 Construct a multivector from an int (within a frame, if given) More...
 
 framed_multi (const vector_t &vec, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from a given vector. More...
 
 framed_multi (const std::string &str)
 Construct a multivector from a string: eg: "3+2{1,2}-6.1e-2{2,3}". More...
 
 framed_multi (const std::string &str, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from a string: eg: "3+2{1,2}-6.1e-2{2,3}". More...
 
 framed_multi (const char *str)
 Construct a multivector from a char*: eg: "3+2{1,2}-6.1e-2{2,3}". More...
 
 framed_multi (const char *str, const index_set_t frm, const bool prechecked=false)
 Construct a multivector, within a given frame, from a char*: eg: "3+2{1,2}-6.1e-2{2,3}". More...
 
template<typename Other_Scalar_T >
 framed_multi (const matrix_multi< Other_Scalar_T, LO, HI > &val)
 Construct a multivector from a matrix_multi_t. More...
 
template<typename Other_Scalar_T >
const matrix_multi< Other_Scalar_T, LO, HI > fast_matrix_multi (const index_set_t frm) const
 Use generalized FFT to construct a matrix_multi_t. More...
 
const framed_multi_t fast_framed_multi () const
 Use inverse generalized FFT to construct a framed_multi_t. More...
 
_GLUCAT_CLIFFORD_ALGEBRA_OPERATIONS unsigned long nbr_terms () const
 Number of terms. More...
 
multivector_toperator+= (const term_t &term)
 Add a term, if non-zero. More...
 

Static Public Member Functions

static const std::string classname ()
 Class name used in messages. More...
 
static const framed_multi_t random (const index_set_t frm, Scalar_T fill=Scalar_T(1))
 Random multivector within a frame. More...
 

Private Types

typedef class var_term var_term_t
 
typedef matrix_multi_t::matrix_t matrix_t
 
typedef std::map< index_set_t, Scalar_T, std::less< const index_set_t > > sorted_map_t
 
typedef std::unordered_map< index_set_t, Scalar_T, index_set_hash< LO, HI > > map_t
 
typedef std::pair< const multivector_t, const multivector_tframed_pair_t
 
typedef map_t::size_type size_type
 
typedef map_t::iterator iterator
 
typedef map_t::const_iterator const_iterator
 

Private Member Functions

 framed_multi (const hash_size_t &hash_size)
 Private constructor using hash_size. More...
 
multivector_t fold (const index_set_t frm) const
 Subalgebra isomorphism: fold each term within the given frame. More...
 
multivector_t unfold (const index_set_t frm) const
 Subalgebra isomorphism: unfold each term within the given frame. More...
 
multivector_tcentre_pm4_qp4 (index_t &p, index_t &q)
 Subalgebra isomorphism: R_{p,q} to R_{p-4,q+4}. More...
 
multivector_tcentre_pp4_qm4 (index_t &p, index_t &q)
 Subalgebra isomorphism: R_{p,q} to R_{p+4,q-4}. More...
 
multivector_tcentre_qp1_pm1 (index_t &p, index_t &q)
 Subalgebra isomorphism: R_{p,q} to R_{q+1,p-1}. More...
 
const framed_pair_t divide (const index_set_t ist) const
 Divide multivector into part divisible by index_set and remainder. More...
 
const matrix_t fast (const index_t level, const bool odd) const
 Generalized FFT from framed_multi_t to matrix_t. More...
 

Friends

template<typename Other_Scalar_T , const index_t Other_LO, const index_t Other_HI>
class matrix_multi
 
template<typename Other_Scalar_T , const index_t Other_LO, const index_t Other_HI>
class framed_multi
 
const framed_multi_t operator* (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
const framed_multi_t operator^ (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
const framed_multi_t operator& (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
const framed_multi_t operator% (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
Scalar_T star (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
const framed_multi_t operator/ (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
const framed_multi_t operator| (const framed_multi_t &lhs, const framed_multi_t &rhs)
 
std::istream & operator>> (std::istream &s, multivector_t &val)
 
std::ostream & operator<< (std::ostream &os, const multivector_t &val)
 
std::ostream & operator<< (std::ostream &os, const term_t &term)
 
const framed_multi_t exp (const framed_multi_t &val)
 

Detailed Description

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
class glucat::framed_multi< Scalar_T, LO, HI >

A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector.

Definition at line 65 of file framed_multi.h.

Member Typedef Documentation

◆ const_iterator

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef map_t::const_iterator glucat::framed_multi< Scalar_T, LO, HI >::const_iterator
private

Definition at line 196 of file framed_multi.h.

◆ error_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef error<multivector_t> glucat::framed_multi< Scalar_T, LO, HI >::error_t

Definition at line 155 of file framed_multi.h.

◆ framed_multi_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef multivector_t glucat::framed_multi< Scalar_T, LO, HI >::framed_multi_t

Definition at line 150 of file framed_multi.h.

◆ framed_pair_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef std::pair< const multivector_t, const multivector_t > glucat::framed_multi< Scalar_T, LO, HI >::framed_pair_t
private

Definition at line 193 of file framed_multi.h.

◆ index_set_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef index_set<LO,HI> glucat::framed_multi< Scalar_T, LO, HI >::index_set_t

Definition at line 152 of file framed_multi.h.

◆ iterator

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef map_t::iterator glucat::framed_multi< Scalar_T, LO, HI >::iterator
private

Definition at line 195 of file framed_multi.h.

◆ map_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef std::unordered_map< index_set_t, Scalar_T, index_set_hash<LO,HI> > glucat::framed_multi< Scalar_T, LO, HI >::map_t
private

Definition at line 175 of file framed_multi.h.

◆ matrix_multi_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef matrix_multi<Scalar_T,LO,HI> glucat::framed_multi< Scalar_T, LO, HI >::matrix_multi_t

Definition at line 156 of file framed_multi.h.

◆ matrix_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef matrix_multi_t::matrix_t glucat::framed_multi< Scalar_T, LO, HI >::matrix_t
private

Definition at line 165 of file framed_multi.h.

◆ multivector_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef framed_multi glucat::framed_multi< Scalar_T, LO, HI >::multivector_t

Definition at line 149 of file framed_multi.h.

◆ scalar_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef Scalar_T glucat::framed_multi< Scalar_T, LO, HI >::scalar_t

Definition at line 151 of file framed_multi.h.

◆ size_type

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef map_t::size_type glucat::framed_multi< Scalar_T, LO, HI >::size_type
private

Definition at line 194 of file framed_multi.h.

◆ sorted_map_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef std::map< index_set_t, Scalar_T, std::less<const index_set_t> > glucat::framed_multi< Scalar_T, LO, HI >::sorted_map_t
private

Definition at line 172 of file framed_multi.h.

◆ term_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef std::pair<const index_set_t, Scalar_T> glucat::framed_multi< Scalar_T, LO, HI >::term_t

Definition at line 153 of file framed_multi.h.

◆ var_term_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef class var_term glucat::framed_multi< Scalar_T, LO, HI >::var_term_t
private

Definition at line 160 of file framed_multi.h.

◆ vector_t

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
typedef std::vector<Scalar_T> glucat::framed_multi< Scalar_T, LO, HI >::vector_t

Definition at line 154 of file framed_multi.h.

Constructor & Destructor Documentation

◆ ~framed_multi()

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
glucat::framed_multi< Scalar_T, LO, HI >::~framed_multi ( )
inline

Destructor.

Definition at line 202 of file framed_multi.h.

◆ framed_multi() [1/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi

Default constructor.

Definition at line 96 of file framed_multi_imp.h.

◆ framed_multi() [2/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const hash_size_t hash_size)
private

Private constructor using hash_size.

Definition at line 103 of file framed_multi_imp.h.

◆ framed_multi() [3/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
template<typename Other_Scalar_T >
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const framed_multi< Other_Scalar_T, LO, HI > &  val)

Construct a multivector from a multivector with a different scalar type.

Definition at line 111 of file framed_multi_imp.h.

◆ framed_multi() [4/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
template<typename Other_Scalar_T >
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const framed_multi< Other_Scalar_T, LO, HI > &  val,
const index_set_t  frm,
const bool  prechecked = false 
)

Construct a multivector, within a given frame, from a given multivector.

Definition at line 126 of file framed_multi_imp.h.

References PyClical::ist.

◆ framed_multi() [5/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const framed_multi_t val,
const index_set_t  frm,
const bool  prechecked = false 
)

Construct a multivector, within a given frame, from a given multivector.

Definition at line 141 of file framed_multi_imp.h.

◆ framed_multi() [6/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const index_set_t  ist,
const Scalar_T &  crd = Scalar_T(1) 
)

Construct a multivector from an index set and a scalar coordinate.

Definition at line 149 of file framed_multi_imp.h.

◆ framed_multi() [7/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const index_set_t  ist,
const Scalar_T &  crd,
const index_set_t  frm,
const bool  prechecked = false 
)

Construct a multivector, within a given frame, from an index set and a scalar coordinate.

Definition at line 159 of file framed_multi_imp.h.

References glucat::index_set< LO, HI >::count(), glucat::index_set< LO, HI >::max(), and glucat::index_set< LO, HI >::min().

◆ framed_multi() [8/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const Scalar_T &  scr,
const index_set_t  frm = index_set_t() 
)

Construct a multivector from a scalar (within a frame, if given)

Definition at line 172 of file framed_multi_imp.h.

◆ framed_multi() [9/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const int  scr,
const index_set_t  frm = index_set_t() 
)

Construct a multivector from an int (within a frame, if given)

Definition at line 182 of file framed_multi_imp.h.

◆ framed_multi() [10/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const vector_t vec,
const index_set_t  frm,
const bool  prechecked = false 
)

Construct a multivector, within a given frame, from a given vector.

Definition at line 192 of file framed_multi_imp.h.

◆ framed_multi() [11/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const std::string &  str)

◆ framed_multi() [12/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const std::string &  str,
const index_set_t  frm,
const bool  prechecked = false 
)

Construct a multivector, within a given frame, from a string: eg: "3+2{1,2}-6.1e-2{2,3}".

Definition at line 231 of file framed_multi_imp.h.

◆ framed_multi() [13/15]

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const char *  str)
inline

Construct a multivector from a char*: eg: "3+2{1,2}-6.1e-2{2,3}".

Definition at line 238 of file framed_multi.h.

References glucat::framed_multi< Scalar_T, LO, HI >::framed_multi.

◆ framed_multi() [14/15]

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const char *  str,
const index_set_t  frm,
const bool  prechecked = false 
)
inline

Construct a multivector, within a given frame, from a char*: eg: "3+2{1,2}-6.1e-2{2,3}".

Definition at line 241 of file framed_multi.h.

References glucat::framed_multi< Scalar_T, LO, HI >::framed_multi.

◆ framed_multi() [15/15]

template<typename Scalar_T , const index_t LO, const index_t HI>
template<typename Other_Scalar_T >
glucat::framed_multi< Scalar_T, LO, HI >::framed_multi ( const matrix_multi< Other_Scalar_T, LO, HI > &  val)

Construct a multivector from a matrix_multi_t.

Definition at line 244 of file framed_multi_imp.h.

Member Function Documentation

◆ centre_pm4_qp4()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > & glucat::framed_multi< Scalar_T, LO, HI >::centre_pm4_qp4 ( index_t p,
index_t q 
)
private

Subalgebra isomorphism: R_{p,q} to R_{p-4,q+4}.

Definition at line 1684 of file framed_multi_imp.h.

◆ centre_pp4_qm4()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > & glucat::framed_multi< Scalar_T, LO, HI >::centre_pp4_qm4 ( index_t p,
index_t q 
)
private

Subalgebra isomorphism: R_{p,q} to R_{p+4,q-4}.

Definition at line 1729 of file framed_multi_imp.h.

◆ centre_qp1_pm1()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > & glucat::framed_multi< Scalar_T, LO, HI >::centre_qp1_pm1 ( index_t p,
index_t q 
)
private

Subalgebra isomorphism: R_{p,q} to R_{q+1,p-1}.

Definition at line 1774 of file framed_multi_imp.h.

◆ classname()

template<typename Scalar_T , const index_t LO, const index_t HI>
const std::string glucat::framed_multi< Scalar_T, LO, HI >::classname
static

Class name used in messages.

Definition at line 82 of file framed_multi_imp.h.

◆ divide()

template<typename Scalar_T , const index_t LO, const index_t HI>
const std::pair< const framed_multi< Scalar_T, LO, HI >, const framed_multi< Scalar_T, LO, HI > > glucat::framed_multi< Scalar_T, LO, HI >::divide ( const index_set_t  ist) const
private

Divide multivector into part divisible by index_set and remainder.

Divide multivector into quotient with terms divisible by index set, and remainder.

Definition at line 1810 of file framed_multi_imp.h.

◆ fast()

template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI >::matrix_t glucat::framed_multi< Scalar_T, LO, HI >::fast ( const index_t  level,
const bool  odd 
) const
private

Generalized FFT from framed_multi_t to matrix_t.

Definition at line 1829 of file framed_multi_imp.h.

References glucat::odd(), and glucat::scalar().

◆ fast_framed_multi()

template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::framed_multi< Scalar_T, LO, HI >::fast_framed_multi
inline

Use inverse generalized FFT to construct a framed_multi_t.

Definition at line 1927 of file framed_multi_imp.h.

◆ fast_matrix_multi()

template<typename Scalar_T , const index_t LO, const index_t HI>
template<typename Other_Scalar_T >
const matrix_multi< Other_Scalar_T, LO, HI > glucat::framed_multi< Scalar_T, LO, HI >::fast_matrix_multi ( const index_set_t  frm) const

Use generalized FFT to construct a matrix_multi_t.

Definition at line 1895 of file framed_multi_imp.h.

◆ fold()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > glucat::framed_multi< Scalar_T, LO, HI >::fold ( const index_set_t  frm) const
private

Subalgebra isomorphism: fold each term within the given frame.

Definition at line 1643 of file framed_multi_imp.h.

◆ nbr_terms()

template<typename Scalar_T , const index_t LO, const index_t HI>
unsigned long glucat::framed_multi< Scalar_T, LO, HI >::nbr_terms

Number of terms.

Definition at line 1574 of file framed_multi_imp.h.

◆ operator+=()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > & glucat::framed_multi< Scalar_T, LO, HI >::operator+= ( const term_t term)
inline

Add a term, if non-zero.

Insert a term into a multivector, add terms with same index set.

Geometric sum.

Geometric sum of multivector and scalar.

Definition at line 358 of file framed_multi_imp.h.

◆ random()

template<typename Scalar_T , const index_t LO, const index_t HI>
const framed_multi< Scalar_T, LO, HI > glucat::framed_multi< Scalar_T, LO, HI >::random ( const index_set_t  frm,
Scalar_T  fill = Scalar_T(1) 
)
static

Random multivector within a frame.

Definition at line 1302 of file framed_multi_imp.h.

◆ unfold()

template<typename Scalar_T , const index_t LO, const index_t HI>
framed_multi< Scalar_T, LO, HI > glucat::framed_multi< Scalar_T, LO, HI >::unfold ( const index_set_t  frm) const
private

Subalgebra isomorphism: unfold each term within the given frame.

Definition at line 1663 of file framed_multi_imp.h.

Friends And Related Function Documentation

◆ exp

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t exp ( const framed_multi_t val)
friend

◆ framed_multi

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
template<typename Other_Scalar_T , const index_t Other_LO, const index_t Other_HI>
friend class framed_multi
friend

◆ matrix_multi

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
template<typename Other_Scalar_T , const index_t Other_LO, const index_t Other_HI>
friend class matrix_multi
friend

Definition at line 158 of file framed_multi.h.

◆ operator%

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator% ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ operator&

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator& ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ operator*

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator* ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ operator/

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator/ ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ operator<< [1/2]

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
std::ostream& operator<< ( std::ostream &  os,
const multivector_t val 
)
friend

◆ operator<< [2/2]

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
std::ostream& operator<< ( std::ostream &  os,
const term_t term 
)
friend

◆ operator>>

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
std::istream& operator>> ( std::istream &  s,
multivector_t val 
)
friend

◆ operator^

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator^ ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ operator|

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
const framed_multi_t operator| ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

◆ star

template<typename Scalar_T = double, const index_t LO = DEFAULT_LO, const index_t HI = DEFAULT_HI>
Scalar_T star ( const framed_multi_t lhs,
const framed_multi_t rhs 
)
friend

The documentation for this class was generated from the following files: