Go to the documentation of this file.
26 from libcpp.vector cimport vector
28 cdef extern
from "PyClical.h":
33 cdef cppclass IndexSet:
35 IndexSet (IndexSet Ist)
except+
36 IndexSet (int idx)
except+
37 IndexSet (char* str)
except+
38 inline bint operator==(IndexSet Rhs)
39 inline bint operator!=(IndexSet Rhs)
40 inline bint operator<(IndexSet Rhs)
41 inline IndexSet invert
"operator~"()
42 inline bint getitem
"operator[]"(int idx)
44 inline IndexSet set(int idx)
except+
45 inline IndexSet set(int idx, int val)
except+
46 inline IndexSet reset()
47 inline IndexSet reset(int idx)
except+
53 int sign_of_mult(IndexSet Rhs)
57 int
compare(IndexSet Lhs, IndexSet Rhs)
61 ctypedef double scalar_t
63 cdef cppclass Clifford:
65 Clifford (Clifford Clf)
except+
66 Clifford (Clifford Clf, IndexSet ist)
except+
67 Clifford (scalar_t scr)
except+
68 Clifford (char* str)
except+
69 Clifford (IndexSet ist, scalar_t scr)
except+
70 Clifford (vector[scalar_t] vec, IndexSet ist)
except+
71 bint operator==(Clifford Rhs)
72 bint operator!=(Clifford Rhs)
73 Clifford neg
"operator-"()
74 scalar_t getitem
"operator[]"(IndexSet Ist)
75 Clifford call
"operator()"(int grade)
85 Clifford random(IndexSet Ist, scalar_t fill)
93 Clifford truncated(scalar_t limit)
97 scalar_t
scalar(Clifford Clf)
98 scalar_t
real(Clifford Clf)
99 scalar_t
imag(Clifford Clf)
100 Clifford
pure(Clifford Clf)
101 Clifford
even(Clifford Clf)
102 Clifford
odd(Clifford Clf)
105 Clifford
conj(Clifford Clf)
106 scalar_t
norm(Clifford Clf)
107 scalar_t
abs(Clifford Clf)
109 scalar_t
quad(Clifford Clf)
110 Clifford
inv(Clifford Clf)
111 Clifford
pow(Clifford Clf,int m)
115 Clifford
sqrt(Clifford Clf, Clifford I)
except+
116 Clifford
sqrt(Clifford Clf)
117 Clifford
exp(Clifford Clf)
118 Clifford
log(Clifford Clf, Clifford I)
except+
119 Clifford
log(Clifford Clf)
120 Clifford
cos(Clifford Clf, Clifford I)
except+
121 Clifford
cos(Clifford Clf)
122 Clifford
acos(Clifford Clf, Clifford I)
except+
123 Clifford
acos(Clifford Clf)
124 Clifford
cosh(Clifford Clf)
125 Clifford
acosh(Clifford Clf, Clifford I)
except+
126 Clifford
acosh(Clifford Clf)
127 Clifford
sin(Clifford Clf, Clifford I)
except+
128 Clifford
sin(Clifford Clf)
129 Clifford
asin(Clifford Clf, Clifford I)
except+
130 Clifford
asin(Clifford Clf)
131 Clifford
sinh(Clifford Clf)
132 Clifford
asinh(Clifford Clf, Clifford I)
except+
133 Clifford
asinh(Clifford Clf)
134 Clifford
tan(Clifford Clf, Clifford I)
except+
135 Clifford
tan(Clifford Clf)
136 Clifford
atan(Clifford Clf, Clifford I)
except+
137 Clifford
atan(Clifford Clf)
138 Clifford
tanh(Clifford Clf)
139 Clifford
atanh(Clifford Clf, Clifford I)
except+
140 Clifford
atanh(Clifford Clf)
142 cdef extern
from "PyClical.h" namespace
"cga3":
143 Clifford
agc3(Clifford Clf)
144 Clifford
cga3(Clifford Clf)
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()
const Multivector< Scalar_T, LO, HI > inv(const Multivector< Scalar_T, LO, HI > &val)
Geometric multiplicative inverse.
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.
index_t min_neg(const index_set< LO, HI > &ist)
Minimum negative index, or 0 if none.
Scalar_T scalar(const Multivector< Scalar_T, LO, HI > &val)
Scalar part.
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.
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.
bool isnan(const Matrix_T &m)
Not a Number.
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})
index_t max_pos(const index_set< LO, HI > &ist)
Maximum positive index, or 0 if none.
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.
Scalar_T real(const Multivector< Scalar_T, LO, HI > &val)
Real part: synonym for scalar part.
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.
Definitions for 3D Conformal Geometric Algebra [DL].
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.
const Multivector< Scalar_T, LO, HI > even(const Multivector< Scalar_T, LO, HI > &val)
Even part.
Scalar_T max_abs(const Multivector< Scalar_T, LO, HI > &val)
Maximum of absolute values of components of multivector: multivector infinity norm.
const Multivector< Scalar_T, LO, HI > pure(const Multivector< Scalar_T, LO, HI > &val)
Pure part.
const Multivector< Scalar_T, LO, HI > cosh(const Multivector< Scalar_T, LO, HI > &val)
Hyperbolic cosine of multivector.
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.
Multivector_T cga3std(const Multivector_T &X)
Convert CGA3 null vector to standard Conformal Geometric Algebra null vector [DL (10....
const Multivector< Scalar_T, LO, HI > sinh(const Multivector< Scalar_T, LO, HI > &val)
Hyperbolic sine of multivector.
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}
Scalar_T abs(const Multivector< Scalar_T, LO, HI > &val)
Absolute value == sqrt(norm)
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.
int sign_of_square(index_t j)
Square of generator {j}.
Scalar_T norm(const Multivector< Scalar_T, LO, HI > &val)
Scalar_T norm == sum of norm of coordinates.
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.
Scalar_T quad(const Multivector< Scalar_T, LO, HI > &val)
Scalar_T quadratic form == (rev(x)*x)(0)
const Multivector< Scalar_T, LO, HI > odd(const Multivector< Scalar_T, LO, HI > &val)
Odd part.
const Multivector< Scalar_T, LO, HI > conj(const Multivector< Scalar_T, LO, HI > &val)
Conjugation, rev o invo == invo o rev.
Multivector_T agc3(const Multivector_T &X)
Convert CGA3 null vector to Euclidean 3D vector [DL (10.50)].
const Multivector< Scalar_T, LO, HI > pow(const Multivector< Scalar_T, LO, HI > &lhs, int rhs)
Integer power of multivector.
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.
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.
const Multivector< Scalar_T, LO, HI > reverse(const Multivector< Scalar_T, LO, HI > &val)
Reversion, eg. {1}*{2} -> {2}*{1}.
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.
const framed_multi< Scalar_T, LO, HI > exp(const framed_multi< Scalar_T, LO, HI > &val)
Exponential of multivector.
Scalar_T imag(const Multivector< Scalar_T, LO, HI > &val)
Imaginary part: deprecated (always 0)
const Multivector< Scalar_T, LO, HI > tanh(const Multivector< Scalar_T, LO, HI > &val)
Hyperbolic tangent of multivector.
const Multivector< Scalar_T, LO, HI > outer_pow(const Multivector< Scalar_T, LO, HI > &lhs, int rhs)
Outer product power of multivector.