Gemmi C++ API
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
gemmi::SMat33< T > Struct Template Reference

#include <math.hpp>

Public Member Functions

std::array< T, 6 > elements_pdb () const
 
std::array< T, 6 > elements_voigt () const
 
Mat33 as_mat33 () const
 
Tunchecked_ref (int i, int j)
 
T trace () const
 
bool nonzero () const
 
bool all_zero () const
 
void scale (T s) const
 
template<typename Real >
SMat33< Realscaled (Real s) const
 
SMat33< Tadded_kI (T k) const
 
template<typename VT >
auto r_u_r (const Vec3_< VT > &r) const -> decltype(r.x+u11)
 
double r_u_r (const std::array< int, 3 > &h) const
 
Vec3 multiply (const Vec3 &p) const
 
SMat33 operator- (const SMat33 &o) const
 
SMat33 operator+ (const SMat33 &o) const
 
template<typename Real = double>
SMat33< Realtransformed_by (const Mat33 &m) const
 
T determinant () const
 
SMat33 inverse () const
 
std::array< double, 3 > calculate_eigenvalues () const
 Based on https://en.wikipedia.org/wiki/Eigenvalue_algorithm To calculate both eigenvalues and eigenvectors use eig3.hpp.
 

Public Attributes

T u11
 
T u22
 
T u33
 
T u12
 
T u13
 
T u23
 

Detailed Description

template<typename T>
struct gemmi::SMat33< T >

Definition at line 273 of file math.hpp.

Member Function Documentation

◆ elements_pdb()

template<typename T >
std::array< T, 6 > gemmi::SMat33< T >::elements_pdb ( ) const
inline

Definition at line 278 of file math.hpp.

◆ elements_voigt()

template<typename T >
std::array< T, 6 > gemmi::SMat33< T >::elements_voigt ( ) const
inline

Definition at line 279 of file math.hpp.

◆ as_mat33()

template<typename T >
Mat33 gemmi::SMat33< T >::as_mat33 ( ) const
inline

Definition at line 281 of file math.hpp.

◆ unchecked_ref()

template<typename T >
T & gemmi::SMat33< T >::unchecked_ref ( int  i,
int  j 
)
inline

Definition at line 286 of file math.hpp.

◆ trace()

template<typename T >
T gemmi::SMat33< T >::trace ( ) const
inline

Definition at line 291 of file math.hpp.

◆ nonzero()

template<typename T >
bool gemmi::SMat33< T >::nonzero ( ) const
inline

Definition at line 292 of file math.hpp.

◆ all_zero()

template<typename T >
bool gemmi::SMat33< T >::all_zero ( ) const
inline

Definition at line 294 of file math.hpp.

◆ scale()

template<typename T >
void gemmi::SMat33< T >::scale ( T  s) const
inline

Definition at line 298 of file math.hpp.

◆ scaled()

template<typename T >
template<typename Real >
SMat33< Real > gemmi::SMat33< T >::scaled ( Real  s) const
inline

Definition at line 303 of file math.hpp.

◆ added_kI()

template<typename T >
SMat33< T > gemmi::SMat33< T >::added_kI ( T  k) const
inline

Definition at line 308 of file math.hpp.

◆ r_u_r() [1/2]

template<typename T >
template<typename VT >
auto gemmi::SMat33< T >::r_u_r ( const Vec3_< VT > &  r) const -> decltype(r.x+u11)
inline

Definition at line 314 of file math.hpp.

◆ r_u_r() [2/2]

template<typename T >
double gemmi::SMat33< T >::r_u_r ( const std::array< int, 3 > &  h) const
inline

Definition at line 318 of file math.hpp.

◆ multiply()

template<typename T >
Vec3 gemmi::SMat33< T >::multiply ( const Vec3 p) const
inline

Definition at line 323 of file math.hpp.

◆ operator-()

template<typename T >
SMat33 gemmi::SMat33< T >::operator- ( const SMat33< T > &  o) const
inline

Definition at line 329 of file math.hpp.

◆ operator+()

template<typename T >
SMat33 gemmi::SMat33< T >::operator+ ( const SMat33< T > &  o) const
inline

Definition at line 332 of file math.hpp.

◆ transformed_by()

template<typename T >
template<typename Real = double>
SMat33< Real > gemmi::SMat33< T >::transformed_by ( const Mat33 m) const
inline

Definition at line 338 of file math.hpp.

◆ determinant()

template<typename T >
T gemmi::SMat33< T >::determinant ( ) const
inline

Definition at line 350 of file math.hpp.

◆ inverse()

template<typename T >
SMat33 gemmi::SMat33< T >::inverse ( ) const
inline

Definition at line 367 of file math.hpp.

◆ calculate_eigenvalues()

template<typename T >
std::array< double, 3 > gemmi::SMat33< T >::calculate_eigenvalues ( ) const
inline

Based on https://en.wikipedia.org/wiki/Eigenvalue_algorithm To calculate both eigenvalues and eigenvectors use eig3.hpp.

Definition at line 373 of file math.hpp.

Member Data Documentation

◆ u11

template<typename T >
T gemmi::SMat33< T >::u11

Definition at line 274 of file math.hpp.

◆ u22

template<typename T >
T gemmi::SMat33< T >::u22

Definition at line 274 of file math.hpp.

◆ u33

template<typename T >
T gemmi::SMat33< T >::u33

Definition at line 274 of file math.hpp.

◆ u12

template<typename T >
T gemmi::SMat33< T >::u12

Definition at line 274 of file math.hpp.

◆ u13

template<typename T >
T gemmi::SMat33< T >::u13

Definition at line 274 of file math.hpp.

◆ u23

template<typename T >
T gemmi::SMat33< T >::u23

Definition at line 274 of file math.hpp.


The documentation for this struct was generated from the following file: