#include <tensor_rank_2.h>
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 |
| 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 |
Example: http://cci.lbl.gov/cctbx_sources/cctbx/examples/adp_symmetry_constraints.py
| 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.
1.5.6