breeze.optimize

SpectralProjectedGradient

class SpectralProjectedGradient[T] extends FirstOrderMinimizer[T, DiffFunction[T]] with Projecting[T] with SerializableLogging

SPG is a Spectral Projected Gradient minimizer; it minimizes a differentiable function subject to the optimum being in some set, given by the projection operator projection

T

vector type

Linear Supertypes
Projecting[T], FirstOrderMinimizer[T, DiffFunction[T]], SerializableLogging, Serializable, Serializable, Minimizer[T, DiffFunction[T]], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SpectralProjectedGradient
  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 SpectralProjectedGradient(projection: (T) ⇒ T = ((t: T) => t), tolerance: Double = 1.0E-6, suffDec: Double = 1.0E-4, minImprovementWindow: Int = 30, alphaMax: Double = 1.0E10, alphaMin: Double = 1.0E-10, bbMemory: Int = 10, maxIter: Int = -1, initFeas: Boolean = false, curvilinear: Boolean = false, bbType: Int = 1, maxSrcht: Int = 30)(implicit space: MutableVectorField[T, Double])

    projection

    projection operations

    tolerance

    termination criterion: tolerance for norm of projected gradient

    suffDec

    sufficient decrease parameter

    alphaMax

    longest step

    alphaMin

    shortest step

    bbMemory

    number of history entries for linesearch

    maxIter

    maximum number of iterations

    initFeas

    is the initial guess feasible, or should it be projected?

    curvilinear

    if curvilinear true, do the projection inside line search in place of doing it in chooseDescentDirection

    maxSrcht

    maximum number of iterations inside line search

Type Members

  1. case class History(alphaBB: Double, fvals: IndexedSeq[Double]) extends Product with Serializable

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

  2. 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: T, newGrad: T, newVal: Double): (Double, T)

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  7. def adjustFunction(f: DiffFunction[T]): DiffFunction[T]

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

    Definition Classes
    Any
  9. def bbAlpha(s: T, y: T): Double

    From Mark Schmidt's Matlab code if bbType == 1 alpha = (s'*s)/(s'*y); else alpha = (s'*y)/(y'*y);

    From Mark Schmidt's Matlab code if bbType == 1 alpha = (s'*s)/(s'*y); else alpha = (s'*y)/(y'*y);

    Attributes
    protected
  10. val bbType: Int

  11. def calculateObjective(f: DiffFunction[T], x: T, history: History): (Double, T)

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  12. def chooseDescentDirection(state: State, f: DiffFunction[T]): T

    Attributes
    protected
    Definition Classes
    SpectralProjectedGradientFirstOrderMinimizer
  13. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  14. val curvilinear: Boolean

    if curvilinear true, do the projection inside line search in place of doing it in chooseDescentDirection

  15. def determineStepSize(state: State, f: DiffFunction[T], direction: T): Double

    Attributes
    protected
    Definition Classes
    SpectralProjectedGradientFirstOrderMinimizer
  16. final def eq(arg0: AnyRef): Boolean

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

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

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

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

    Definition Classes
    AnyRef → Any
  21. def infiniteIterations(f: DiffFunction[T], state: State): Iterator[State]

    Definition Classes
    FirstOrderMinimizer
  22. val initFeas: Boolean

    is the initial guess feasible, or should it be projected?

  23. def initialHistory(f: DiffFunction[T], init: T): History

    Attributes
    protected
    Definition Classes
    SpectralProjectedGradientFirstOrderMinimizer
  24. def initialState(f: DiffFunction[T], init: T): State

    Attributes
    protected
    Definition Classes
    FirstOrderMinimizer
  25. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  26. def iterations(f: DiffFunction[T], init: T): Iterator[State]

    Definition Classes
    FirstOrderMinimizer
  27. def logger: LazyLogger

    Attributes
    protected
    Definition Classes
    SerializableLogging
  28. val maxSrcht: Int

    maximum number of iterations inside line search

  29. def minimize(f: DiffFunction[T], init: T): T

    Definition Classes
    FirstOrderMinimizerMinimizer
  30. def minimizeAndReturnState(f: DiffFunction[T], init: T): State

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

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

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

    Definition Classes
    AnyRef
  34. val numberOfImprovementFailures: Int

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

    Definition Classes
    Projecting
  36. val projection: (T) ⇒ T

    projection operations

    projection operations

    Definition Classes
    SpectralProjectedGradientProjecting
  37. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  38. def takeStep(state: State, dir: T, stepSize: Double): T

    Attributes
    protected
    Definition Classes
    SpectralProjectedGradientFirstOrderMinimizer
  39. def toString(): String

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

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

    Attributes
    protected
    Definition Classes
    SpectralProjectedGradientFirstOrderMinimizer
  42. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Projecting[T]

Inherited from FirstOrderMinimizer[T, DiffFunction[T]]

Inherited from SerializableLogging

Inherited from Serializable

Inherited from Serializable

Inherited from Minimizer[T, DiffFunction[T]]

Inherited from AnyRef

Inherited from Any

Ungrouped