class NNLS extends SerializableLogging

NNLS solves nonnegative least squares problems using a modified projected gradient method.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. NNLS
  2. SerializableLogging
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NNLS(maxIters: Int = -1)

    maxIters

    user defined maximum iterations

Type Members

  1. type BDM = DenseMatrix[Double]
  2. type BDV = DenseVector[Double]
  3. case class State extends Product with Serializable

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate() @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def initialize(n: Int): State

    Solve a least squares problem, possibly with nonnegativity constraints, by a modified projected gradient method.

    Solve a least squares problem, possibly with nonnegativity constraints, by a modified projected gradient method. That is, find x minimising ||Ax - b||_2 given AT A and AT b.

    We solve the problem min_x 1/2 x' ata x' - x'atb subject to x >= 0

    The method used is similar to one described by Polyak (B. T. Polyak, The conjugate gradient method in extremal problems, Zh. Vychisl. Mat. Mat. Fiz. 9(4)(1969), pp. 94-112) for bound- constrained nonlinear programming. Polyak unconditionally uses a conjugate gradient direction, however, while this method only uses a conjugate gradient direction if the last iteration did not cause a previously-inactive constraint to become active.

  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def logger: LazyLogger
    Attributes
    protected
    Definition Classes
    SerializableLogging
  13. val maxIters: Int
  14. def minimize(ata: DenseMatrix[Double], atb: DenseVector[Double], init: State): DenseVector[Double]
  15. def minimize(ata: DenseMatrix[Double], atb: DenseVector[Double]): DenseVector[Double]
  16. def minimizeAndReturnState(ata: DenseMatrix[Double], atb: DenseVector[Double]): State
  17. def minimizeAndReturnState(ata: DenseMatrix[Double], atb: DenseVector[Double], initialState: State, resetState: Boolean = true): State

    minimizeAndReturnState allows users to hot start the solver using initialState.

    minimizeAndReturnState allows users to hot start the solver using initialState. If a initialState is provided and resetState is set to false, the optimizer will hot start using the previous state. By default resetState is true and every time reset will be called on the incoming state

    ata

    gram matrix

    atb

    linear term

    initialState

    initial state for calling the solver from inner loops

    resetState

    reset the state based on the flag

    returns

    converged state

  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  21. def reset(ata: DenseMatrix[Double], atb: DenseVector[Double], state: State): State
  22. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

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

    (Since version ) see corresponding Javadoc for more information.

Inherited from SerializableLogging

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped