breeze.linalg

NormCacheDecorator

class NormCacheDecorator[E] extends Vector[E]

This decorator automatically caches the norm and sums of a vector and invalidates the cache whenever the vector is updated. It can be applied to any Vector such as DenseVector or SparseVector. Calls for the norm or sum after the initial request will have a O(1) run time. Calls to update will have a slight constant overhead used to invalidate the cache. This wrapper is especially beneficial for vectors that are rarely updated but frequently use the aggregate values, such as in cosine similarity.

Note that changing the backing datastructure of the Vector without using update will produce undefined behavior.

Linear Supertypes
Vector[E], VectorLike[E, Vector[E]], Tensor[Int, E], TensorLike[Int, E, Vector[E]], NumericOps[Vector[E]], QuasiTensor[Int, E], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. NormCacheDecorator
  2. Vector
  3. VectorLike
  4. Tensor
  5. TensorLike
  6. NumericOps
  7. QuasiTensor
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new NormCacheDecorator(vector: Vector[E])

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 %[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpMod.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  5. final def %=[TT >: Vector[E], B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  6. final def &[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpAnd.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  7. final def &=[TT >: Vector[E], B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  8. final def *[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpMulMatrix.Impl2[TT, B, That]): That

    Matrix multiplication

    Matrix multiplication

    Definition Classes
    NumericOps
  9. final def *=[TT >: Vector[E], B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  10. final def +[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpAdd.Impl2[TT, B, That]): That

    Alias for :+(b) for all b.

    Alias for :+(b) for all b.

    Definition Classes
    NumericOps
  11. final def +=[TT >: Vector[E], B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  12. final def -[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpSub.Impl2[TT, B, That]): That

    Alias for :-(b) for all b.

    Alias for :-(b) for all b.

    Definition Classes
    NumericOps
  13. final def -=[TT >: Vector[E], B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  14. final def /[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpDiv.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  15. final def /=[TT >: Vector[E], B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  16. final def :!=[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpNe.Impl2[TT, B, That]): That

    Element-wise inequality comparator of this and b.

    Element-wise inequality comparator of this and b.

    Definition Classes
    NumericOps
  17. final def :%[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpMod.Impl2[TT, B, That]): That

    Element-wise modulo of this and b.

    Element-wise modulo of this and b.

    Definition Classes
    NumericOps
  18. final def :%=[TT >: Vector[E], B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  19. final def :&[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpAnd.Impl2[TT, 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
    NumericOps
  20. final def :&=[TT >: Vector[E], B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  21. final def :*[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpMulScalar.Impl2[TT, B, That]): That

    Element-wise product of this and b.

    Element-wise product of this and b.

    Definition Classes
    NumericOps
  22. final def :*=[TT >: Vector[E], B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  23. final def :+[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpAdd.Impl2[TT, B, That]): That

    Element-wise sum of this and b.

    Element-wise sum of this and b.

    Definition Classes
    NumericOps
  24. final def :+=[TT >: Vector[E], B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  25. final def :-[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpSub.Impl2[TT, B, That]): That

    Element-wise difference of this and b.

    Element-wise difference of this and b.

    Definition Classes
    NumericOps
  26. final def :-=[TT >: Vector[E], B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[TT, B]): Vector[E]

    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 :/[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpDiv.Impl2[TT, B, That]): That

    Element-wise quotient of this and b.

    Element-wise quotient of this and b.

    Definition Classes
    NumericOps
  28. final def :/=[TT >: Vector[E], B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[TT, B]): Vector[E]

    Mutates this by element-wise division of b into this

    Mutates this by element-wise division of b into this

    Definition Classes
    NumericOps
  29. final def :<[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpLT.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  30. final def :<=[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpLTE.Impl2[TT, 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
  31. final def :=[TT >: Vector[E], B](b: B)(implicit op: operators.OpSet.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  32. final def :==[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpEq.Impl2[TT, B, That]): That

    Element-wise equality comparator of this and b.

    Element-wise equality comparator of this and b.

    Definition Classes
    NumericOps
  33. final def :>[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpGT.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  34. final def :>=[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpGTE.Impl2[TT, 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
  35. final def :^[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpPow.Impl2[TT, B, That]): That

    Element-wise exponentiation of this and b.

    Element-wise exponentiation of this and b.

    Definition Classes
    NumericOps
  36. final def :^=[TT >: Vector[E], B](b: B)(implicit op: operators.OpPow.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  37. final def :^^[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpXor.Impl2[TT, 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
    NumericOps
  38. final def :^^=[TT >: Vector[E], B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  39. final def :|[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpOr.Impl2[TT, 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
    NumericOps
  40. final def :|=[TT >: Vector[E], B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  41. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  43. def \[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpSolveMatrixBy.Impl2[TT, B, That]): That

    Shaped solve of this by b.

    Shaped solve of this by b.

    Definition Classes
    NumericOps
  44. final def ^^[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpXor.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  45. final def ^^=[TT >: Vector[E], B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[TT, B]): Vector[E]

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

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

    Definition Classes
    NumericOps
  46. def active: TensorActive[Int, E, Vector[E]]

    Definition Classes
    TensorLike
  47. def activeIterator: Iterator[(Int, E)]

    Definition Classes
    NormCacheDecoratorQuasiTensor
  48. def activeKeysIterator: Iterator[Int]

    Definition Classes
    NormCacheDecoratorQuasiTensor
  49. def activeSize: Int

    Definition Classes
    NormCacheDecoratorTensorLike
  50. def activeValuesIterator: Iterator[E]

    Definition Classes
    NormCacheDecoratorQuasiTensor
  51. def apply(i: Int): E

    Definition Classes
    NormCacheDecoratorTensorLikeQuasiTensor
  52. def apply[Slice1, Slice2, Result](slice1: Slice1, slice2: Slice2)(implicit canSlice: CanSlice2[Vector[E], Slice1, Slice2, Result]): Result

    Method for slicing that is tuned for Matrices.

    Method for slicing that is tuned for Matrices.

    returns

    Definition Classes
    TensorLike
  53. def apply[Result](a: Int, slice: Int*)(implicit canSlice: CanSlice[Vector[E], Seq[Int], Result]): Result

    Slice a sequence of elements.

    Slice a sequence of elements. Must be at least 2.

    Result
    a
    slice
    canSlice
    returns

    Definition Classes
    TensorLike
  54. def apply[Slice, Result](slice: Slice)(implicit canSlice: CanSlice[Vector[E], Slice, Result]): Result

    method for slicing a tensor.

    method for slicing a tensor. For instance, DenseVectors support efficient slicing by a Range object.

    returns

    Definition Classes
    TensorLike
  55. def argmax(implicit ord: Ordering[E]): Int

    Definition Classes
    QuasiTensor
  56. def argmin(implicit ord: Ordering[E]): Int

    Definition Classes
    QuasiTensor
  57. def argsort(implicit ord: Ordering[E]): IndexedSeq[Int]

    Definition Classes
    QuasiTensor
  58. def argtopk(k: Int)(implicit ordering: Ordering[E]): IndexedSeq[Int]

    Returns the k indices with maximum value.

    Returns the k indices with maximum value. (NOT absolute value.)

    k

    how many to return

    ordering
    returns

    Definition Classes
    QuasiTensor
  59. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  60. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. def copy: Vector[E]

    Definition Classes
    NormCacheDecoratorVectorLike
  62. final def dot[TT >: Vector[E], B, BB >: B, That](b: B)(implicit op: operators.OpMulInner.Impl2[TT, BB, That]): That

    Inner product of this and b.

    Inner product of this and b.

    Definition Classes
    NumericOps
  63. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  64. def equals(p1: Any): Boolean

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

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  66. def findAll(f: (E) ⇒ Boolean): IndexedSeq[Int]

    Returns all indices k whose value satisfies a predicate.

    Returns all indices k whose value satisfies a predicate.

    Definition Classes
    QuasiTensor
  67. def forall(fn: (Int, E) ⇒ Boolean): Boolean

    Returns true if and only if the given predicate is true for all elements.

    Returns true if and only if the given predicate is true for all elements.

    Definition Classes
    TensorLike
  68. def forallValues(fn: (E) ⇒ Boolean): Boolean

    Returns true if and only if the given predicate is true for all elements.

    Returns true if and only if the given predicate is true for all elements.

    Definition Classes
    TensorLike
  69. def foreach[U](fn: (E) ⇒ U): Unit

    Definition Classes
    VectorLike
  70. def foreachKey[U](fn: (Int) ⇒ U): Unit

    Applies the given function to each key in the tensor.

    Applies the given function to each key in the tensor.

    Definition Classes
    TensorLike
  71. def foreachPair[U](fn: (Int, E) ⇒ U): Unit

    Applies the given function to each key and its corresponding value.

    Applies the given function to each key and its corresponding value.

    Definition Classes
    TensorLike
  72. def foreachValue[U](fn: (E) ⇒ U): Unit

    Applies the given function to each value in the map (one for each element of the domain, including zeros).

    Applies the given function to each value in the map (one for each element of the domain, including zeros).

    Definition Classes
    TensorLike
  73. final def getClass(): Class[_]

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

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

    Definition Classes
    Any
  76. def iterator: Iterator[(Int, E)]

    Definition Classes
    VectorQuasiTensor
  77. def keySet: Set[Int]

    returns

    the set of keys in this vector (0 until length)

    Definition Classes
    VectorQuasiTensor
  78. def keys: TensorKeys[Int, E, Vector[E]]

    Definition Classes
    TensorLike
  79. def keysIterator: Iterator[Int]

    Definition Classes
    VectorQuasiTensor
  80. def length: Int

    Definition Classes
    NormCacheDecoratorVector
  81. def map[E2, That](fn: (E) ⇒ E2)(implicit canMapValues: CanMapValues[Vector[E], E, E2, That]): That

    Definition Classes
    VectorLike
  82. def mapActivePairs[TT >: Vector[E], O, That](f: (Int, E) ⇒ O)(implicit bf: CanMapKeyValuePairs[TT, Int, E, O, That]): That

    Maps all active key-value pairs values.

    Maps all active key-value pairs values.

    Definition Classes
    TensorLike
  83. def mapActiveValues[TT >: Vector[E], O, That](f: (E) ⇒ O)(implicit bf: CanMapValues[TT, E, O, That]): That

    Maps all non-zero values.

    Maps all non-zero values.

    Definition Classes
    TensorLike
  84. def mapPairs[TT >: Vector[E], O, That](f: (Int, E) ⇒ O)(implicit bf: CanMapKeyValuePairs[TT, Int, E, O, That]): That

    Creates a new map containing a transformed copy of this map.

    Creates a new map containing a transformed copy of this map.

    Definition Classes
    TensorLike
  85. def mapValues[TT >: Vector[E], O, That](f: (E) ⇒ O)(implicit bf: CanMapValues[TT, E, O, That]): That

    Creates a new map containing a transformed copy of this map.

    Creates a new map containing a transformed copy of this map.

    Definition Classes
    TensorLike
  86. def max(implicit ord: Ordering[E]): E

    Definition Classes
    QuasiTensor
  87. def min(implicit ord: Ordering[E]): E

    Definition Classes
    QuasiTensor
  88. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  89. final def norm[TT >: Vector[E], B, R](b: B)(implicit op: norm.Impl2[TT, B, R]): R

    Represents the norm of this vector

    Represents the norm of this vector

    Definition Classes
    NumericOps
  90. final def norm[TT >: Vector[E], R]()(implicit op: norm.Impl[TT, R]): R

    Represents the "natural" norm of this vector, for types that don't support arbitrary norms

    Represents the "natural" norm of this vector, for types that don't support arbitrary norms

    Definition Classes
    NumericOps
  91. var normCache: Map[Double, Double]

  92. final def notify(): Unit

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

    Definition Classes
    AnyRef
  94. def pairs: TensorPairs[Int, E, Vector[E]]

    Definition Classes
    TensorLike
  95. def repr: Vector[E]

    Definition Classes
    NormCacheDecoratorNumericOps
  96. def size: Int

    Definition Classes
    VectorTensorLike
  97. def sum(implicit num: Numeric[E]): E

    Definition Classes
    NormCacheDecoratorQuasiTensor
  98. var sumCache: Option[E]

  99. var sweep: Boolean

  100. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  101. final def t[TT >: Vector[E], That, Slice1, Slice2, Result](a: Slice1, b: Slice2)(implicit op: CanTranspose[TT, 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
    NumericOps
  102. final def t[TT >: Vector[E], That](implicit op: CanTranspose[TT, That]): That

    A transposed view of this object.

    A transposed view of this object.

    Definition Classes
    NumericOps
  103. def toArray(implicit cm: ClassTag[E]): Array[E]

    Definition Classes
    Vector
  104. def toDenseVector(implicit cm: ClassTag[E]): DenseVector[E]

    Definition Classes
    Vector
  105. def toString(): String

    Definition Classes
    AnyRef → Any
  106. final def unary_![TT >: Vector[E], That](implicit op: operators.OpNot.Impl[TT, That]): That

    Definition Classes
    NumericOps
  107. final def unary_-[TT >: Vector[E], That](implicit op: operators.OpNeg.Impl[TT, That]): That

    Definition Classes
    NumericOps
  108. def update(i: Int, v: E): Unit

    Invalidates the cache and then updates the value at index i with value v.

    Invalidates the cache and then updates the value at index i with value v.

    Definition Classes
    NormCacheDecoratorTensorLikeQuasiTensor
  109. def values: TensorValues[Int, E, Vector[E]]

    Definition Classes
    TensorLike
  110. def valuesIterator: Iterator[E]

    Definition Classes
    VectorQuasiTensor
  111. val vector: Vector[E]

  112. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  115. final def |[TT >: Vector[E], B, That](b: B)(implicit op: operators.OpOr.Impl2[TT, B, That]): That

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

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

    Definition Classes
    NumericOps
  116. final def |=[TT >: Vector[E], B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[TT, B]): Vector[E]

    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 all(implicit semi: Semiring[E]): Boolean

    Returns true if all elements are non-zero

    Returns true if all elements are non-zero

    Definition Classes
    QuasiTensor
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6) Use breeze.linalg.all instead

  2. def any(implicit semi: Semiring[E]): Boolean

    Returns true if some element is non-zero

    Returns true if some element is non-zero

    Definition Classes
    QuasiTensor
    Annotations
    @deprecated
    Deprecated

    (Since version 0.6) Use breeze.linalg.any instead

Inherited from Vector[E]

Inherited from VectorLike[E, Vector[E]]

Inherited from Tensor[Int, E]

Inherited from TensorLike[Int, E, Vector[E]]

Inherited from NumericOps[Vector[E]]

Inherited from QuasiTensor[Int, E]

Inherited from AnyRef

Inherited from Any

Ungrouped