JMSLTM Numerical Library 6.0

com.imsl.math
Interface FeynmanKac.Boundaries

Enclosing class:
FeynmanKac

public static interface FeynmanKac.Boundaries

Public interface for user supplied boundary coefficients and terminal condition the PDE must satisfy.


Method Summary
 void leftBoundaries(double time, double[][] coefficients)
          Returns the coefficient values of the left boundary conditions.
 void rightBoundaries(double time, double[][] coefficients)
          Returns the coefficient values of the right boundary conditions.
 double terminal(double z)
          Returns the terminal condition value.
 

Method Detail

leftBoundaries

void leftBoundaries(double time,
                    double[][] coefficients)
Returns the coefficient values of the left boundary conditions. There are numLeftBounds conditions specified at the left end, x_{min}. The left boundary conditions are

a_i(x,t)f+b_i(x,t)f_x+c_i(x,t)f_{xx} = d_i(x,t),, x=x_{min},, 1 le i le text{numLeftBounds}.

Time dependency of the boundary coefficients can be controlled via method setTimeDependence. Use of this method will usually yield a more efficient algorithm because some finite element matrices do not have to be reassembled for each t value.

Parameters:
time - a double, the time point at which the boundary coefficients are to be evaluated.
coefficients - an output double array of dimension numLeftBounds by 4 containing the computed boundary coefficient values. The coefficients are stored row-wise according to the matrix scheme

( a_i(x_{min},t), b_i(x_{min},t),c_i(x_{min},t), d_i(x_{min},t) )_{1 le i le text{numLeftBounds}},.


rightBoundaries

void rightBoundaries(double time,
                     double[][] coefficients)
Returns the coefficient values of the right boundary conditions. There are numRightBounds conditions specified at the right end, x_{max}. The right boundary conditions are

a_i(x,t)f+b_i(x,t)f_x+c_i(x,t)f_{xx} = d_i(x,t),, x=x_{max},, 1 le i le text{numRightBounds}.

Time dependency of the boundary coefficients can be controlled via method setTimeDependence. Use of this method will usually yield a more efficient algorithm because some finite element matrices do not have to be reassembled for each t value.

Parameters:
time - a double, the time point at which the boundary coefficients are to be evaluated.
coefficients - an output double array of dimension numRightBounds by 4, containing the computed boundary coefficient values. The coefficients are stored row-wise according to the matrix scheme

( a_i(x_{max},t), b_i(x_{max},t),c_i(x_{max},t), d_i(x_{max},t) )_{1 le i le text{numRightBounds}},.


terminal

double terminal(double z)
Returns the terminal condition value.

Parameters:
z - a double scalar, the point in x- direction, where the terminal condition is evaluated.
Returns:
a double scalar, the value of the terminal condition p(x) at point z.

JMSLTM Numerical Library 6.0

Copyright © 1970-2009 Visual Numerics, Inc.
Built September 1 2009.