SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution
Class PowerLawSingularity

java.lang.Object
  extended by com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.Substitution
      extended by com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.PowerLawSingularity

public class PowerLawSingularity
extends Substitution

This transformation is good for an integral which diverges at one of the end points.

For singularity at the lower limit, we have (x - a) diverging, near x = a, 0 ≤ γ < 1.

 /b          /(b-a)1-γ   1
 | f(x) dx = |         ----- tγ/(1-γ)f(t1/(1-γ) + a)dt, b > a
 /a          /0         1-γ
 

For singularity at the upper limit, we have (x - b) diverging, near x = b, 0 ≤ γ < 1.

 /b          /(b-a)1-γ   1
 | f(x) dx = |         ----- tγ/(1-γ)f(b - t1/(1-γ))dt, b > a
 /a          /0         1-γ
 

A common case is when γ = 0.5.


Nested Class Summary
static class PowerLawSingularity.Type
          the type of end point divergence
 
Field Summary
 double a
          the lower limit
 double b
          the upper limit
 double gamma
          gamma
 PowerLawSingularity.Type type
           
 
Fields inherited from class com.numericalmethod.suanshu.analysis.integration.univariate.riemann.substitution.Substitution
dx, x
 
Constructor Summary
PowerLawSingularity(PowerLawSingularity.Type type, double gamma, double a, double b)
          Construct an instance of the PowerLawSingularity substitution rule.
 
Method Summary
 double ta()
          Get the lower limit of the integral.
 double tb()
          Get the upper limit of the integral.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

type

public final PowerLawSingularity.Type type

gamma

public final double gamma
gamma


a

public final double a
the lower limit


b

public final double b
the upper limit

Constructor Detail

PowerLawSingularity

public PowerLawSingularity(PowerLawSingularity.Type type,
                           double gamma,
                           double a,
                           double b)
Construct an instance of the PowerLawSingularity substitution rule.

Parameters:
type - the type of end point divergence
gamma - γ, the exponential
a - the lower limit
b - the upper limit
Method Detail

ta

public double ta()
Description copied from class: Substitution
Get the lower limit of the integral.

Specified by:
ta in class Substitution
Returns:
the lower limit

tb

public double tb()
Description copied from class: Substitution
Get the upper limit of the integral.

Specified by:
tb in class Substitution
Returns:
the upper limit

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.