class VectorBuilder[E] extends NumericOps[VectorBuilder[E]] with Serializable
A VectorBuilder is basically an unsorted Sparse Vector. Two parallel arrays are maintained, one of indices, and another of values. The indices are not sorted. Moreover, <B> indices are not unique in the index array. Furthermore, apply(i) and update(i, v) are linear in the number of active values in the array.
+ and - are linear operations: they just append to the end. Component wise multiply, divide, and dot product are also linear, but require creating a HashVector copy. (TODO: maybe a SparseVector?)
In general, these should never be used, except for building, or for doing feature vector type things where you just need a sparse vector with a fast dot product with a "real" vector.
- Annotations
- @SerialVersionUID()
- Alphabetic
- By Inheritance
- VectorBuilder
- Serializable
- Serializable
- NumericOps
- ImmutableNumericOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new VectorBuilder()(implicit ring: Semiring[E], man: ClassTag[E], zero: Zero[E])
- new VectorBuilder(length: Int, initialNonZero: Int = 0)(implicit ring: Semiring[E], man: ClassTag[E], zero: Zero[E])
- new VectorBuilder(_index: Array[Int], _data: Array[E], used: Int, length: Int)(implicit ring: Semiring[E], zero: Zero[E])
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
%[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
%:%[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
%=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[TT, B]): VectorBuilder[E]
Alias for :%=(b) when b is a scalar.
Alias for :%=(b) when b is a scalar.
- Definition Classes
- NumericOps
-
final
def
&[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
&:&[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
&=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise and of this and b.
Mutates this by element-wise and of this and b.
- Definition Classes
- NumericOps
-
final
def
*[TT >: VectorBuilder[E], B, That](b: B)(implicit op: operators.OpMulMatrix.Impl2[TT, B, That]): That
Matrix multiplication
Matrix multiplication
- Definition Classes
- ImmutableNumericOps
-
final
def
*:*[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
*=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[TT, B]): VectorBuilder[E]
Alias for :*=(b) when b is a scalar.
Alias for :*=(b) when b is a scalar.
- Definition Classes
- NumericOps
-
final
def
+[TT >: VectorBuilder[E], B, C, 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
-
final
def
+:+[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
+=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[TT, B]): VectorBuilder[E]
Alias for :+=(b) for all b.
Alias for :+=(b) for all b.
- Definition Classes
- NumericOps
-
final
def
-[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
-:-[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
-=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[TT, B]): VectorBuilder[E]
Alias for :-=(b) for all b.
Alias for :-=(b) for all b.
- Definition Classes
- NumericOps
-
final
def
/[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
/:/[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
/=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[TT, B]): VectorBuilder[E]
Alias for :/=(b) when b is a scalar.
Alias for :/=(b) when b is a scalar.
- Definition Classes
- NumericOps
-
final
def
:!=[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
:%=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise modulo of b into this.
Mutates this by element-wise modulo of b into this.
- Definition Classes
- NumericOps
-
final
def
:&=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise and of this and b.
Mutates this by element-wise and of this and b.
- Definition Classes
- NumericOps
-
final
def
:*=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise multiplication of b into this.
Mutates this by element-wise multiplication of b into this.
- Definition Classes
- NumericOps
-
final
def
:+=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise addition of b into this.
Mutates this by element-wise addition of b into this.
- Definition Classes
- NumericOps
-
final
def
:-=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise subtraction of b from this
Mutates this by element-wise subtraction of b from this
- Definition Classes
- NumericOps
-
final
def
:/=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise division of b into this
Mutates this by element-wise division of b into this
- Definition Classes
- NumericOps
-
final
def
:=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpSet.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise assignment of b into this.
Mutates this by element-wise assignment of b into this.
- Definition Classes
- NumericOps
-
final
def
:==[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
:^=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpPow.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise exponentiation of this by b.
Mutates this by element-wise exponentiation of this by b.
- Definition Classes
- NumericOps
-
final
def
:^^=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise xor of this and b.
Mutates this by element-wise xor of this and b.
- Definition Classes
- NumericOps
-
final
def
:|=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise or of this and b.
Mutates this by element-wise or of this and b.
- Definition Classes
- NumericOps
-
final
def
<:<[TT >: VectorBuilder[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
-
final
def
<:=[TT >: VectorBuilder[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
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
>:=[TT >: VectorBuilder[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
-
final
def
>:>[TT >: VectorBuilder[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
-
def
\[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
^:^[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
^^[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
^^:^^[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
^^=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise xor of this and b.
Mutates this by element-wise xor of this and b.
- Definition Classes
- NumericOps
- def activeIterator: Iterator[(Int, E)]
- def activeKeysIterator: Iterator[Int]
- def activeSize: Int
- def activeValuesIterator: Iterator[E]
- def add(i: Int, v: E): Unit
-
def
allVisitableIndicesActive: Boolean
Only gives true if isActive would return true for all i.
Only gives true if isActive would return true for all i. (May be false anyway)
- def apply(i: Int): E
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clear(): Unit
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
- def compact(): Unit
- def contains(i: Int): Boolean
- def copy: VectorBuilder[E]
- def data: Array[E]
-
def
default: E
This is always assumed to be equal to 0, for now.
-
final
def
dot[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(p1: Any): Boolean
- Definition Classes
- VectorBuilder → AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def index: Array[Int]
-
def
indexAt(i: Int): Int
Gives the logical index from the physical index.
- def isActive(rawIndex: Int): Boolean
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- var length: Int
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
repr: VectorBuilder[E]
- Definition Classes
- VectorBuilder → ImmutableNumericOps
- def reserve(nnz: Int): Unit
- def size: Int
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
t[TT >: VectorBuilder[E], That, Slice1, Result](a: Slice1)(implicit op: CanTranspose[TT, 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
-
final
def
t[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
t[TT >: VectorBuilder[E], That](implicit op: CanTranspose[TT, That]): That
A transposed view of this object.
A transposed view of this object.
- Definition Classes
- ImmutableNumericOps
- def toDenseVector: DenseVector[E]
- def toHashVector: HashVector[E]
- def toSparseVector(alreadySorted: Boolean = false, keysAlreadyUnique: Boolean = false): SparseVector[E]
- def toSparseVector: SparseVector[E]
-
def
toString(): String
- Definition Classes
- VectorBuilder → AnyRef → Any
- def toVector: StorageVector[E] with Serializable { ... /* 2 definitions in type refinement */ }
-
final
def
unary_![TT >: VectorBuilder[E], That](implicit op: operators.OpNot.Impl[TT, That]): That
- Definition Classes
- ImmutableNumericOps
-
final
def
unary_-[TT >: VectorBuilder[E], That](implicit op: operators.OpNeg.Impl[TT, That]): That
- Definition Classes
- ImmutableNumericOps
- def update(i: Int, v: E): Unit
-
def
use(index: Array[Int], data: Array[E], activeSize: Int): Unit
Sets the underlying sparse array to use this data
Sets the underlying sparse array to use this data
- index
must be a sorted list of indices
- data
values corresponding to the index
- activeSize
number of active elements. The first activeSize will be used.
-
def
valueAt(i: Int): E
same as data(i).
same as data(i). Gives the value at the underlying offset.
- i
index into the data array
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- def zerosLike: VectorBuilder[E]
-
final
def
|[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
|:|[TT >: VectorBuilder[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
- ImmutableNumericOps
-
final
def
|=[TT >: VectorBuilder[E], B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[TT, B]): VectorBuilder[E]
Mutates this by element-wise or of this and b.
Mutates this by element-wise or of this and b.
- Definition Classes
- NumericOps