object Differential
The Differential
object contains functions for computing derivatives, partial
derivatives, Laplacians, gradient vectors, Hessian matrices and Jacobian matrices.
- Alphabetic
- By Inheritance
- Differential
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
derivative(f: FunctionS2S, x: Double): Double
Estimate the derivative of the scalar-to-scalar function 'f' at 'x' using a 2-sided method (central difference).
Estimate the derivative of the scalar-to-scalar function 'f' at 'x' using a 2-sided method (central difference). Approximate the tangent line at '(x, f(x))' with the secant line through points '(x-h, f(x-h))' and '(x+h, f(x+h))'. Tends to be MORE ACCURATE than the 1-sided method. Although a noun, 'derivative' was chosen over the verb 'differentiate'.
- f
the function whose derivative is sought
- x
the point (scalar) at which to estimate the derivative
- See also
www.math.montana.edu/frankw/ccp/modeling/continuous/heatflow2/firstder.htm
-
def
derivative1(f: FunctionS2S, x: Double): Double
Estimate the derivative of the scalar-to-scalar function 'f' at 'x' using a 1-sided method (forward difference).
Estimate the derivative of the scalar-to-scalar function 'f' at 'x' using a 1-sided method (forward difference). Approximate the tangent line at '(x, f(x))' with the secant line through points '(x, f(x))' and '(x+h, f(x+h))'.
- f
the function whose derivative is sought
- x
the point (scalar) at which to estimate the derivative
-
def
derivative2(f: FunctionS2S, x: Double): Double
Estimate the second derivative of the scalar-to-scalar function 'f' at 'x' using the central difference formula for second derivatives.
Estimate the second derivative of the scalar-to-scalar function 'f' at 'x' using the central difference formula for second derivatives.
- f
the function whose second derivative is sought
- x
the point (scalar) at which to estimate the derivative
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
fdiffernce(f: FunctionS2S, x: Double): Double
Estimate the finite difference of the scalar-to-scalar function 'f' at 'x' using a 1-sided method (forward difference).
Estimate the finite difference of the scalar-to-scalar function 'f' at 'x' using a 1-sided method (forward difference). May work better than the derivative for noisy functions.
- f
the function whose derivative is sought
- x
the point (scalar) at which to estimate the finite difference
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
gradient(f: FunctionV2S, x: VectorD): VectorD
Estimate the gradient of the vector-to-scalar function 'f' at point 'x' returning a value for the partial derivative for each dimension of 'x'.
Estimate the gradient of the vector-to-scalar function 'f' at point 'x' returning a value for the partial derivative for each dimension of 'x'.
- f
the function whose gradient is sought
- x
the point (vector) at which to estimate the gradient
-
def
gradientD(d: FunctionsV, x: VectorD): VectorD
Compute the gradient of the vector-to-scalar function 'f' using partial derivative functions evaluated at point 'x.' Return a value for the partial derivative for each dimension of the vector 'x.'
Compute the gradient of the vector-to-scalar function 'f' using partial derivative functions evaluated at point 'x.' Return a value for the partial derivative for each dimension of the vector 'x.'
- d
the array of partial derivative functions
- x
the point (vector) at which to compute the gradient
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
hessian(f: FunctionV2S, x: VectorD): MatrixD
Estimate the Hessian of the vector-to-scalar function 'f' at point 'x' returning a matrix of second partial derivative.
Estimate the Hessian of the vector-to-scalar function 'f' at point 'x' returning a matrix of second partial derivative.
- f
the function whose Hessian is sought
- x
the point (vector) at which to estimate the Hessian
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
jacobian(f: FunctionsV, x: VectorD): MatrixD
Compute the Jacobian matrix for a vector-valued function represented as an array of scalar-valued functions.
Compute the Jacobian matrix for a vector-valued function represented as an array of scalar-valued functions. The 'i'th row in the matrix is the gradient of the 'i'th function.
- f
the array of functions whose Jacobian is sought
- x
the point (vector) at which to estimate the Jacobian
-
def
laplacian(f: FunctionV2S, x: VectorD): Double
Estimate the Laplacian of the vector-to-scalar function 'f' at point 'x' returning the sum of the pure second partial derivatives.
Estimate the Laplacian of the vector-to-scalar function 'f' at point 'x' returning the sum of the pure second partial derivatives.
- f
the function whose Hessian is sought
- x
the point (vector) at which to estimate the Hessian
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
partial(i: Int)(f: FunctionV2S, x: VectorD): Double
Estimate the 'i'th partial derivative of the vector-to-scalar function 'f' at point 'x' returning the value for the partial derivative for dimension 'i'.
Estimate the 'i'th partial derivative of the vector-to-scalar function 'f' at point 'x' returning the value for the partial derivative for dimension 'i'.
- i
the dimension to compute the partial derivative on
- f
the function whose partial derivative is sought
- x
the point (vector) at which to estimate the partial derivative
-
def
partial2(i: Int, j: Int)(f: FunctionV2S, x: VectorD): Double
Estimate the '(i,j)'th second partial derivative of the vector-to-scalar function 'f' at point 'x' returning the value for the second partial derivative for dimensions '(i, j)'.
Estimate the '(i,j)'th second partial derivative of the vector-to-scalar function 'f' at point 'x' returning the value for the second partial derivative for dimensions '(i, j)'. If 'i = j', the second partial derivative is called "pure", otherwise it is a "cross" second partial derivative.
- i
the first dimension to compute the second partial derivative on
- j
the second dimension to compute the second partial derivative on
- f
the function whose second partial derivative is sought
- x
the point (vector) at which to estimate the second partial derivative
- See also
www.uio.no/studier/emner/matnat/math/MAT-INF1100/h07/undervisningsmateriale/kap7.pdf
-
def
resetH(step: Double): Unit
Reset the step size from its default step size to one more suitable for your function.
Reset the step size from its default step size to one more suitable for your function. A heuristic for the central difference method is to let 'h = max (|x|,1) * (machine-epsilon)^(1/3)' For double precision, the machine-epsilon is about 1E-16.
- step
the new step size to reset h to
- See also
www.karenkopecky.net/Teaching/eco613614/Notes_NumericalDifferentiation.pdf
-
def
resetHR(largeStep: Double): Unit
Reset the large step size from its default step size to one more suitable for your function.
Reset the large step size from its default step size to one more suitable for your function.
- largeStep
the new large step size to reset hl to
-
def
slope(f: FunctionV2S, x: VectorD, n: Int = 0): VectorD
Compute the slope of the vector-to-scalar function 'f' defined on mixed real/integer vectors.
Compute the slope of the vector-to-scalar function 'f' defined on mixed real/integer vectors.
- f
the function whose slope is sought
- x
the point (vector) at which to estimate the slope
- n
the number of dimensions that are real-valued (rest are integers)
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def Δ(f: FunctionS2S)(x: Double): Double
- def Η(f: FunctionV2S, x: VectorD): MatrixD
- def Ј(f: FunctionsV, x: VectorD): MatrixD
- def Ⅾ(f: FunctionS2S)(x: Double): Double
- def ⅮⅮ(f: FunctionS2S, x: Double): Double
- def ∂(i: Int)(f: FunctionV2S, x: VectorD): Double
- def ∂∂(i: Int, j: Int)(f: FunctionV2S, x: VectorD): Double
- def ∆(f: FunctionV2S, x: VectorD): Double
- def ∇(f: FunctionV2S, x: VectorD): VectorD
- def ∇*(d: FunctionsV, x: VectorD): VectorD