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.

Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SecondOrderFunction
  2. DiffFunction
  3. StochasticDiffFunction
  4. NumericOps
  5. ImmutableNumericOps
  6. HasOps
  7. Function1
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

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: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def %[B, That](b: B)(implicit op: linalg.operators.OpMod.Impl2[DiffFunction[T], B, That]): That

    Alias for :%(b) when b is a scalar.

    Alias for :%(b) when b is a scalar.

    Definition Classes
    ImmutableNumericOps
  4. final def %:%[B, That](b: B)(implicit op: linalg.operators.OpMod.Impl2[DiffFunction[T], B, That]): That

    Element-wise modulo of this and b.

    Element-wise modulo of this and b.

    Definition Classes
    ImmutableNumericOps
  5. final def %=[B](b: B)(implicit op: linalg.operators.OpMod.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Alias for :%=(b) when b is a scalar.

    Alias for :%=(b) when b is a scalar.

    Definition Classes
    NumericOps
  6. final def &[B, That](b: B)(implicit op: linalg.operators.OpAnd.Impl2[DiffFunction[T], B, That]): That

    Alias for &:&(b) for all b.

    Alias for &:&(b) for all b.

    Definition Classes
    ImmutableNumericOps
  7. final def &:&[B, That](b: B)(implicit op: linalg.operators.OpAnd.Impl2[DiffFunction[T], B, That]): That

    Element-wise logical "and" operator -- returns true if corresponding elements are non-zero.

    Element-wise logical "and" operator -- returns true if corresponding elements are non-zero.

    Definition Classes
    ImmutableNumericOps
  8. final def &=[B](b: B)(implicit op: linalg.operators.OpAnd.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise and of this and b.

    Mutates this by element-wise and of this and b.

    Definition Classes
    NumericOps
  9. final def *[B, That](b: B)(implicit op: linalg.operators.OpMulMatrix.Impl2[DiffFunction[T], B, That]): That

    Matrix multiplication

    Matrix multiplication

    Definition Classes
    ImmutableNumericOps
  10. final def *:*[B, That](b: B)(implicit op: linalg.operators.OpMulScalar.Impl2[DiffFunction[T], B, That]): That

    Element-wise product of this and b.

    Element-wise product of this and b.

    Definition Classes
    ImmutableNumericOps
  11. final def *=[B](b: B)(implicit op: linalg.operators.OpMulScalar.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Alias for :*=(b) when b is a scalar.

    Alias for :*=(b) when b is a scalar.

    Definition Classes
    NumericOps
  12. final def +[B, C, That](b: B)(implicit op: linalg.operators.OpAdd.Impl2[DiffFunction[T], B, That]): That

    Alias for :+(b) for all b.

    Alias for :+(b) for all b.

    Definition Classes
    NumericOps
  13. final def +:+[B, That](b: B)(implicit op: linalg.operators.OpAdd.Impl2[DiffFunction[T], B, That]): That

    Element-wise sum of this and b.

    Element-wise sum of this and b.

    Definition Classes
    ImmutableNumericOps
  14. final def +=[B](b: B)(implicit op: linalg.operators.OpAdd.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Alias for :+=(b) for all b.

    Alias for :+=(b) for all b.

    Definition Classes
    NumericOps
  15. final def -[B, That](b: B)(implicit op: linalg.operators.OpSub.Impl2[DiffFunction[T], B, That]): That

    Alias for -:-(b) for all b.

    Alias for -:-(b) for all b.

    Definition Classes
    ImmutableNumericOps
  16. final def -:-[B, That](b: B)(implicit op: linalg.operators.OpSub.Impl2[DiffFunction[T], B, That]): That

    Element-wise difference of this and b.

    Element-wise difference of this and b.

    Definition Classes
    ImmutableNumericOps
  17. final def -=[B](b: B)(implicit op: linalg.operators.OpSub.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Alias for :-=(b) for all b.

    Alias for :-=(b) for all b.

    Definition Classes
    NumericOps
  18. final def /[B, That](b: B)(implicit op: linalg.operators.OpDiv.Impl2[DiffFunction[T], B, That]): That

    Alias for :/(b) when b is a scalar.

    Alias for :/(b) when b is a scalar.

    Definition Classes
    ImmutableNumericOps
  19. final def /:/[B, That](b: B)(implicit op: linalg.operators.OpDiv.Impl2[DiffFunction[T], B, That]): That

    Element-wise quotient of this and b.

    Element-wise quotient of this and b.

    Definition Classes
    ImmutableNumericOps
  20. final def /=[B](b: B)(implicit op: linalg.operators.OpDiv.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Alias for :/=(b) when b is a scalar.

    Alias for :/=(b) when b is a scalar.

    Definition Classes
    NumericOps
  21. final def :!=[B, That](b: B)(implicit op: linalg.operators.OpNe.Impl2[DiffFunction[T], B, That]): That

    Element-wise inequality comparator of this and b.

    Element-wise inequality comparator of this and b.

    Definition Classes
    ImmutableNumericOps
  22. final def :%=[B](b: B)(implicit op: linalg.operators.OpMod.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise modulo of b into this.

    Mutates this by element-wise modulo of b into this.

    Definition Classes
    NumericOps
  23. final def :&=[B](b: B)(implicit op: linalg.operators.OpAnd.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise and of this and b.

    Mutates this by element-wise and of this and b.

    Definition Classes
    NumericOps
  24. final def :*=[B](b: B)(implicit op: linalg.operators.OpMulScalar.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise multiplication of b into this.

    Mutates this by element-wise multiplication of b into this.

    Definition Classes
    NumericOps
  25. final def :+=[B](b: B)(implicit op: linalg.operators.OpAdd.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise addition of b into this.

    Mutates this by element-wise addition of b into this.

    Definition Classes
    NumericOps
  26. final def :-=[B](b: B)(implicit op: linalg.operators.OpSub.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise subtraction of b from this

    Mutates this by element-wise subtraction of b from this

    Definition Classes
    NumericOps
  27. final def :/=[B](b: B)(implicit op: linalg.operators.OpDiv.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise division of b into this

    Mutates this by element-wise division of b into this

    Definition Classes
    NumericOps
  28. final def :=[B](b: B)(implicit op: linalg.operators.OpSet.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise assignment of b into this.

    Mutates this by element-wise assignment of b into this.

    Definition Classes
    NumericOps
  29. final def :==[B, That](b: B)(implicit op: linalg.operators.OpEq.Impl2[DiffFunction[T], B, That]): That

    Element-wise equality comparator of this and b.

    Element-wise equality comparator of this and b.

    Definition Classes
    ImmutableNumericOps
  30. final def :^=[B](b: B)(implicit op: linalg.operators.OpPow.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise exponentiation of this by b.

    Mutates this by element-wise exponentiation of this by b.

    Definition Classes
    NumericOps
  31. final def :^^=[B](b: B)(implicit op: linalg.operators.OpXor.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise xor of this and b.

    Mutates this by element-wise xor of this and b.

    Definition Classes
    NumericOps
  32. final def :|=[B](b: B)(implicit op: linalg.operators.OpOr.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise or of this and b.

    Mutates this by element-wise or of this and b.

    Definition Classes
    NumericOps
  33. final def <:<[B, That](b: B)(implicit op: linalg.operators.OpLT.Impl2[DiffFunction[T], B, That]): That

    Element-wise less=than comparator of this and b.

    Element-wise less=than comparator of this and b.

    Definition Classes
    NumericOps
  34. final def <:=[B, That](b: B)(implicit op: linalg.operators.OpLTE.Impl2[DiffFunction[T], B, That]): That

    Element-wise less-than-or-equal-to comparator of this and b.

    Element-wise less-than-or-equal-to comparator of this and b.

    Definition Classes
    NumericOps
  35. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  36. final def >:=[B, That](b: B)(implicit op: linalg.operators.OpGTE.Impl2[DiffFunction[T], B, That]): That

    Element-wise greater-than-or-equal-to comparator of this and b.

    Element-wise greater-than-or-equal-to comparator of this and b.

    Definition Classes
    NumericOps
  37. final def >:>[B, That](b: B)(implicit op: linalg.operators.OpGT.Impl2[DiffFunction[T], B, That]): That

    Element-wise greater-than comparator of this and b.

    Element-wise greater-than comparator of this and b.

    Definition Classes
    NumericOps
  38. def \[B, That](b: B)(implicit op: linalg.operators.OpSolveMatrixBy.Impl2[DiffFunction[T], B, That]): That

    Shaped solve of this by b.

    Shaped solve of this by b.

    Definition Classes
    ImmutableNumericOps
  39. final def ^:^[B, That](b: B)(implicit op: linalg.operators.OpPow.Impl2[DiffFunction[T], B, That]): That

    Element-wise exponentiation of this and b.

    Element-wise exponentiation of this and b.

    Definition Classes
    ImmutableNumericOps
  40. final def ^^[B, That](b: B)(implicit op: linalg.operators.OpXor.Impl2[DiffFunction[T], B, That]): That

    Alias for :^^(b) for all b.

    Alias for :^^(b) for all b.

    Definition Classes
    ImmutableNumericOps
  41. final def ^^:^^[B, That](b: B)(implicit op: linalg.operators.OpXor.Impl2[DiffFunction[T], B, That]): That

    Element-wise logical "xor" operator -- returns true if only one of the corresponding elements is non-zero.

    Element-wise logical "xor" operator -- returns true if only one of the corresponding elements is non-zero.

    Definition Classes
    ImmutableNumericOps
  42. final def ^^=[B](b: B)(implicit op: linalg.operators.OpXor.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise xor of this and b.

    Mutates this by element-wise xor of this and b.

    Definition Classes
    NumericOps
  43. def andThen[A](g: (Double) => A): (T) => A
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  44. final def apply(x: T): Double
    Definition Classes
    StochasticDiffFunction → Function1
  45. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  46. def cached(implicit copy: CanCopy[T]): DiffFunction[T]
    Definition Classes
    DiffFunction
  47. 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
  48. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  49. def compose[A](g: (A) => T): (A) => Double
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  50. final def dot[B, BB >: B, That](b: B)(implicit op: linalg.operators.OpMulInner.Impl2[DiffFunction[T], BB, That]): That

    Inner product of this and b.

    Inner product of this and b.

    Definition Classes
    ImmutableNumericOps
  51. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  52. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  53. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  54. def gradientAt(x: T): T

    calculates the gradient at a point

    calculates the gradient at a point

    Definition Classes
    StochasticDiffFunction
  55. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  56. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  57. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  58. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  59. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  60. def repr: DiffFunction[T]
  61. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  62. final def t[That, Slice1, Result](a: Slice1)(implicit op: CanTranspose[DiffFunction[T], That], canSlice: CanSlice[That, Slice1, Result]): Result

    A transposed view of this object, followed by a slice.

    A transposed view of this object, followed by a slice. Sadly frequently necessary.

    Definition Classes
    ImmutableNumericOps
  63. final def t[That, Slice1, Slice2, Result](a: Slice1, b: Slice2)(implicit op: CanTranspose[DiffFunction[T], That], canSlice: CanSlice2[That, Slice1, Slice2, Result]): Result

    A transposed view of this object, followed by a slice.

    A transposed view of this object, followed by a slice. Sadly frequently necessary.

    Definition Classes
    ImmutableNumericOps
  64. final def t[That](implicit op: CanTranspose[DiffFunction[T], That]): That

    A transposed view of this object.

    A transposed view of this object.

    Definition Classes
    ImmutableNumericOps
  65. 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
    DiffFunctionStochasticDiffFunction
  66. def toString(): String
    Definition Classes
    Function1 → AnyRef → Any
  67. final def unary_![That](implicit op: linalg.operators.OpNot.Impl[DiffFunction[T], That]): That
    Definition Classes
    ImmutableNumericOps
  68. final def unary_-[That](implicit op: linalg.operators.OpNeg.Impl[DiffFunction[T], That]): That
    Definition Classes
    ImmutableNumericOps
  69. def valueAt(x: T): Double

    calculates the value at a point

    calculates the value at a point

    Definition Classes
    StochasticDiffFunction
  70. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  71. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  72. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def |[B, That](b: B)(implicit op: linalg.operators.OpOr.Impl2[DiffFunction[T], B, That]): That

    Alias for :||(b) for all b.

    Alias for :||(b) for all b.

    Definition Classes
    ImmutableNumericOps
  74. final def |:|[B, That](b: B)(implicit op: linalg.operators.OpOr.Impl2[DiffFunction[T], B, That]): That

    Element-wise logical "or" operator -- returns true if either element is non-zero.

    Element-wise logical "or" operator -- returns true if either element is non-zero.

    Definition Classes
    ImmutableNumericOps
  75. final def |=[B](b: B)(implicit op: linalg.operators.OpOr.InPlaceImpl2[DiffFunction[T], B]): DiffFunction[T]

    Mutates this by element-wise or of this and b.

    Mutates this by element-wise or of this and b.

    Definition Classes
    NumericOps

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from DiffFunction[T]

Inherited from StochasticDiffFunction[T]

Inherited from NumericOps[DiffFunction[T]]

Inherited from HasOps

Inherited from (T) => Double

Inherited from AnyRef

Inherited from Any

Ungrouped