|
template<typename T , typename U > |
vector< decltype(T{}+U{})> | operator+ (vector< T > const &a, vector< U > const &b) |
|
template<typename T , typename U > |
vector< decltype(T{} - U{})> | operator- (vector< T > const &a, vector< U > const &b) |
|
template<typename T , typename U > |
std::enable_if_t< std::is_scalar< U >::value, vector< decltype(T{} *U{})> > | operator* (vector< T > const &vec, U p) |
|
template<typename T , typename U > |
std::enable_if_t< std::is_scalar< U >::value, vector< decltype(T{} *U{})> > | operator* (U p, vector< T > const &vec) |
|
template<typename T , typename U > |
std::enable_if_t< std::is_scalar< U >::value, vector< decltype(T{} *U{})> > | operator/ (vector< T > const &vec, U p) |
|
template<typename T , typename U > |
auto | dot (vector< T > const a, vector< U > const b) -> decltype(T{} *U{}) |
|
template<typename T > |
auto | cross (vector< T > const a, vector< T > const b) |
|
template<typename T > |
std::ostream & | operator<< (std::ostream &out, r3::vector< T > const &v) |
|
template<typename T , typename U > |
std::enable_if_t< std::is_scalar< U >::value, matrix< decltype(T{} *U{})> > | operator* (matrix< T > const &a__, U p__) |
| Multiply matrix by a scalar number. More...
|
|
template<typename T , typename U > |
std::enable_if_t< std::is_scalar< U >::value, matrix< decltype(T{} *U{})> > | operator* (U p__, matrix< T > const &a__) |
|
bool | operator== (matrix< int > const &a__, matrix< int > const &b__) |
|
template<typename T , typename U > |
auto | dot (matrix< T > const &a__, matrix< U > const &b__) |
| Multiply two matrices. More...
|
|
template<typename T , typename U > |
auto | dot (matrix< T > const &m__, vector< U > const &b__) |
| Matrix-vector multiplication. More...
|
|
template<typename T , typename U > |
auto | dot (vector< U > const &b__, matrix< T > const &m__) |
| Vector-matrix multiplication. More...
|
|
template<typename T > |
auto | transpose (matrix< T > src) |
| Return transpose of the matrix. More...
|
|
template<typename T > |
auto | inverse_aux (matrix< T > src) |
|
auto | inverse (matrix< int > src) |
| Return inverse of the integer matrix. More...
|
|
template<typename T > |
auto | inverse (matrix< T > src) |
| Return inverse of the matrix. More...
|
|
template<typename T > |
std::ostream & | operator<< (std::ostream &out, matrix< T > const &v) |
|
auto | reduce_coordinates (vector< double > coord__) |
| Reduce the coordinates to the first unit cell. More...
|
|
auto | find_translations (double radius__, matrix< double > const &lattice_vectors__) |
| Find supercell that circumscribes the sphere with a given radius. More...
|
|
auto | spherical_coordinates (vector< double > vc) |
| Transform Cartesian coordinates [x,y,z] to spherical coordinates [r,theta,phi]. More...
|
|
Work with 3D vectors and matrices.