ave_pcs_tensor_ddeltaij_dAmn(dj,
vect,
N,
dAi_dAmn,
weights=None)
 source code

Calculate the ensemble average PCS gradient element for Amn, using the
3D tensor.
This function calculates the average PCS gradient for a set of
electronnuclear spin unit vectors (paramagnetic to the nuclear spin)
from a structural ensemble, using the 3D tensorial form of the alignment
tensor. The formula for this ensemble average PCS gradient element
is:
_N_
ddelta_ij(theta) \ T dAi
 = > pc . djc . mu_jc .  . mu_jc,
dAmn /__ dAmn
c=1
where:

i is the alignment tensor index,

j is the index over spins,

m, the index over the first dimension of the alignment tensor m = {x,
y, z}.

n, the index over the second dimension of the alignment tensor n =
{x, y, z},

c is the index over the states or multiple structures,

theta is the parameter vector,

Amn is the matrix element of the alignment tensor,

djc is the PCS constant for spin j and state c,

N is the total number of states or structures,

pc is the population probability or weight associated with state c
(equally weighted to 1/N if weights are not provided),

mu_jc is the unit vector corresponding to spin j and state c,

dAi/dAmn is the partial derivative of the alignment tensor with
respect to element Amn.
 Parameters:
dj (numpy rank1 array)  The PCS constants for each structure c for spin j. This should
be an array with indices corresponding to c.
vect (numpy matrix)  The electronnuclear unit vector matrix. The first dimension
corresponds to the structural index, the second dimension is the
coordinates of the unit vector. The vectors should be parallel
to the vector connecting the paramagnetic centre to the nuclear
spin.
N (int)  The total number of structures.
dAi_dAmn (numpy rank2 3D tensor)  The alignment tensor derivative with respect to parameter Amn.
weights (numpy rank1 array)  The weights for each member of the ensemble (the last member need
not be supplied).
 Returns: float
 The average PCS gradient element.
