/// Get the gradient with respect to positions in cartesian space,
/// and with respect to each lattice parameter.
Get the gradient with respect to positions in cartesian space,
and with respect to each lattice parameter.
Get the gradient with respect to positions in cartesian space and with respect to each lattice parameter .
pub fn unflatten_grad(&self, coords: &[f64], grad: &[f64]) -> (Vec<V3>, ArrayVec<[f64; 4]>) {
        match self {
            RelaxationOptimizationHelper::ParamBased(helper) => helper.unflatten_grad(coords, grad),
            RelaxationOptimizationHelper::LatticeBased(helper) => helper.unflatten_grad(coords, grad),
        }
    }
pub fn unflatten_grad ( & self , coords : & [ f64 ] , grad : & [ f64 ] ) -> ( Vec < V3 > , ArrayVec < [ f64 ; 4 ] > ) { match self { RelaxationOptimizationHelper :: ParamBased ( helper ) => helper . unflatten_grad ( coords , grad ) , RelaxationOptimizationHelper :: LatticeBased ( helper ) => helper . unflatten_grad ( coords , grad ) , } }
Get the gradient with respect to positions in cartesian space,
and with respect to each lattice parameter.
Get the gradient with respect to positions in cartesian space and with respect to each lattice parameter .
&self
coords
&[f64]
grad
&[f64]