glucat 0.13.0
framed_multi_imp.h File Reference
#include "glucat/framed_multi.h"
#include "glucat/scalar.h"
#include "glucat/random.h"
#include "glucat/generation.h"
#include "glucat/matrix.h"
#include <sstream>
#include <fstream>
Include dependency graph for framed_multi_imp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  glucat::sorted_range< Map_T, Sorted_Map_T >
 Sorted range for use with output. More...
 
class  glucat::sorted_range< Sorted_Map_T, Sorted_Map_T >
 

Namespaces

namespace  glucat
 

Macros

#define _GLUCAT_HASH_N(x)
 
#define _GLUCAT_HASH_SIZE_T(x)
 

Functions

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

Macro Definition Documentation

◆ _GLUCAT_HASH_N

◆ _GLUCAT_HASH_SIZE_T

#define _GLUCAT_HASH_SIZE_T ( x)
Value:
(typename multivector_t::hash_size_t)(x)

Definition at line 55 of file framed_multi_imp.h.

Referenced by glucat::operator%(), glucat::operator&(), glucat::operator*(), and glucat::operator^().