Ipcs.m
Solves the inverse problem for pseudocontact shift by recovering the source term in the Kuprov equation using Tikhonov + maximum entropy regularization procedure. Syntax:
[source_cube,ranges,pred_pcs,diag_data]=... ipcs(nxyz,expt_pcs,chi,npoints,lambda,margins)
Parameters:
nxyz - nuclear coordinates as [x y z] with multiple rows at which PCS has been measured, in Angstroms.
expt_pcs - pseudocontact shift in ppm at each nucleus.
chi - electron magnetic susceptibility tensor, in units of Angstrom^3.
npoints - number of points in each dimension of the source cube, a positive integer greater than 10.
lambda - regularization parameters, the first element is the coefficient in front of the maximum entropy term and the second element is the coefficient in front of the Tikhonov term.
margins - a six-element vector specifying margins to take around the bounding box of the nuclear coordina- tes supplied, to account for the possibility that the electron may be located on the periphery.
Outputs:
source_cube - source term cube with dimensions ordered as [X Y Z].
ranges - Cartesian axis extents for the source cube as [xmin xmax ymin ymax zmin zmax] in Angstroms.
pred_pcs - pseudocontact shifts produced by the source cube returned in the first parameter.
diag_data - the first element is the least squares error in ppm^2, the second element is the entropy penalty in the error functional, the third element is the tikhonov penalty in the error functional.
Note: for further information on the equations and algorithms used in this function see http://dx.doi.org/10.1039/C4CP03106G