org.apache.commons.math3.analysis.polynomials
Class HelmholtzPolynomial

java.lang.Object
  extended by org.apache.commons.math3.analysis.polynomials.HelmholtzPolynomial

public final class HelmholtzPolynomial
extends Object

This class represents Helmholtz polynomial.

Since:
3.1.2
Version:
$Id: HelmholtzPolynomial.java 17601 2017-05-18 07:27:52Z bignon $

Constructor Summary
HelmholtzPolynomial(int degree, int order)
          Create a Helmholtz polynomial with given degree and order
 
Method Summary
protected  void computeConstantCoefficients()
          Calculate the constant coefficients of the polynomial as per
 double computeHelmholtzPolynomial(Vector3D point)
          Calculate the value of the polynomial in a given point.
 double[][] getDpph()
          Get the H'lm coefficients
 double[][] getDsph()
          Get the H''lm coefficients
 double[][] getPh()
          Get the Hlm coefficients
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HelmholtzPolynomial

public HelmholtzPolynomial(int degree,
                           int order)
Create a Helmholtz polynomial with given degree and order

Parameters:
degree - max degree
order - max order
Method Detail

computeHelmholtzPolynomial

public double computeHelmholtzPolynomial(Vector3D point)
Calculate the value of the polynomial in a given point.

Parameters:
point - the given point
Returns:
value of polynomial

computeConstantCoefficients

protected void computeConstantCoefficients()
Calculate the constant coefficients of the polynomial as per
 ph(m,m)        = SQRT(1 + 1/2m) * ph(m-1,m-1)
 dpph(m+1,m)    = SQRT(2m+3) * ph(m,m)
 alpha(l,m)     = SQRT( (2l+1)*(2l-1) / (l-m)*(l+m) )        for l >= m + 1
                = SQRT( (2l+1)*(2l-1) )                      for l = m
 
On represente les a(l,m) sous la forme d'un tableau unidimentionnel. La dimension de ce tableau est:
 (lmax * (lmax + 1) - ((lmax + 1) - (mmax + 1)) *
         ((lmax + 1) - (mmax + 1) + 1)) / 2
 
Pour un couple l,m donne, on a:
 a(l, m) = aph(i)
 
avec i valant :
 i = (lmax * (lmax + 1) - ((lmax + 1) - m) *
         ((lmax + 1) - m + 1)) / 2 + (l - m) + 1
 
Initial conditions are :
 ph(0,0)     = 1.0
 ph(1,1)     = SQRT(3)
 


getPh

public double[][] getPh()
Get the Hlm coefficients

Returns:
the Hlm coefficients

getDpph

public double[][] getDpph()
Get the H'lm coefficients

Returns:
the H'lm coefficients

getDsph

public double[][] getDsph()
Get the H''lm coefficients

Returns:
the H''lm coefficients


Copyright © 2017 CNES. All Rights Reserved.