Top Description Fields Constructors Methods
org.apache.commons.math3.analysis.function

public Class Sinc

extends Object
implements UnivariateDifferentiableFunction, DifferentiableUnivariateFunction
Class Inheritance
All Implemented Interfaces
org.apache.commons.math3.analysis.DifferentiableUnivariateFunction, org.apache.commons.math3.analysis.UnivariateFunction, org.apache.commons.math3.analysis.differentiation.UnivariateDifferentiableFunction
Imports
org.apache.commons.math3.analysis.DifferentiableUnivariateFunction, .FunctionUtils, .UnivariateFunction, org.apache.commons.math3.analysis.differentiation.DerivativeStructure, .UnivariateDifferentiableFunction, org.apache.commons.math3.exception.DimensionMismatchException, org.apache.commons.math3.util.FastMath

Deprecated

as a consequence of DifferentiableUnivariateFunction being deprecated. See corresponding docs for further information.

Sinc function, defined by

  sinc(x) = 1            if x = 0,
            sin(x) / x   otherwise.
Since
3.0

Field Summary

Modifier and TypeField and Description
private final boolean
normalized

For normalized sinc function.

private static final double
SHORTCUT

Value below which the computations are done using Taylor series.

Constructor Summary

AccessConstructor and Description
public
Sinc()

The sinc function, sin(x) / x.

public
Sinc(boolean
If true, the function is sin(πx) / πx, otherwise sin(x) / x.
normalized
)

Instantiates the sinc function.

Method Summary

Modifier and TypeMethod and Description
public UnivariateFunction
derivative()

Implements org.apache.commons.math3.analysis.DifferentiableUnivariateFunction.derivative.

Deprecated as of 3.1, replaced by value(DerivativeStructure)

Returns the derivative of the function

public double
value(final double
Point at which the function value should be computed.
x
)

Implements org.apache.commons.math3.analysis.UnivariateFunction.value.

Compute the value of the function.

public DerivativeStructure
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

normalizedback to summary
private final boolean normalized

For normalized sinc function.

SHORTCUTback to summary
private static final double SHORTCUT

Value below which the computations are done using Taylor series.

The Taylor series for sinc even order derivatives are:

d^(2n)sinc/dx^(2n)     = Sum_(k>=0) (-1)^(n+k) / ((2k)!(2n+2k+1)) x^(2k)
                       = (-1)^n     [ 1/(2n+1) - x^2/(4n+6) + x^4/(48n+120) - x^6/(1440n+5040) + O(x^8) ]

The Taylor series for sinc odd order derivatives are:

d^(2n+1)sinc/dx^(2n+1) = Sum_(k>=0) (-1)^(n+k+1) / ((2k+1)!(2n+2k+3)) x^(2k+1)
                       = (-1)^(n+1) [ x/(2n+3) - x^3/(12n+30) + x^5/(240n+840) - x^7/(10080n+45360) + O(x^9) ]

So the ratio of the fourth term with respect to the first term is always smaller than x^6/720, for all derivative orders. This implies that neglecting this term and using only the first three terms induces a relative error bounded by x^6/720. The SHORTCUT value is chosen such that this relative error is below double precision accuracy when |x| <= SHORTCUT.

Constructor Detail

Sincback to summary
public Sinc()

The sinc function, sin(x) / x.

Sincback to summary
public Sinc(boolean normalized)

Instantiates the sinc function.

Parameters
normalized:boolean

If true, the function is sin(πx) / πx, otherwise sin(x) / x.

Method Detail

derivativeback to summary
public UnivariateFunction derivative()

Implements org.apache.commons.math3.analysis.DifferentiableUnivariateFunction.derivative.

Doc from org.apache.commons.math3.analysis.DifferentiableUnivariateFunction.derivative.

Deprecated

as of 3.1, replaced by value(DerivativeStructure)

Returns the derivative of the function

Returns:UnivariateFunction

the derivative function

Annotations
@Deprecated
valueback to summary
public double value(final double x)

Implements org.apache.commons.math3.analysis.UnivariateFunction.value.

Doc from org.apache.commons.math3.analysis.UnivariateFunction.value.

Compute the value of the function.

Parameters
x:double

Point at which the function value should be computed.

Returns:double

the value of the function.

valueback to summary
public DerivativeStructure value(final DerivativeStructure t) throws DimensionMismatchException

Implements org.apache.commons.math3.analysis.differentiation.UnivariateDifferentiableFunction.value.

Doc from org.apache.commons.math3.analysis.differentiation.UnivariateDifferentiableFunction.value.

Simple mathematical function.

UnivariateDifferentiableFunction classes compute both the value and the first derivative of the function.

Parameters
t:DerivativeStructure

function input value

Returns:DerivativeStructure

function result

Exceptions
DimensionMismatchException:
if t is inconsistent with the function's free parameters or order
Since
3.1