# SecondOrderFunction

#### trait SecondOrderFunction[T, H] extends DiffFunction[T]

Represents a function for which we can easily compute the Hessian.

For conjugate gradient methods, you can play tricks with the hessian, returning an object that only supports multiplication.

Linear Supertypes
DiffFunction[T], StochasticDiffFunction[T], (T) ⇒ Double, AnyRef, Any
Known Subclasses
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. SecondOrderFunction
2. DiffFunction
3. StochasticDiffFunction
4. Function1
5. AnyRef
6. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

### Abstract Value Members

1. #### abstract def calculate2(x: T): (Double, T, H)

Calculates the value, the gradient, and the Hessian at a point

### Concrete Value Members

1. #### final def !=(arg0: AnyRef): Boolean

Definition Classes
AnyRef
2. #### final def !=(arg0: Any): Boolean

Definition Classes
Any
3. #### final def ##(): Int

Definition Classes
AnyRef → Any
4. #### final def ==(arg0: AnyRef): Boolean

Definition Classes
AnyRef
5. #### final def ==(arg0: Any): Boolean

Definition Classes
Any
6. #### def andThen[A](g: (Double) ⇒ A): (T) ⇒ A

Definition Classes
Function1
Annotations
@unspecialized()
7. #### final def apply(x: T): Double

Definition Classes
StochasticDiffFunction → Function1
8. #### final def asInstanceOf[T0]: T0

Definition Classes
Any
9. #### def calculate(x: T): (Double, T)

Calculates both the value and the gradient at a point

Calculates both the value and the gradient at a point

Definition Classes
SecondOrderFunctionStochasticDiffFunction
10. #### def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
11. #### def compose[A](g: (A) ⇒ T): (A) ⇒ Double

Definition Classes
Function1
Annotations
@unspecialized()
12. #### final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
13. #### def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
14. #### def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
15. #### final def getClass(): Class[_]

Definition Classes
AnyRef → Any
16. #### def gradientAt(x: T): T

calculates the gradient at a point

calculates the gradient at a point

Definition Classes
StochasticDiffFunction
17. #### def hashCode(): Int

Definition Classes
AnyRef → Any
18. #### final def isInstanceOf[T0]: Boolean

Definition Classes
Any
19. #### final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
20. #### final def notify(): Unit

Definition Classes
AnyRef
21. #### final def notifyAll(): Unit

Definition Classes
AnyRef
22. #### final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
23. #### def throughLens[U](implicit l: Isomorphism[T, U]): DiffFunction[U]

Lenses provide a way of mapping between two types, which we typically use to convert something to a DenseVector or other Tensor for optimization purposes.

Lenses provide a way of mapping between two types, which we typically use to convert something to a DenseVector or other Tensor for optimization purposes.

Definition Classes
StochasticDiffFunction
24. #### def toString(): String

Definition Classes
Function1 → AnyRef → Any
25. #### def valueAt(x: T): Double

calculates the value at a point

calculates the value at a point

Definition Classes
StochasticDiffFunction
26. #### final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
27. #### final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
28. #### final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )