1 #ifndef CLASSIC_TransportFun_HH
2 #define CLASSIC_TransportFun_HH
25 template <
class T,
int N>
class FVector;
27 template <
class T,
int M,
int N>
class FMatrix;
39 template <
class T,
int N>
179 std::istream &
get(std::istream &is);
182 std::ostream &
put(std::ostream &os)
const;
187 static const int SIZE = (N + 1) *(N + 2) / 2;
200 template <
class T,
int N>
204 template <
class T,
int N>
208 template <
class T,
int N>
212 template <
class T,
int N>
216 template <
class T,
int N>
220 template <
class T,
int N>
224 template <
class T,
int N>
228 template <
class T,
int N>
232 template <
class T,
int N>
236 template <
class T,
int N>
240 template <
class T,
int N>
244 template <
class T,
int N>
248 template <
class T,
int N>
252 template <
class T,
int N>
256 template <
class T,
int N>
260 template <
class T,
int N>
261 std::ostream &operator<<(std::ostream &os, const TransportFun<T, N> &);
268 #endif // CLASSIC_TransportFun_HH
Matrix< T > operator+(const Matrix< T > &, const Matrix< T > &)
Matrix addition.
Matrix< T > operator/(const Matrix< T > &, const T &)
Matrix divided by scalar.
TransportFun< T, N > multiplyVariable(int var) const
Multiply by variable var.
std::ostream & put(std::ostream &os) const
Write TransportFun on the stream [b]os[/b].
TransportFun()
Default constructor.
Transport map with values of type [b]T[/b] in [b]N[/b] variables.
A templated representation for matrices.
A templated representation for vectors.
static TransportFun makeVariable(int var)
Make variable.
Matrix< T > operator*(const Matrix< T > &, const Matrix< T > &)
Matrix multiply.
const T getCoefficient(int index) const
Get coefficient.
const T operator()(int i1, int i2) const
Get coefficient.
TransportFun & operator+=(const TransportFun &y)
Add and assign.
static const int SIZE
Size of representation.
TransportFun & operator-=(const TransportFun &y)
Subtract and assign.
T data[SIZE]
Representation.
TransportFun taylor(const T series[2]) const
Taylor series.
Transport function in N variables of type T.
const T operator[](int) const
Get coefficient.
void setCoefficient(int index, const T &value)
Set coefficient.
TransportFun & operator=(const T &y)
Convert and assign.
TransportFun & operator*=(const TransportFun &y)
Multiply and assign.
TransportFun & operator/=(const TransportFun &y)
Approximate division and assignation.
TransportFun multiply(const TransportFun &y) const
Multiplication truncated to order one.
bool operator!=(const Offset &off1, const Offset &off2)
TransportFun operator+() const
Unary plus.
bool operator==(const TransportFun &y) const
Equality operator.
TransportFun operator-() const
Unary minus.
T evaluate(const FVector< T, N > &) const
Evaluate TransportFun at point.
TransportFun< T, N > substitute(const TransportMap< T, N > &m) const
Substitute.
Matrix< T > operator-(const Matrix< T > &, const Matrix< T > &)
Matrix subtraction.
bool operator!=(const TransportFun &y) const
Inequality operator.
std::istream & operator>>(std::istream &, LieMap< T > &x)
Extract LieMap<T> from stream.
bool operator==(const TwoPolynomial &left, const TwoPolynomial &right)
TransportFun inverse() const
Approximate reciprocal value 1/(*this).