14 #include "mthTensor.h"
25 Vector3<T>
cross(Vector<T,3>
const& a, Vector<T,3>
const& b);
29 Matrix3x3<T>
cross(Vector<T,3>
const& a);
32 template <
class T,
unsigned N>
33 Vector<T,N>
project(Vector<T,N>
const& a, Vector<T,N>
const& b);
36 template <
class T,
unsigned N>
37 Vector<T,N>
reject(Vector<T,N>
const& a, Vector<T,N>
const& b);
40 template <
class T,
unsigned M,
unsigned N>
41 Matrix<T,M,N>
transpose(Matrix<T,M,N>
const& a);
53 Matrix<T,2,2>
inverse(Matrix<T,2,2>
const& a);
57 Matrix<T,3,3>
inverse(Matrix<T,3,3>
const& a);
61 T
trace(Tensor<T>
const& a);
65 T
norm(Tensor<T>
const& a);
73 void transpose(Tensor<T>
const& a, Tensor<T>& r);
77 void inverse(Tensor<T>
const& a, Tensor<T>& r);
81 Tensor<T>
eye(
unsigned d);
T determinant(Matrix< T, 2, 2 > const &a)
determinant of a 2 by 2 matrix
Matrix< T, M, N > transpose(Matrix< T, M, N > const &a)
transpose of a static matrix
Vector< T, N > project(Vector< T, N > const &a, Vector< T, N > const &b)
returns vector a projected onto vector b
T norm(Tensor< T > const &a)
Frobenius norm of a tensor.
Vector< T, N > reject(Vector< T, N > const &a, Vector< T, N > const &b)
vector rejection
T trace(Tensor< T > const &a)
trace of a tensor
Matrix< T, 2, 2 > inverse(Matrix< T, 2, 2 > const &a)
invert a 2 by 2 matrix
Tensor< T > eye(unsigned d)
identity tensor
Vector3< T > cross(Vector< T, 3 > const &a, Vector< T, 3 > const &b)
returns vector cross product