glucat  0.8.2
Classes | Namespaces | Functions
matrix_multi_imp.h File Reference
#include "glucat/matrix_multi.h"
#include "glucat/matrix.h"
#include "glucat/generation.h"
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/matrix_expression.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/operation.hpp>
#include <boost/numeric/ublas/operation_sparse.hpp>
#include <boost/numeric/ublas/triangular.hpp>
#include <boost/numeric/ublas/lu.hpp>
#include <fstream>
#include <iomanip>
Include dependency graph for matrix_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::basis_table< Scalar_T, LO, HI, Matrix_T >
 Table of basis elements used as a cache by basis_element() More...
 

Namespaces

 glucat
 

Functions

index_t glucat::offset_level (const index_t p, const index_t q)
 Determine the log2 dim corresponding to signature p, q. More...
 
template<typename Matrix_Index_T , const index_t LO, const index_t HI>
static Matrix_Index_T glucat::folded_dim (const index_set< LO, HI > &sub)
 Determine the matrix dimension of the fold of a subalegbra. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const index_set< LO, HI > glucat::reframe (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs, matrix_multi< Scalar_T, LO, HI > &lhs_reframed, matrix_multi< Scalar_T, LO, HI > &rhs_reframed)
 Find a common frame for operands of a binary operator. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator* (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs)
 Geometric product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator^ (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs)
 Outer product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator & (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs)
 Inner product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator% (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_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 matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs)
 Hestenes scalar product. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator/ (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs)
 Geometric quotient. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::operator| (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_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::ostream & glucat::operator<< (std::ostream &os, const matrix_multi< Scalar_T, LO, HI > &val)
 Write multivector to output. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
std::istream & glucat::operator>> (std::istream &s, matrix_multi< Scalar_T, LO, HI > &val)
 Read multivector from input. More...
 
template<typename Multivector_T , typename Matrix_T , typename Basis_Matrix_T >
static Multivector_T glucat::fast (const Matrix_T &X, index_t level)
 Inverse generalized Fast Fourier Transform. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static const matrix_multi< Scalar_T, LO, HI > glucat::pade_approx (const int array_size, const Scalar_T a[], const Scalar_T b[], const matrix_multi< Scalar_T, LO, HI > &X)
 Pade' approximation. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static void glucat::db_step (matrix_multi< Scalar_T, LO, HI > &M, matrix_multi< Scalar_T, LO, HI > &Y)
 Single step of product form of Denman-Beavers square root iteration. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static const matrix_multi< Scalar_T, LO, HI > glucat::db_sqrt (const matrix_multi< Scalar_T, LO, HI > &val)
 Product form of Denman-Beavers square root iteration. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::sqrt (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_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 matrix_multi< Scalar_T, LO, HI > glucat::matrix_sqrt (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i)
 Square root of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static const matrix_multi< Scalar_T, LO, HI > glucat::pade_log (const matrix_multi< Scalar_T, LO, HI > &val)
 Pade' approximation of log. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
static const matrix_multi< Scalar_T, LO, HI > glucat::cascade_log (const matrix_multi< Scalar_T, LO, HI > &val)
 Incomplete square root cascade and Pade' approximation of log. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::log (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i, bool prechecked)
 Natural logarithm of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::matrix_log (const matrix_multi< Scalar_T, LO, HI > &val, const matrix_multi< Scalar_T, LO, HI > &i)
 Natural logarithm of multivector with specified complexifier. More...
 
template<typename Scalar_T , const index_t LO, const index_t HI>
const matrix_multi< Scalar_T, LO, HI > glucat::exp (const matrix_multi< Scalar_T, LO, HI > &val)
 Exponential of multivector. More...