constraints Class Template Reference

Handling of symmetry constraints for tensors of rank 2. More...

#include <tensor_rank_2.h>

List of all members.

Public Member Functions

 constraints ()
 Default constructor. Some data members are not initialized!
 constraints (sgtbx::space_group const &space_group, bool reciprocal_space)
 constraints (af::shared< rt_mx > const &symmetry_matrices, std::size_t i_first_matrix_to_use, bool reciprocal_space)
 constraints (af::const_ref< rt_mx > const &symmetry_matrices, std::size_t i_first_matrix_to_use, bool reciprocal_space)
af::const_ref< int, af::mat_grid > row_echelon_form () const
std::size_t n_independent_params () const
std::size_t n_dependent_params () const
af::small< FloatType, 6 > independent_params (scitbx::sym_mat3< FloatType > const &all_params) const
scitbx::sym_mat3< FloatType > all_params (af::small< FloatType, 6 > const &independent_params) const
af::const_ref< FloatType,
af::mat_grid > 
gradient_sum_matrix () const
 Constraint matrix (with a historical name).
af::small< FloatType, 6 > independent_gradients (scitbx::sym_mat3< FloatType > const &all_gradients) const
af::shared< FloatType > independent_curvatures (af::const_ref< FloatType > const &all_curvatures) const
 Matrix product: gradient_sum_matrix all_curvatures gradient_sum_matrix.transpose().

Public Attributes

af::small< unsigned, 6 > independent_indices


Detailed Description

template<typename FloatType = double>
class cctbx::sgtbx::tensor_rank_2::constraints< FloatType >

Handling of symmetry constraints for tensors of rank 2.

Example: http://cci.lbl.gov/cctbx_sources/cctbx/examples/adp_symmetry_constraints.py


Member Function Documentation

af::shared< FloatType > independent_curvatures ( af::const_ref< FloatType > const &  all_curvatures  )  const [inline]

Matrix product: gradient_sum_matrix all_curvatures gradient_sum_matrix.transpose().

all_curvatures is the upper triangle of the (6 x 6) matrix of curvatures assuming all tensor elements are independent. I.e. the number of elements of all_curvatures must be 6*(6+1)/2.

The result is the upper triangle of the (n_independent_params() x n_independent_params()) matrix of curvatures. I.e. the number of elements of the result array is n_independent_params()*(n_independent_params()+1)/2.

References CCTBX_ASSERT.


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

Generated on Thu Jun 19 15:35:07 2014 for cctbx by  doxygen 1.5.6