# MultiVariableCalculusFunctions(S, F, FLAF, FLAS)ΒΆ

MultiVariableCalculusFunctions Package provides several functions for multivariable calculus. These include gradient, hessian and jacobian, divergence and laplacian. Various forms for banded and sparse storage of matrices are included.

bandedHessian: (F, FLAS, NonNegativeInteger) -> Matrix F

`bandedHessian(v, xlist, k)` computes the hessian, the matrix of second partial derivatives, of the scalar field `v`, `v` a function of the variables listed in `xlist`, `k` is the semi-bandwidth, the number of nonzero subdiagonals, 2*k+1 being actual bandwidth. Stores the nonzero band in lower triangle in a matrix, dimensions `k+1` by #xlist, whose rows are the vectors formed by diagonal, subdiagonal, etc. of the real, full-matrix, hessian. (The notation conforms to LAPACK/NAG-`F07` conventions.)

bandedJacobian: (FLAF, FLAS, NonNegativeInteger, NonNegativeInteger) -> Matrix F

`bandedJacobian(vf, xlist, kl, ku)` computes the jacobian, the matrix of first partial derivatives, of the vector field `vf`, `vf` a vector function of the variables listed in `xlist`, `kl` is the number of nonzero subdiagonals, ku is the number of nonzero superdiagonals, `kl+ku+1` being actual bandwidth. Stores the nonzero band in a matrix, dimensions `kl+ku+1` by #xlist. The upper triangle is in the top ku rows, the diagonal is in row `ku+1`, the lower triangle in the last `kl` rows. Entries in a column in the band store correspond to entries in same column of full store. (The notation conforms to LAPACK/NAG-`F07` conventions.)

divergence: (FLAF, FLAS) -> F

`divergence(vf, xlist)` computes the divergence of the vector field `vf`, `vf` a vector function of the variables listed in xlist.

gradient: (F, FLAS) -> Vector F

`gradient(v, xlist)` computes the gradient, the vector of first partial derivatives, of the scalar field `v`, `v` a function of the variables listed in xlist.

hessian: (F, FLAS) -> Matrix F

`hessian(v, xlist)` computes the hessian, the matrix of second partial derivatives, of the scalar field `v`, `v` a function of the variables listed in xlist.

jacobian: (FLAF, FLAS) -> Matrix F

`jacobian(vf, xlist)` computes the jacobian, the matrix of first partial derivatives, of the vector field `vf`, `vf` a vector function of the variables listed in xlist.

laplacian: (F, FLAS) -> F

`laplacian(v, xlist)` computes the laplacian of the scalar field `v`, `v` a function of the variables listed in xlist.