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
 
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 260 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 265 of file math.hpp.

◆ elements_voigt()

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

Definition at line 266 of file math.hpp.

◆ as_mat33()

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

Definition at line 268 of file math.hpp.

◆ trace()

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

Definition at line 272 of file math.hpp.

◆ nonzero()

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

Definition at line 273 of file math.hpp.

◆ all_zero()

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

Definition at line 275 of file math.hpp.

◆ scale()

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

Definition at line 279 of file math.hpp.

◆ scaled()

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

Definition at line 284 of file math.hpp.

◆ added_kI()

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

Definition at line 289 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 295 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 299 of file math.hpp.

◆ multiply()

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

Definition at line 304 of file math.hpp.

◆ operator-()

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

Definition at line 310 of file math.hpp.

◆ operator+()

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

Definition at line 313 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 319 of file math.hpp.

◆ determinant()

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

Definition at line 331 of file math.hpp.

◆ inverse()

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

Definition at line 337 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 351 of file math.hpp.

Member Data Documentation

◆ u11

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

Definition at line 261 of file math.hpp.

◆ u22

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

Definition at line 261 of file math.hpp.

◆ u33

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

Definition at line 261 of file math.hpp.

◆ u12

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

Definition at line 261 of file math.hpp.

◆ u13

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

Definition at line 261 of file math.hpp.

◆ u23

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

Definition at line 261 of file math.hpp.


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