Class SDEIntegrator

java.lang.Object
  extended by SDEIntegrator

public class SDEIntegrator
extends java.lang.Object

Integrates the stochastic equation: dX = a(X) dt + b(X) dW up to order 4, using the Ito-Taylor scheme and strong convergence. It needs a(X) and its first and second derivatives with respect of X, and b(X) and its first, second and third derivatives with respect of X. The initial value X0 of X is needed as well as dt.


Constructor Summary
SDEIntegrator()
          Creates a new instance of SDEIntegrator
SDEIntegrator(double _a, double _d_a, double _dd_a, double _b, double _d_b, double _dd_b, double _ddd_b, double _dt, double _X0)
           
 
Method Summary
 double get_a()
          gets the value of a(X)
 double get_b()
          gets the value of b(X)
 double get_d_a()
          gets the value of da(X)/dX
 double get_d_b()
          gets the value of db(X)/dX
 double get_dd_a()
          gets the value of d^2a(X)/dX^2
 double get_dd_b()
          gets the value of d^2b(X)/dX^2
 double get_ddd_b()
          gets the value of d^3b(X)/dX^3
 double get_dt()
          gets the value of dt
 double get_dwt()
          gets the value of dwt
 double get_dwt2()
          gets the value of dwt2
 double get_dZ()
          gets the value dZ(dt)
 double get_X()
           
 double get_X0()
          gets the value of X0
 double[] J_XXX(double dWt, double DELTA_int, int p)
          calculates the multiple stratonovich integrals: J1, J01, J10, J11, J110, J101 and J011
static void main(java.lang.String[] args)
           
 void set_a(double _a)
          sets the value of a(X)
 void set_b(double _a)
          sets the value of b(X)
 void set_d_a(double _a)
          sets the value of da(X)/dX
 void set_d_b(double _a)
          sets the value of db(X)/dX
 void set_dd_a(double _a)
          sets the value of d^2a(X)/dX^2
 void set_dd_b(double _a)
          sets the value of d^2a(X)/dX^2
 void set_ddd_b(double _a)
          sets the value of d^3a(X)/dX^3
 void set_dt(double _dt)
          sets the time step dt
 void set_dW(double _dt)
          sets the random gaussian variables dwt and dwt2
 void set_dZ(double _dt, double _dwt, double _dwt2)
          sets the value of dZ, a gaussian random variable generated using combining the two independent gaussian random variables dwt and dwt2
 void set_SDEIntegrator(double _a, double _d_a, double _dd_a, double _b, double _d_b, double _dd_b, double _ddd_b, double _dt, double _X)
           
 void set_X(double _X)
           
 void set_X0(double _X0)
          sets the initials value of X(0)=X0
 double Strong_Integrator_First()
          Order one in series of terms comprising the integration
 double Strong_Integrator_Fourth()
          Order four in series of terms comprising the integration, it requires the calculation of the Stratonovich Integrals J011, J101 and J011
 double Strong_Integrator_Second()
          Order second in series of terms comprising the integration
 double Strong_Integrator_Third()
          Order three in series of terms comprising the integration
 double Strong_Integrator_Zero()
          Order zero in series of terms comprising the integration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SDEIntegrator

public SDEIntegrator()
Creates a new instance of SDEIntegrator


SDEIntegrator

public SDEIntegrator(double _a,
                     double _d_a,
                     double _dd_a,
                     double _b,
                     double _d_b,
                     double _dd_b,
                     double _ddd_b,
                     double _dt,
                     double _X0)
Method Detail

set_SDEIntegrator

public void set_SDEIntegrator(double _a,
                              double _d_a,
                              double _dd_a,
                              double _b,
                              double _d_b,
                              double _dd_b,
                              double _ddd_b,
                              double _dt,
                              double _X)

set_a

public void set_a(double _a)
sets the value of a(X)


set_d_a

public void set_d_a(double _a)
sets the value of da(X)/dX


set_dd_a

public void set_dd_a(double _a)
sets the value of d^2a(X)/dX^2


set_b

public void set_b(double _a)
sets the value of b(X)


set_d_b

public void set_d_b(double _a)
sets the value of db(X)/dX


set_dd_b

public void set_dd_b(double _a)
sets the value of d^2a(X)/dX^2


set_ddd_b

public void set_ddd_b(double _a)
sets the value of d^3a(X)/dX^3


set_dZ

public void set_dZ(double _dt,
                   double _dwt,
                   double _dwt2)
sets the value of dZ, a gaussian random variable generated using combining the two independent gaussian random variables dwt and dwt2


set_dW

public void set_dW(double _dt)
sets the random gaussian variables dwt and dwt2


set_dt

public void set_dt(double _dt)
sets the time step dt


set_X0

public void set_X0(double _X0)
sets the initials value of X(0)=X0


set_X

public void set_X(double _X)

get_a

public double get_a()
gets the value of a(X)


get_d_a

public double get_d_a()
gets the value of da(X)/dX


get_dd_a

public double get_dd_a()
gets the value of d^2a(X)/dX^2


get_b

public double get_b()
gets the value of b(X)


get_d_b

public double get_d_b()
gets the value of db(X)/dX


get_dd_b

public double get_dd_b()
gets the value of d^2b(X)/dX^2


get_ddd_b

public double get_ddd_b()
gets the value of d^3b(X)/dX^3


get_dZ

public double get_dZ()
gets the value dZ(dt)


get_dt

public double get_dt()
gets the value of dt


get_dwt

public double get_dwt()
gets the value of dwt


get_dwt2

public double get_dwt2()
gets the value of dwt2


get_X0

public double get_X0()
gets the value of X0


get_X

public double get_X()

Strong_Integrator_Zero

public double Strong_Integrator_Zero()
Order zero in series of terms comprising the integration


Strong_Integrator_First

public double Strong_Integrator_First()
Order one in series of terms comprising the integration


Strong_Integrator_Second

public double Strong_Integrator_Second()
Order second in series of terms comprising the integration


Strong_Integrator_Third

public double Strong_Integrator_Third()
Order three in series of terms comprising the integration


Strong_Integrator_Fourth

public double Strong_Integrator_Fourth()
Order four in series of terms comprising the integration, it requires the calculation of the Stratonovich Integrals J011, J101 and J011


J_XXX

public double[] J_XXX(double dWt,
                      double DELTA_int,
                      int p)
calculates the multiple stratonovich integrals: J1, J01, J10, J11, J110, J101 and J011


main

public static void main(java.lang.String[] args)