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

- S: SetCategory
- F: PartialDifferentialRing S
- FLAF: FiniteLinearAggregate F
- FLAS: FiniteLinearAggregate S

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.