|
glucat
0.8.2
|
Namespaces | |
| gen | |
| matrix | |
| timing | |
Classes | |
| class | basis_table |
| Table of basis elements used as a cache by basis_element() More... | |
| class | bool_to_type |
| Bool to type. More... | |
| class | clifford_algebra |
| clifford_algebra<> declares the operations of a Clifford algebra More... | |
| class | compare_types |
| Type comparison. More... | |
| class | compare_types< T, T > |
| class | control_t |
| Parameters to control tests. More... | |
| struct | CTAssertion |
| Compile time assertion. More... | |
| struct | CTAssertion< true > |
| class | error |
| Specific exception class. More... | |
| class | framed_multi |
| A framed_multi<Scalar_T,LO,HI> is a framed approximation to a multivector. More... | |
| class | glucat_error |
| Abstract exception class. More... | |
| class | index_set |
| Index set class based on std::bitset<> in Gnu standard C++ library. More... | |
| class | index_set_hash |
| class | matrix_multi |
| A matrix_multi<Scalar_T,LO,HI> is a matrix approximation to a multivector. More... | |
| class | numeric_traits |
| Extra traits which extend numeric limits. More... | |
| class | random_generator |
| Random number generator with single instance per Scalar_T. More... | |
| class | sorted_range |
| Sorted range for use with output. More... | |
| class | sorted_range< Sorted_Map_T, Sorted_Map_T > |
| struct | tuning |
| Tuning policy. More... | |
Typedefs | |
| typedef int | index_t |
| Size of index_t should be enough to represent LO, HI. More... | |
| typedef unsigned long | set_value_t |
| Size of set_value_t should be enough to contain index_set<LO,HI> More... | |
| typedef int(* | intfn) () |
| For exception catching: pointer to function returning int. More... | |
| typedef int(* | intintfn) (int) |
| For exception catching: pointer to function of int returning int. More... | |
Enumerations | |
| enum | precision_t { precision_demoted, precision_same, precision_promoted } |
| Precision policy. More... | |
Functions | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| bool | operator!= (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Test for inequality of multivectors. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| bool | operator!= (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
| Test for inequality of multivector and scalar. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| bool | operator!= (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
| Test for inequality of scalar and multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator+ (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
| Geometric sum of multivector and scalar. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator+ (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
| Geometric sum of scalar and multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator+ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Geometric sum. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator- (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
| Geometric difference of multivector and scalar. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator- (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
| Geometric difference of scalar and multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator- (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Geometric difference. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator* (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
| Product of multivector and scalar. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator* (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
| Product of scalar and multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator* (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Geometric product. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator^ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Outer product. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator & (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Inner product. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator% (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Left contraction. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | star (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Hestenes scalar product. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator/ (const Multivector< Scalar_T, LO, HI > &lhs, const Scalar_T &scr) |
| Quotient of multivector and scalar. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator/ (const Scalar_T &scr, const Multivector< Scalar_T, LO, HI > &rhs) |
| Quotient of scalar and multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator/ (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Geometric quotient. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator| (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Transformation via twisted adjoint action. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | inv (const Multivector< Scalar_T, LO, HI > &val) |
| Geometric multiplicative inverse. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | pow (const Multivector< Scalar_T, LO, HI > &lhs, int rhs) |
| Integer power of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | pow (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Multivector power of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | outer_pow (const Multivector< Scalar_T, LO, HI > &lhs, int rhs) |
| Outer product power of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | scalar (const Multivector< Scalar_T, LO, HI > &val) |
| Scalar part. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | real (const Multivector< Scalar_T, LO, HI > &val) |
| Real part: synonym for scalar part. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | imag (const Multivector< Scalar_T, LO, HI > &val) |
| Imaginary part: deprecated (always 0) More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | pure (const Multivector< Scalar_T, LO, HI > &val) |
| Pure part. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | even (const Multivector< Scalar_T, LO, HI > &val) |
| Even part. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | odd (const Multivector< Scalar_T, LO, HI > &val) |
| Odd part. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const std::vector< Scalar_T > | vector_part (const Multivector< Scalar_T, LO, HI > &val) |
| Vector part of multivector, as a vector_t with respect to frame() More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | involute (const Multivector< Scalar_T, LO, HI > &val) |
| Main involution, each {i} is replaced by -{i} in each term, eg. {1}*{2} -> (-{2})*(-{1}) More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | reverse (const Multivector< Scalar_T, LO, HI > &val) |
| Reversion, eg. {1}*{2} -> {2}*{1}. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | conj (const Multivector< Scalar_T, LO, HI > &val) |
| Conjugation, rev o invo == invo o rev. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | quad (const Multivector< Scalar_T, LO, HI > &val) |
| Scalar_T quadratic form == (rev(x)*x)(0) More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | norm (const Multivector< Scalar_T, LO, HI > &val) |
| Scalar_T norm == sum of norm of coordinates. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | abs (const Multivector< Scalar_T, LO, HI > &val) |
| Absolute value == sqrt(norm) More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| Scalar_T | max_abs (const Multivector< Scalar_T, LO, HI > &val) |
| Maximum of absolute values of components of multivector: multivector infinity norm. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | complexifier (const Multivector< Scalar_T, LO, HI > &val) |
| Square root of -1 which commutes with all members of the frame of the given multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | elliptic (const Multivector< Scalar_T, LO, HI > &val) |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | sqrt (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Square root of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | sqrt (const Multivector< Scalar_T, LO, HI > &val) |
| Square root of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | clifford_exp (const Multivector< Scalar_T, LO, HI > &val) |
| Exponential of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | log (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Natural logarithm of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | log (const Multivector< Scalar_T, LO, HI > &val) |
| Natural logarithm of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | cos (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Cosine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | cos (const Multivector< Scalar_T, LO, HI > &val) |
| Cosine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | acos (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse cosine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | acos (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse cosine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | cosh (const Multivector< Scalar_T, LO, HI > &val) |
| Hyperbolic cosine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | acosh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse hyperbolic cosine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | acosh (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse hyperbolic cosine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | sin (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Sine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | sin (const Multivector< Scalar_T, LO, HI > &val) |
| Sine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | asin (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse sine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | asin (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse sine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | sinh (const Multivector< Scalar_T, LO, HI > &val) |
| Hyperbolic sine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | asinh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse hyperbolic sine of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | asinh (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse hyperbolic sine of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | tan (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Tangent of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | tan (const Multivector< Scalar_T, LO, HI > &val) |
| Tangent of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | atan (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse tangent of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | atan (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse tangent of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | tanh (const Multivector< Scalar_T, LO, HI > &val) |
| Hyperbolic tangent of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | atanh (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Inverse hyperbolic tangent of multivector with specified complexifier. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | atanh (const Multivector< Scalar_T, LO, HI > &val) |
| Inverse hyperbolic tangent of multivector. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, template< typename, const index_t, const index_t > class RHS, typename Scalar_T , const index_t LO, const index_t HI> | |
| const Multivector< Scalar_T, LO, HI > | operator & (const Multivector< Scalar_T, LO, HI > &lhs, const RHS< Scalar_T, LO, HI > &rhs) |
| Inner product. More... | |
| template<template< typename, const index_t, const index_t > class Multivector, typename Scalar_T , const index_t LO, const index_t HI> | |
| static void | check_complex (const Multivector< Scalar_T, LO, HI > &val, const Multivector< Scalar_T, LO, HI > &i, const bool prechecked=false) |
| Check that i is a valid complexifier for val. More... | |
| template<typename Scalar_T , const index_t LO, const index_t HI> | |
| const framed_multi< Scalar_T, LO, HI > | 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 > | 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 > | 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 > | 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 | 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 > | 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 > | 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 & | 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 & | 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 & | 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 > | 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 | 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 > | 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 > | 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 > | 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... | |
| template<typename Scalar_T , const index_t LO, const index_t HI> | |
| const framed_multi< Scalar_T, LO, HI > | 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> | |
| static Scalar_T | 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... | |
| _GLUCAT_CTAssert (std::numeric_limits< unsigned char >::radix==2, CannotDetermineBitsPerChar) const index_t BITS_PER_CHAR | |
| If radix of unsigned char is not 2, we can't easily determine number of bits from sizeof. More... | |
| _GLUCAT_CTAssert (_GLUCAT_BITS_PER_ULONG==BITS_PER_SET_VALUE, BitsPerULongDoesNotMatchSetValueT) const index_t DEFAULT_LO | |
| Default lowest index in an index set. More... | |
| template<typename LHS_T , typename RHS_T > | |
| LHS_T | pos_mod (LHS_T lhs, RHS_T rhs) |
| Modulo function which works reliably for lhs < 0. More... | |
| template<const index_t LO, const index_t HI> | |
| const index_set< LO, HI > | operator^ (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
| Symmetric set difference: exclusive or. More... | |
| template<const index_t LO, const index_t HI> | |
| const index_set< LO, HI > | operator & (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
| Set intersection: and. More... | |
| template<const index_t LO, const index_t HI> | |
| const index_set< LO, HI > | operator| (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
| Set union: or. More... | |
| template<const index_t LO, const index_t HI> | |
| int | compare (const index_set< LO, HI > &a, const index_set< LO, HI > &b) |
| "lexicographic compare" eg. {3,4,5} is less than {3,7,8} More... | |
| _GLUCAT_CTAssert (sizeof(set_value_t) >=sizeof(std::bitset< DEFAULT_HI-DEFAULT_LO >), Default_index_set_too_big_for_value) template< const index_t LO | |
| Size of set_value_t should be enough to contain bitset<DEFAULT_HI-DEFAULT_LO> More... | |
| const index_t HI std::ostream & | operator<< (std::ostream &os, const index_set< LO, HI > &ist) |
| Write out index set. More... | |
| template<const index_t LO, const index_t HI> | |
| std::istream & | operator>> (std::istream &s, index_set< LO, HI > &ist) |
| Read in index set. More... | |
| int | sign_of_square (index_t j) |
| Square of generator {j}. More... | |
| template<const index_t LO, const index_t HI> | |
| index_t | min_neg (const index_set< LO, HI > &ist) |
| Minimum negative index, or 0 if none. More... | |
| template<const index_t LO, const index_t HI> | |
| index_t | max_pos (const index_set< LO, HI > &ist) |
| Maximum positive index, or 0 if none. More... | |
| template<const index_t LO, const index_t HI> | |
| const index_set< LO, HI > | operator & (const index_set< LO, HI > &lhs, const index_set< LO, HI > &rhs) |
| Set intersection: and. More... | |
| static unsigned long | inverse_reversed_gray (unsigned long x) |
| Inverse reversed Gray code. More... | |
| static unsigned long | inverse_gray (unsigned long x) |
| Inverse Gray code. More... | |
| template<typename Scalar_T , const index_t LO, const index_t HI> | |
| const matrix_multi< Scalar_T, LO, HI > | 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 > | 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 > | 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 > | 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 | 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 > | 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 > | 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::istream & | operator>> (std::istream &s, matrix_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 & | 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> | |
| const index_set< LO, HI > | 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 > | 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 > | 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> | |
| const matrix_multi< Scalar_T, LO, HI > | 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 > | 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 > | exp (const matrix_multi< Scalar_T, LO, HI > &val) |
| Exponential of multivector. More... | |
| index_t | 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 | 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 matrix_multi< Scalar_T, LO, HI > | operator & (const matrix_multi< Scalar_T, LO, HI > &lhs, const matrix_multi< Scalar_T, LO, HI > &rhs) |
| Inner product. More... | |
| template<typename Multivector_T , typename Matrix_T , typename Basis_Matrix_T > | |
| static Multivector_T | 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 > | 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 | 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 > | 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> | |
| static const matrix_multi< Scalar_T, LO, HI > | 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 > | cascade_log (const matrix_multi< Scalar_T, LO, HI > &val) |
| Incomplete square root cascade and Pade' approximation of log. More... | |
| template<typename Scalar_T > | |
| Scalar_T | log2 (const Scalar_T &x) |
| Log base 2 of scalar. More... | |
| template<typename Scalar_T > | |
| numeric_traits< Scalar_T >::promoted::type | to_promote (const Scalar_T &val) |
| Cast to promote. More... | |
| template<typename Scalar_T > | |
| numeric_traits< Scalar_T >::demoted::type | to_demote (const Scalar_T &val) |
| Cast to demote. More... | |
| int | try_catch (intfn f) |
| Exception catching for functions returning int. More... | |
| int | try_catch (intintfn f, int arg) |
| Exception catching for functions of int returning int. More... | |
Variables | |
| const double | MS_PER_S = 1000.0 |
| Timing constant: deprecated here - moved to test/timing.h. More... | |
| const index_t | BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
| Number of bits in set_value_t. More... | |
| const index_t | DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
| Default highest index in an index set. More... | |
| const double | DEFAULT_TRUNCATION = std::numeric_limits<float>::epsilon() |
| Default for truncation. More... | |
| const unsigned int | DEFAULT_Mult_Matrix_Threshold = 8 |
| const unsigned int | DEFAULT_Div_Max_Steps = 4 |
| const unsigned int | DEFAULT_Sqrt_Max_Steps = 256 |
| const unsigned int | DEFAULT_Log_Max_Outer_Steps = 256 |
| const unsigned int | DEFAULT_Log_Max_Inner_Steps = 32 |
| const unsigned int | DEFAULT_Basis_Max_Count = 12 |
| const unsigned int | DEFAULT_Fast_Size_Threshold = 1 << 6 |
| const unsigned int | DEFAULT_Inv_Fast_Dim_Threshold = 1 << 3 |
| const unsigned int | DEFAULT_Products_Size_Threshold = 1 << 22 |
| const precision_t | DEFAULT_Function_Precision = precision_same |
| static const long double | l_pi = 3.1415926535897932384626433832795029L |
| static const long double | l_ln2 = 0.6931471805599453094172321214581766L |
| typedef int glucat::index_t |
| typedef int(* glucat::intfn) () |
For exception catching: pointer to function returning int.
Definition at line 37 of file try_catch.h.
| typedef int(* glucat::intintfn) (int) |
For exception catching: pointer to function of int returning int.
Definition at line 40 of file try_catch.h.
| typedef unsigned long glucat::set_value_t |
| enum glucat::precision_t |
| glucat::_GLUCAT_CTAssert | ( | std::numeric_limits< unsigned char >::radix | = =2, |
| CannotDetermineBitsPerChar | |||
| ) | const |
If radix of unsigned char is not 2, we can't easily determine number of bits from sizeof.
Number of bits per char is used to determine number of bits in set_value_t
| glucat::_GLUCAT_CTAssert | ( | _GLUCAT_BITS_PER_ULONG | = =BITS_PER_SET_VALUE, |
| BitsPerULongDoesNotMatchSetValueT | |||
| ) | const |
Default lowest index in an index set.
| glucat::_GLUCAT_CTAssert | ( | sizeof(set_value_t) >=sizeof(std::bitset< DEFAULT_HI-DEFAULT_LO >) | , |
| Default_index_set_too_big_for_value | |||
| ) | const |
Size of set_value_t should be enough to contain bitset<DEFAULT_HI-DEFAULT_LO>
Write out index set
|
inline |
Absolute value == sqrt(norm)
Definition at line 491 of file clifford_algebra_imp.h.
References glucat::numeric_traits< Scalar_T >::sqrt().
Referenced by PyClical.clifford::abs(), acos(), asin(), glucat::matrix::classify_eigenvalues(), clifford_to_str(), glucat::framed_multi< Scalar_T, LO, HI >::framed_multi(), matrix_log(), and matrix_sqrt().
|
inline |
Inverse cosine of multivector with specified complexifier.
Definition at line 798 of file clifford_algebra_imp.h.
References abs(), acosh(), check_complex(), and PyClical::i.
Referenced by glucat::numeric_traits< Scalar_T >::acos(), and acos().
|
inline |
Inverse cosine of multivector.
Definition at line 818 of file clifford_algebra_imp.h.
References acos(), and complexifier().
|
inline |
Inverse hyperbolic cosine of multivector with specified complexifier.
Definition at line 738 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), norm(), and sqrt().
|
inline |
Inverse hyperbolic cosine of multivector.
Definition at line 758 of file clifford_algebra_imp.h.
References acosh(), and complexifier().
|
inline |
Inverse sine of multivector with specified complexifier.
Definition at line 905 of file clifford_algebra_imp.h.
References abs(), asinh(), check_complex(), and PyClical::i.
Referenced by glucat::numeric_traits< Scalar_T >::asin(), and asin().
|
inline |
Inverse sine of multivector.
Definition at line 925 of file clifford_algebra_imp.h.
References asin(), and complexifier().
|
inline |
Inverse hyperbolic sine of multivector with specified complexifier.
Definition at line 845 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), norm(), and sqrt().
|
inline |
Inverse hyperbolic sine of multivector.
Definition at line 865 of file clifford_algebra_imp.h.
References asinh(), and complexifier().
|
inline |
Inverse tangent of multivector with specified complexifier.
Definition at line 1005 of file clifford_algebra_imp.h.
References atanh(), check_complex(), PyClical::i, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::atan(), and atan().
|
inline |
Inverse tangent of multivector.
Definition at line 1025 of file clifford_algebra_imp.h.
References atan(), and complexifier().
|
inline |
Inverse hyperbolic tangent of multivector with specified complexifier.
Definition at line 952 of file clifford_algebra_imp.h.
References check_complex(), PyClical::i, log(), and norm().
|
inline |
Inverse hyperbolic tangent of multivector.
Definition at line 969 of file clifford_algebra_imp.h.
References atanh(), and complexifier().
|
static |
Incomplete square root cascade and Pade' approximation of log.
Definition at line 1976 of file matrix_multi_imp.h.
References db_step(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::log_max_inner_steps, glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::log_max_outer_steps, norm(), pade_log(), and pow().
Referenced by matrix_log().
|
inlinestatic |
Check that i is a valid complexifier for val.
Definition at line 566 of file clifford_algebra_imp.h.
References complexifier(), and PyClical::i.
Referenced by acos(), acosh(), asin(), asinh(), atan(), atanh(), cos(), log(), sin(), sqrt(), and tan().
| const Multivector< Scalar_T, LO, HI > glucat::clifford_exp | ( | const Multivector< Scalar_T, LO, HI > & | val | ) |
|
inline |
"lexicographic compare" eg. {3,4,5} is less than {3,7,8}
Lexicographic ordering of two sets: -1 if a<b, +1 if a>b, 0 if a==b.
Definition at line 573 of file index_set_imp.h.
References glucat::index_set< LO, HI >::lex_less_than().
| const Multivector< Scalar_T, LO, HI > glucat::complexifier | ( | const Multivector< Scalar_T, LO, HI > & | val | ) |
|
inline |
Conjugation, rev o invo == invo o rev.
Definition at line 467 of file clifford_algebra_imp.h.
| const Multivector< Scalar_T, LO, HI > glucat::cos | ( | const Multivector< Scalar_T, LO, HI > & | val, |
| const Multivector< Scalar_T, LO, HI > & | i, | ||
| const bool | prechecked = false |
||
| ) |
Cosine of multivector with specified complexifier.
Definition at line 765 of file clifford_algebra_imp.h.
References check_complex(), exp(), PyClical::i, PyClical::pi, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::cos(), cos(), and tan().
|
inline |
Cosine of multivector.
Definition at line 789 of file clifford_algebra_imp.h.
References complexifier(), and cos().
|
inline |
Hyperbolic cosine of multivector.
Definition at line 720 of file clifford_algebra_imp.h.
References exp(), and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::cosh(), and tanh().
|
inlinestatic |
Coordinate of product of terms.
Referenced by operator &(), operator%(), operator*(), and operator^().
|
inlinestatic |
Coordinate of product of terms.
Definition at line 1906 of file framed_multi_imp.h.
|
static |
Product form of Denman-Beavers square root iteration.
Definition at line 1375 of file matrix_multi_imp.h.
References db_step(), norm(), pow(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::sqrt_max_steps.
Referenced by matrix_sqrt().
|
inlinestatic |
Single step of product form of Denman-Beavers square root iteration.
Definition at line 1362 of file matrix_multi_imp.h.
References inv().
Referenced by cascade_log(), and db_sqrt().
|
inline |
Square root of -1 which commutes with all members of the frame of the given multivector The name "elliptic" is now deprecated: use "complexifier" instead.
Definition at line 557 of file clifford_algebra_imp.h.
References complexifier().
|
inline |
Even part.
Definition at line 427 of file clifford_algebra_imp.h.
| const framed_multi< Scalar_T, LO, HI > glucat::exp | ( | const framed_multi< Scalar_T, LO, HI > & | val | ) |
Exponential of multivector.
Definition at line 1947 of file framed_multi_imp.h.
References clifford_exp(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::function_precision, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::mult_matrix_threshold, precision_demoted, precision_promoted, and scalar().
Referenced by clifford_exp(), cos(), cosh(), glucat::numeric_traits< Scalar_T >::exp(), exp(), matrix_log(), matrix_sqrt(), pow(), PyClical.clifford::pow(), sin(), and sinh().
| const matrix_multi< Scalar_T, LO, HI > glucat::exp | ( | const matrix_multi< Scalar_T, LO, HI > & | val | ) |
Exponential of multivector.
Definition at line 2140 of file matrix_multi_imp.h.
References clifford_exp(), exp(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::function_precision, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), precision_demoted, precision_promoted, and scalar().
|
static |
Inverse generalized Fast Fourier Transform.
Definition at line 1083 of file matrix_multi_imp.h.
References glucat::matrix::signed_perm_nork().
|
inlinestatic |
Determine the matrix dimension of the fold of a subalegbra.
Definition at line 91 of file matrix_multi_imp.h.
References glucat::index_set< LO, HI >::count_neg(), glucat::index_set< LO, HI >::count_pos(), and offset_level().
|
inline |
Imaginary part: deprecated (always 0)
Definition at line 411 of file clifford_algebra_imp.h.
Referenced by glucat::matrix::classify_eigenvalues().
|
inline |
Geometric multiplicative inverse.
Definition at line 321 of file clifford_algebra_imp.h.
Referenced by db_step(), matrix_log(), and matrix_sqrt().
|
inlinestatic |
Inverse Gray code.
Definition at line 861 of file index_set_imp.h.
Referenced by glucat::index_set< LO, HI >::sign_of_mult().
|
inlinestatic |
Inverse reversed Gray code.
Definition at line 844 of file index_set_imp.h.
Referenced by glucat::index_set< LO, HI >::sign_of_mult().
|
inline |
Main involution, each {i} is replaced by -{i} in each term, eg. {1}*{2} -> (-{2})*(-{1})
Main involution, each {i} is replaced by -{i} in each term, eg. {1} ->-{1}.
Definition at line 451 of file clifford_algebra_imp.h.
| 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.
Definition at line 2023 of file matrix_multi_imp.h.
References check_complex(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::function_precision, PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), matrix_log(), precision_demoted, and precision_promoted.
| 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.
Definition at line 1997 of file framed_multi_imp.h.
References check_complex(), PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), log(), PyClical::pi, and glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::scalar().
|
inline |
Natural logarithm of multivector with specified complexifier.
Definition at line 704 of file clifford_algebra_imp.h.
References PyClical::i.
Referenced by acosh(), asinh(), atanh(), glucat::numeric_traits< Scalar_T >::log(), log(), matrix_log(), glucat::numeric_traits< Scalar_T >::NaN(), pow(), and PyClical.clifford::pow().
|
inline |
Natural logarithm of multivector.
Definition at line 712 of file clifford_algebra_imp.h.
References complexifier(), and log().
|
inline |
Log base 2 of scalar.
Definition at line 302 of file scalar.h.
References glucat::numeric_traits< Scalar_T >::log2().
Referenced by clifford_exp().
| 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.
Definition at line 2064 of file matrix_multi_imp.h.
References abs(), glucat::matrix::both_eig_case, cascade_log(), glucat::matrix::classify_eigenvalues(), exp(), PyClical::i, inv(), glucat::matrix::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), log(), glucat::matrix::eig_genus< Matrix_T >::m_eig_case, glucat::matrix::eig_genus< Matrix_T >::m_safe_arg, glucat::matrix::negative_eig_case, norm(), PyClical::pi, and glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::scalar().
Referenced by log().
| 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.
Definition at line 1645 of file matrix_multi_imp.h.
References abs(), glucat::matrix::both_eig_case, glucat::matrix::classify_eigenvalues(), db_sqrt(), exp(), PyClical::i, inv(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix::eig_genus< Matrix_T >::m_eig_case, glucat::matrix::eig_genus< Matrix_T >::m_safe_arg, glucat::matrix::negative_eig_case, norm(), pade_approx(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::scalar(), and sqrt().
Referenced by sqrt().
|
inline |
Maximum of absolute values of components of multivector: multivector infinity norm.
Definition at line 499 of file clifford_algebra_imp.h.
|
inline |
Maximum positive index, or 0 if none.
Definition at line 974 of file index_set_imp.h.
References PyClical::ist.
|
inline |
Minimum negative index, or 0 if none.
Definition at line 967 of file index_set_imp.h.
References PyClical::ist.
|
inline |
Scalar_T norm == sum of norm of coordinates.
Definition at line 483 of file clifford_algebra_imp.h.
Referenced by acosh(), asinh(), atanh(), cascade_log(), glucat::matrix::classify_eigenvalues(), db_sqrt(), matrix_log(), and matrix_sqrt().
|
inline |
Odd part.
Definition at line 435 of file clifford_algebra_imp.h.
Referenced by glucat::framed_multi< Scalar_T, LO, HI >::fast().
Determine the log2 dim corresponding to signature p, q.
Definition at line 76 of file matrix_multi_imp.h.
References pos_mod().
Referenced by glucat::matrix_multi< Scalar_T, LO, HI >::basis_element(), and folded_dim().
|
inline |
Set intersection: and.
Definition at line 186 of file index_set_imp.h.
|
inline |
Inner product.
Definition at line 616 of file matrix_multi_imp.h.
| 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.
Definition at line 601 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::products_size_threshold.
|
inline |
Set intersection: and.
Definition at line 186 of file index_set_imp.h.
|
inline |
Inner product.
Definition at line 228 of file clifford_algebra_imp.h.
|
inline |
Inner product.
Definition at line 228 of file clifford_algebra_imp.h.
| 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.
Definition at line 601 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::products_size_threshold.
|
inline |
Inner product.
Definition at line 616 of file matrix_multi_imp.h.
|
inline |
Test for inequality of multivectors.
Definition at line 78 of file clifford_algebra_imp.h.
|
inline |
Test for inequality of multivector and scalar.
Definition at line 86 of file clifford_algebra_imp.h.
|
inline |
Test for inequality of scalar and multivector.
Definition at line 94 of file clifford_algebra_imp.h.
|
inline |
Left contraction.
Definition at line 635 of file matrix_multi_imp.h.
| 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.
Definition at line 719 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::products_size_threshold.
|
inline |
Left contraction.
Definition at line 243 of file clifford_algebra_imp.h.
|
inline |
Geometric product.
Definition at line 547 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix_multi< Scalar_T, LO, HI >::m_frame, glucat::matrix_multi< Scalar_T, LO, HI >::m_matrix, and reframe().
| 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.
Definition at line 400 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::mult_matrix_threshold.
|
inline |
Product of multivector and scalar.
Definition at line 172 of file clifford_algebra_imp.h.
|
inline |
Product of scalar and multivector.
Definition at line 183 of file clifford_algebra_imp.h.
|
inline |
Geometric product.
Definition at line 198 of file clifford_algebra_imp.h.
|
inline |
Geometric sum of multivector and scalar.
Definition at line 102 of file clifford_algebra_imp.h.
|
inline |
Geometric sum of scalar and multivector.
Definition at line 113 of file clifford_algebra_imp.h.
|
inline |
Geometric sum.
Definition at line 127 of file clifford_algebra_imp.h.
|
inline |
Geometric difference of multivector and scalar.
Definition at line 138 of file clifford_algebra_imp.h.
|
inline |
Geometric difference of scalar and multivector.
Definition at line 149 of file clifford_algebra_imp.h.
|
inline |
Geometric difference.
Definition at line 161 of file clifford_algebra_imp.h.
| 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.
Definition at line 668 of file matrix_multi_imp.h.
References glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::div_max_steps, glucat::matrix::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), glucat::matrix_multi< Scalar_T, LO, HI >::m_frame, and reframe().
|
inline |
Geometric quotient.
Definition at line 914 of file framed_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame().
|
inline |
Quotient of multivector and scalar.
Definition at line 269 of file clifford_algebra_imp.h.
|
inline |
Quotient of scalar and multivector.
Definition at line 280 of file clifford_algebra_imp.h.
|
inline |
Geometric quotient.
Definition at line 295 of file clifford_algebra_imp.h.
|
inline |
Write multivector to output.
Definition at line 1025 of file matrix_multi_imp.h.
| std::ostream & glucat::operator<< | ( | std::ostream & | os, |
| const framed_multi< Scalar_T, LO, HI > & | val | ||
| ) |
Write multivector to output.
Definition at line 1366 of file framed_multi_imp.h.
References glucat::sorted_range< Map_T, Sorted_Map_T >::sorted_begin, and glucat::sorted_range< Map_T, Sorted_Map_T >::sorted_end.
| std::ostream & glucat::operator<< | ( | std::ostream & | os, |
| const std::pair< const index_set< LO, HI >, Scalar_T > & | term | ||
| ) |
Write term to output.
Definition at line 1398 of file framed_multi_imp.h.
References pow(), and glucat::numeric_traits< Scalar_T >::to_double().
| std::ostream & glucat::operator<< | ( | std::ostream & | os, |
| const index_set< LO, HI > & | ist | ||
| ) |
Write out index set.
Definition at line 611 of file index_set_imp.h.
References PyClical::i, and PyClical::ist.
|
inline |
Read multivector from input.
Definition at line 1035 of file matrix_multi_imp.h.
| std::istream & glucat::operator>> | ( | std::istream & | s, |
| framed_multi< Scalar_T, LO, HI > & | val | ||
| ) |
Read multivector from input.
Definition at line 1436 of file framed_multi_imp.h.
References PyClical::ist.
| std::istream & glucat::operator>> | ( | std::istream & | s, |
| index_set< LO, HI > & | ist | ||
| ) |
Read in index set.
Definition at line 633 of file index_set_imp.h.
References PyClical::i, PyClical::ist, and glucat::index_set< LO, HI >::set().
|
inline |
Symmetric set difference: exclusive or.
Definition at line 161 of file index_set_imp.h.
|
inline |
Outer product.
Definition at line 597 of file matrix_multi_imp.h.
| 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.
Definition at line 501 of file framed_multi_imp.h.
References _GLUCAT_HASH_SIZE_T, crd_of_mult(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::frame(), and glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::products_size_threshold.
|
inline |
Outer product.
Definition at line 213 of file clifford_algebra_imp.h.
|
inline |
Set union: or.
Definition at line 211 of file index_set_imp.h.
|
inline |
Transformation via twisted adjoint action.
Definition at line 777 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::involute().
|
inline |
Transformation via twisted adjoint action.
Definition at line 940 of file framed_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::involute().
|
inline |
Transformation via twisted adjoint action.
Definition at line 310 of file clifford_algebra_imp.h.
| const Multivector< Scalar_T, LO, HI > glucat::outer_pow | ( | const Multivector< Scalar_T, LO, HI > & | lhs, |
| int | rhs | ||
| ) |
Outer product power of multivector.
Definition at line 384 of file clifford_algebra_imp.h.
|
inlinestatic |
Pade' approximation.
Definition at line 1302 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan().
Referenced by matrix_sqrt(), and pade_log().
|
static |
Pade' approximation of log.
Definition at line 1955 of file matrix_multi_imp.h.
References glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), and pade_approx().
Referenced by cascade_log().
|
inline |
Modulo function which works reliably for lhs < 0.
Definition at line 187 of file global.h.
Referenced by complexifier(), glucat::matrix_multi< Scalar_T, LO, HI >::fast_framed_multi(), glucat::framed_multi< Scalar_T, LO, HI >::fast_matrix_multi(), glucat::gen::generator_table< Matrix_T >::gen_vector(), offset_level(), and glucat::gen::generator_table< Matrix_T >::operator()().
| const Multivector< Scalar_T, LO, HI > glucat::pow | ( | const Multivector< Scalar_T, LO, HI > & | lhs, |
| int | rhs | ||
| ) |
Integer power of multivector.
Definition at line 328 of file clifford_algebra_imp.h.
Referenced by cascade_log(), clifford_exp(), db_sqrt(), operator<<(), and glucat::numeric_traits< Scalar_T >::pow().
|
inline |
Multivector power of multivector.
Definition at line 361 of file clifford_algebra_imp.h.
|
inline |
Pure part.
Definition at line 419 of file clifford_algebra_imp.h.
|
inline |
Scalar_T quadratic form == (rev(x)*x)(0)
Definition at line 475 of file clifford_algebra_imp.h.
|
inline |
Real part: synonym for scalar part.
Definition at line 400 of file clifford_algebra_imp.h.
Referenced by glucat::matrix::classify_eigenvalues().
|
inline |
Find a common frame for operands of a binary operator.
Definition at line 350 of file matrix_multi_imp.h.
References glucat::matrix_multi< Scalar_T, LO, HI >::m_frame.
Referenced by operator*(), and operator/().
|
inline |
Reversion, eg. {1}*{2} -> {2}*{1}.
Definition at line 459 of file clifford_algebra_imp.h.
|
inline |
Scalar part.
Definition at line 392 of file clifford_algebra_imp.h.
Referenced by atan(), clifford_exp(), cos(), cosh(), exp(), glucat::framed_multi< Scalar_T, LO, HI >::fast(), sin(), sinh(), tan(), and tanh().
|
inline |
Square of generator {j}.
Square of generator index j.
Definition at line 960 of file index_set_imp.h.
| const Multivector< Scalar_T, LO, HI > glucat::sin | ( | const Multivector< Scalar_T, LO, HI > & | val, |
| const Multivector< Scalar_T, LO, HI > & | i, | ||
| const bool | prechecked = false |
||
| ) |
Sine of multivector with specified complexifier.
Definition at line 872 of file clifford_algebra_imp.h.
References check_complex(), exp(), PyClical::i, PyClical::pi, and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::sin(), sin(), and tan().
|
inline |
Sine of multivector.
Definition at line 896 of file clifford_algebra_imp.h.
References complexifier(), and sin().
|
inline |
Hyperbolic sine of multivector.
Definition at line 826 of file clifford_algebra_imp.h.
References exp(), and scalar().
Referenced by glucat::numeric_traits< Scalar_T >::sinh(), and tanh().
| 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.
Definition at line 1600 of file matrix_multi_imp.h.
References check_complex(), glucat::tuning< Mult_Matrix_Threshold, Div_Max_Steps, Sqrt_Max_Steps, Log_Max_Outer_Steps, Log_Max_Inner_Steps, Basis_Max_Count, Fast_Size_Threshold, Inv_Fast_Dim_Threshold, Products_Size_Threshold, Function_Precision >::function_precision, PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, matrix_multi< Scalar_T, LO, HI > >::isnan(), matrix_sqrt(), precision_demoted, and precision_promoted.
| 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.
Definition at line 1924 of file framed_multi_imp.h.
References check_complex(), PyClical::i, glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::isnan(), glucat::clifford_algebra< Scalar_T, index_set< LO, HI >, framed_multi< Scalar_T, LO, HI > >::scalar(), and sqrt().
|
inline |
Square root of multivector with specified complexifier.
Definition at line 589 of file clifford_algebra_imp.h.
References PyClical::i.
Referenced by acosh(), asinh(), matrix_sqrt(), glucat::framed_multi< Scalar_T, LO, HI >::random(), and sqrt().
|
inline |
Square root of multivector.
Definition at line 597 of file clifford_algebra_imp.h.
References complexifier(), and sqrt().
|
inline |
Hestenes scalar product.
Definition at line 654 of file matrix_multi_imp.h.
| Scalar_T glucat::star | ( | const framed_multi< Scalar_T, LO, HI > & | lhs, |
| const framed_multi< Scalar_T, LO, HI > & | rhs | ||
| ) |
Hestenes scalar product.
Definition at line 855 of file framed_multi_imp.h.
|
inline |
Hestenes scalar product.
Definition at line 258 of file clifford_algebra_imp.h.
|
inline |
Tangent of multivector with specified complexifier.
Definition at line 977 of file clifford_algebra_imp.h.
References check_complex(), cos(), PyClical::i, scalar(), and sin().
Referenced by glucat::numeric_traits< Scalar_T >::tan(), and tan().
|
inline |
Tangent of multivector.
Definition at line 996 of file clifford_algebra_imp.h.
References complexifier(), and tan().
|
inline |
Hyperbolic tangent of multivector.
Definition at line 933 of file clifford_algebra_imp.h.
References cosh(), scalar(), and sinh().
Referenced by glucat::numeric_traits< Scalar_T >::tanh().
|
inline |
Cast to demote.
Definition at line 134 of file scalar_imp.h.
References glucat::numeric_traits< Scalar_T >::to_scalar_t().
|
inline |
Cast to promote.
Definition at line 124 of file scalar_imp.h.
References glucat::numeric_traits< Scalar_T >::to_scalar_t().
| int glucat::try_catch | ( | intfn | f | ) |
Exception catching for functions returning int.
Definition at line 49 of file try_catch.h.
References PyClical::e().
Referenced by glucat::control_t::call().
| int glucat::try_catch | ( | intintfn | f, |
| int | arg | ||
| ) |
Exception catching for functions of int returning int.
Definition at line 64 of file try_catch.h.
References PyClical::e().
|
inline |
Vector part of multivector, as a vector_t with respect to frame()
Definition at line 443 of file clifford_algebra_imp.h.
| const index_t glucat::BITS_PER_SET_VALUE = std::numeric_limits<set_value_t>::digits |
| const unsigned int glucat::DEFAULT_Fast_Size_Threshold = 1 << 6 |
| const precision_t glucat::DEFAULT_Function_Precision = precision_same |
| const index_t glucat::DEFAULT_HI = index_t(BITS_PER_SET_VALUE / 2) |
| const unsigned int glucat::DEFAULT_Inv_Fast_Dim_Threshold = 1 << 3 |
| const unsigned int glucat::DEFAULT_Log_Max_Inner_Steps = 32 |
| const unsigned int glucat::DEFAULT_Log_Max_Outer_Steps = 256 |
| const unsigned int glucat::DEFAULT_Mult_Matrix_Threshold = 8 |
| const unsigned int glucat::DEFAULT_Products_Size_Threshold = 1 << 22 |
| const double glucat::DEFAULT_TRUNCATION = std::numeric_limits<float>::epsilon() |
|
static |
Definition at line 41 of file long_double.h.
Referenced by glucat::numeric_traits< Scalar_T >::ln_2().
|
static |
Definition at line 40 of file long_double.h.
Referenced by glucat::numeric_traits< Scalar_T >::pi().
| const double glucat::MS_PER_S = 1000.0 |
Timing constant: deprecated here - moved to test/timing.h.
1.8.14