|
| 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.