inverse_internal_coordinate_tensors
inverse_internal_coordinate_tensors(expansion, coords=None, masses=None, order=None, mass_weighted=True, remove_translation_rotation=True, fixed_atoms=None, fixed_coords=None, fixed_cartesians=None):
LLM Docstring
Invert a forward internals-by-Cartesians derivative expansion to obtain the Cartesians-by-internals expansion, optionally removing translation/rotation and mass-weighting.
Depending on the module flags _transrot_projection_method and
_pre_mass_weight, the translation/rotation subspace is either projected out
or augmented onto the transformation before the (pseudo)inverse is taken with
TensorDerivatives.inverse_transformation; mass weighting is applied and undone
around the inversion. Constraints are re-applied with prep_inverse_derivatives.
expansion:list[np.ndarray]the forward derivative expansion
coords:np.ndarray | NoneCartesian coordinates (needed to remove translation/rotation)
masses:np.ndarray | Noneper-atom masses
order:int | Nonemaximum derivative order (defaults to
len(expansion))mass_weighted:boolwhether to mass-weight the plain inverse
remove_translation_rotation:boolwhether to strip translation/rotation
fixed_atoms:Iterable[int] | Noneatoms to hold fixed
fixed_coords:Iterable[int] | Noneinternal coordinates to hold fixed
fixed_cartesians:Iterable | None(atom, component)Cartesians to hold fixed:returns:list[np.ndarray]the inverse derivative expansion