Evaluate the Fitzpatrick function of a given operator on a grid using the LLT2d algorithm.
F = op_fitz(A, n, x, xstar)
matrix. An operator [a;a*] where a and a* are row vectors.
integer. The order of the Fitzpatrick function to compute.
column vector. The x values of the grid on which the Fitzpatrick function is evaluated.
column vector. The x* values of the grid on which the Fitzpatrick function is evaluated.
Evaluates the Fitzpatrick function with order n of an operator A on a grid (x,x*).
This function uses a recursive algorithm that employs LLT2d to achieve a running time of O(n*m^2 + m*Nxstar + N). When m==Nx==Nxstar, the running time is O(m^3).
a = -2:2; astar = 3*a - a + 3; x = -3:3; xstar = -3:3; F1 = op_fitz([a; astar], 1, x, xstar); F2 = op_fitz([a; astar], 2, x, xstar); F3 = op_fitz([a; astar], 3, x, xstar); clf(); alpha=60; theta=-60; subplot(131); plot3d(x, xstar, F1, alpha=alpha, theta=theta); subplot(132); plot3d(x, xstar, F2, alpha=alpha, theta=theta); subplot(133); plot3d(x, xstar, F3, alpha=alpha, theta=theta); | ![]() | ![]() |
Bryan Gardiner
, University of British Columbia, BC, Canada