1#ifndef CLASSIC_LinearMap_HH
2#define CLASSIC_LinearMap_HH
25template <
class T,
int M,
int N>
class FMatrix;
27template <
class T,
int N>
class FVector;
28template <
class T,
int N>
class FVps;
37template <
class T,
int N>
112 std::istream &
get(std::istream &is);
115 std::ostream &
put(std::ostream &os)
const;
154template <
class T,
int N>
158template <
class T,
int N>
162template <
class T,
int N>
166template <
class T,
int N>
170template <
class T,
int N>
175template <
class T,
int N>
180template <
class T,
int N>
184template <
class T,
int N>
188template <
class T,
int N>
192template <
class T,
int N>
196template <
class T,
int N>
200template <
class T,
int N>
204template <
class T,
int N>
208template <
class T,
int N>
212template <
class T,
int N>
LinearMap< T, N > operator+(const LinearMap< T, N > &lhs, const LinearMap< T, N > &rhs)
Add.
std::istream & operator>>(std::istream &is, LinearMap< T, N > &)
Extract LinearMap from stream [b]is[/b].
std::ostream & operator<<(std::ostream &os, const LinearMap< T, N > &vps)
Insert LinearMap to stream [b]os[/b].
LinearMap< T, N > operator/(const LinearMap< T, N > &lhs, const LinearFun< T, N > &rhs)
Divide.
LinearMap< T, N > operator-(const LinearMap< T, N > &lhs, const LinearMap< T, N > &rhs)
Subtract.
LinearMap< T, N > operator*(const LinearMap< T, N > &lhs, const LinearFun< T, N > &rhs)
Multiply.
Vector truncated power series in n variables.
A templated representation for matrices.
A templated representation for vectors.
Linear map with values of type [b]T[/b] in [b]N[/b] variables.
LinearMap substitute(const FMatrix< T, N, N > &rhs) const
Substitute matrix into map.
FVector< T, N > constantTerm() const
std::istream & get(std::istream &is)
Get a LinearMap from stream [b]is[/b].
const LinearFun< T, N > & getComponent(int n) const
Get component.
LinearMap operator+() const
Unary plus.
void identity()
Set to identity.
FMatrix< T, N, N > linearTerms() const
Extract linear terms at origin.
LinearMap inverse() const
Inverse.
LinearFun< T, N > data[N]
LinearMap & operator*=(const LinearFun< T, N > &rhs)
Multiply and assign.
LinearMap substituteInto(const FMatrix< T, N, N > &lhs) const
Substitute map into matrix.
LinearMap()
Default constructor.
std::ostream & put(std::ostream &os) const
Put a LinearMap to stream [b]os[/b].
LinearMap operator-() const
Unary minus.
LinearMap & operator/=(const LinearFun< T, N > &rhs)
Divide and assign.
LinearFun< T, N > & operator[](int)
Get component.
LinearMap & operator+=(const LinearMap &rhs)
Add.
LinearMap & operator-=(const LinearMap &rhs)
Subtract.
void setComponent(int, const LinearFun< T, N > &)
Set component.
Linear function in N variables of type T.