# fdkup.m

From Spinach Documentation Wiki

Returns a finite difference representation of the Kuprov operator:

K[rho]=-(1/3)*Trace(Hessian[rho]*chi)

with the number of stencil points in the finite difference approximation specified by user. The resulting operator is a sparse matrix designed to act on the vectorisation of rho. The dimensions of rho are assumed to be ordered as [X Y Z]. For further information, see http://dx.doi.org/10.1039/C4CP03106G.

## Contents

## Syntax

K=fdkup(npoints,extents,chi,nstenc)

## Arguments

npoints - a three-element vector specifying the dimensions of the 3D cube of data that the operator will be acting on, in Angstroms. The dimensions are assu- med to be ordered as [X Y Z]. chi - the electron magnetic susceptibility tensor in cubic Angstroms, a symmetric 3x3 matrix. extents - a three-element vector specifying axis extents in Angstroms. The dimensions are assumed to be ordered as [X Y Z]. nstenc - number of finite-difference stencil points for the finite-difference approximation. Periodic boundary conditions are used.

## Outputs

K - a sparse matrix designed to act on the vectori- zation of the array. The dimensions are assumed to be ordered as [X Y Z].

## See also

fdvec.m, fdlap.m, fdhess.m, fdmat.m, fdweights.m, fftdiff.m, fourdif.m, fourlap.m

*Version 2.2, authors: Gareth Charnock, Ilya Kuprov*