breeze.optimize

ProjectedQuasiNewton

class ProjectedQuasiNewton extends FirstOrderMinimizer[DenseVector[Double], DiffFunction[DenseVector[Double]]] with Projecting[DenseVector[Double]] with SerializableLogging

Linear Supertypes
Projecting[DenseVector[Double]], FirstOrderMinimizer[DenseVector[Double], DiffFunction[DenseVector[Double]]], SerializableLogging, Serializable, Serializable, Minimizer[DenseVector[Double], DiffFunction[DenseVector[Double]]], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ProjectedQuasiNewton
  2. Projecting
  3. FirstOrderMinimizer
  4. SerializableLogging
  5. Serializable
  6. Serializable
  7. Minimizer
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ProjectedQuasiNewton(tolerance: Double = 1.0E-6, m: Int = 10, initFeas: Boolean = false, testOpt: Boolean = true, maxIter: Int = -1, maxSrchIt: Int = 50, gamma: Double = 1.0E-4, projection: (DenseVector[Double]) ⇒ DenseVector[Double] = ...)(implicit space: MutableInnerProductModule[DenseVector[Double], Double])

Type Members

  1. type BDV = DenseVector[Double]

  2. type History = CompactHessian

    Any history the derived minimization function needs to do its updates.

    Any history the derived minimization function needs to do its updates. typically an approximation to the second derivative/hessian matrix.

    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  3. case class State(x: T, value: Double, grad: T, adjustedValue: Double, adjustedGradient: T, iter: Int, initialAdjVal: Double, history: History, fVals: IndexedSeq[Double] = ..., numImprovementFailures: Int = 0, searchFailed: Boolean = false) extends Product with Serializable

    Tracks the information about the optimizer, including the current point, its value, gradient, and then any history.

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 adjust(newX: DenseVector[Double], newGrad: DenseVector[Double], newVal: Double): (Double, DenseVector[Double])

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  7. def adjustFunction(f: DiffFunction[DenseVector[Double]]): DiffFunction[DenseVector[Double]]

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  8. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  9. def calculateObjective(f: DiffFunction[DenseVector[Double]], x: DenseVector[Double], history: History): (Double, DenseVector[Double])

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  10. def chooseDescentDirection(state: State, fn: DiffFunction[DenseVector[Double]]): DenseVector[Double]

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  11. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  12. def determineStepSize(state: State, f: DiffFunction[DenseVector[Double]], dir: DenseVector[Double]): Double

    Given a direction, perform a Strong Wolfe Line Search

    Given a direction, perform a Strong Wolfe Line Search

    TO DO: Compare performance with Cubic Interpolation based line search from Mark's PQN paper

    state

    the current state

    f

    The objective

    dir

    The step direction

    returns

    stepSize

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  13. final def eq(arg0: AnyRef): Boolean

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

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. val gamma: Double

  17. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. def infiniteIterations(f: DiffFunction[DenseVector[Double]], state: State): Iterator[State]

    Definition Classes
    FirstOrderMinimizer
  20. val initFeas: Boolean

  21. def initialHistory(f: DiffFunction[DenseVector[Double]], init: DenseVector[Double]): History

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  22. def initialState(f: DiffFunction[DenseVector[Double]], init: DenseVector[Double]): State

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  23. val innerOptimizer: SpectralProjectedGradient[BDV]

  24. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  25. def iterations(f: DiffFunction[DenseVector[Double]], init: DenseVector[Double]): Iterator[State]

    Definition Classes
    FirstOrderMinimizer
  26. def logger: LazyLogger

    Attributes
    protected
    Definition Classes
    SerializableLogging
  27. val m: Int

  28. val maxSrchIt: Int

  29. val minImprovementWindow: Int

    Definition Classes
    FirstOrderMinimizer
  30. def minimize(f: DiffFunction[DenseVector[Double]], init: DenseVector[Double]): DenseVector[Double]

    Definition Classes
    FirstOrderMinimizerMinimizer
  31. def minimizeAndReturnState(f: DiffFunction[DenseVector[Double]], init: DenseVector[Double]): State

    Definition Classes
    FirstOrderMinimizer
  32. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  33. final def notify(): Unit

    Definition Classes
    AnyRef
  34. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  35. val numberOfImprovementFailures: Int

    Definition Classes
    FirstOrderMinimizer
  36. def projectedVector(x: DenseVector[Double], g: DenseVector[Double])(implicit vspace: Module[DenseVector[Double], Double]): DenseVector[Double]

    Definition Classes
    Projecting
  37. val projection: (DenseVector[Double]) ⇒ DenseVector[Double]

    Definition Classes
    ProjectedQuasiNewtonProjecting
  38. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  39. def takeStep(state: State, dir: DenseVector[Double], stepSize: Double): DenseVector[Double]

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  40. val testOpt: Boolean

  41. def toString(): String

    Definition Classes
    AnyRef → Any
  42. def updateFValWindow(oldState: State, newAdjVal: Double): IndexedSeq[Double]

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  43. def updateHistory(newX: DenseVector[Double], newGrad: DenseVector[Double], newVal: Double, f: DiffFunction[DenseVector[Double]], oldState: State): History

    Attributes
    protected
    Definition Classes
    ProjectedQuasiNewtonFirstOrderMinimizer
  44. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Projecting[DenseVector[Double]]

Inherited from FirstOrderMinimizer[DenseVector[Double], DiffFunction[DenseVector[Double]]]

Inherited from SerializableLogging

Inherited from Serializable

Inherited from Serializable

Inherited from Minimizer[DenseVector[Double], DiffFunction[DenseVector[Double]]]

Inherited from AnyRef

Inherited from Any

Ungrouped