|
auto | glucat::offset_level (const index_t p, const index_t q) -> index_t |
| Determine the log2 dim corresponding to signature p, q.
|
|
template<typename Matrix_Index_T, const index_t LO, const index_t HI> |
static auto | glucat::folded_dim (const index_set< LO, HI > &sub) -> Matrix_Index_T |
| Determine the matrix dimension of the fold of a subalegbra.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
template<typename Multivector_T, typename Matrix_T, typename Basis_Matrix_T> |
static auto | glucat::fast (const Matrix_T &X, index_t level) -> Multivector_T |
| Inverse generalized Fast Fourier Transform.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P, const size_t Size> |
static auto | glucat::pade_approx (const std::array< Scalar_T, Size > &numer, const std::array< Scalar_T, Size > &denom, const matrix_multi< Scalar_T, LO, HI, Tune_P > &X) -> const matrix_multi< Scalar_T, LO, HI, Tune_P > |
| Pade' approximation.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P> |
static void | glucat::db_step (matrix_multi< Scalar_T, LO, HI, Tune_P > &M, matrix_multi< Scalar_T, LO, HI, Tune_P > &Y) |
| Single step of product form of Denman-Beavers square root iteration.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P> |
static auto | glucat::db_sqrt (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, Scalar_T norm_tol=std::pow(std::numeric_limits< Scalar_T >::epsilon(), 4)) -> const matrix_multi< Scalar_T, LO, HI, Tune_P > |
| Product form of Denman-Beavers square root iteration.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P> |
static auto | glucat::cr_sqrt (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val, Scalar_T norm_Y_tol=std::pow(std::numeric_limits< Scalar_T >::epsilon(), 1)) -> const matrix_multi< Scalar_T, LO, HI, Tune_P > |
| Cyclic reduction square root iteration.
|
|
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.
|
|
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.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P> |
static auto | glucat::pade_log (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val) -> const matrix_multi< Scalar_T, LO, HI, Tune_P > |
| Pade' approximation of log.
|
|
template<typename Scalar_T, const index_t LO, const index_t HI, typename Tune_P> |
static auto | glucat::cascade_log (const matrix_multi< Scalar_T, LO, HI, Tune_P > &val) -> const matrix_multi< Scalar_T, LO, HI, Tune_P > |
| Incomplete square root cascade and Pade' approximation of log.
|
|
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.
|
|
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.
|
|
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.
|
|