Scilab Function
Last update : 17/07/2008

op_fitz_brute - [For comparison only] Evaluate the Fitzpatrick function of a given operator on a grid.

Calling Sequence

F = op_fitz_brute(A, n, x, xstar)

Parameters

Description

Warning: This function is provided only for comparison and unit testing. Faster results are achieved by using op_fitz.

Evaluates the Fitzpatrick function with order n of an operator A on a grid (x,x*).

This function uses the brute-force approach given by following formula. For each (x,x*) combination, it computes the maximum of the sums from all permutations of n-1 (a,a*) pairs. The algorithm runs in exponential O(n*m^(n-1)*N) time, and if m==Nx==Nxstar, then it runs O(n*m^(n+1)).

                                                 n-2
    F(A, n, x, xstar) =         sup              sum [ <a(i+1)-a(i),astar(i)> ] + <x-a(n-1),astar(n-1)> + <a(1),xstar>
                        (a(1),astar(1)) in A     i=1
                                ...
                     (a(n-1), astar(n-1)) in A

    where <., .> is the scalar dot product.

    m = size(A, 2);
    Nx = size(x, 1);
    Nxstar = size(xstar, 1);
    N = Nx * Nxstar;

Examples

a = 1:4;
astar = 2*a^2 - 9;
x = 0:5;
xstar = -1:5;
F = op_fitz_brute([a; astar], 2, x, xstar),

clf(); alpha=51; theta=162;
plot3d(x, xstar, F, alpha=alpha, theta=theta);
  

See Also

op_fitz_direct,  op_fitz,  op_fitzinf,  plq_fitzinf0,  plq_fitzinf0_direct,  plq_rock,  

Author

Bryan Gardiner, University of British Columbia, BC, Canada