final class DenseMatrix[V] extends Matrix[V] with MatrixLike[V, DenseMatrix[V]] with Serializable
A DenseMatrix is a matrix with all elements found in an array. It is column major unless isTranspose is true, It is designed to be fast: Double- (and potentially Float-)valued DenseMatrices can be used with blas, and support operations to that effect.
- Annotations
- @SerialVersionUID()
- Alphabetic
- By Inheritance
- DenseMatrix
- Serializable
- Matrix
- MatrixLike
- Tensor
- TensorLike
- NumericOps
- ImmutableNumericOps
- QuasiTensor
- HasOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new DenseMatrix(rows: Int, data: Array[V], offset: Int)
Creates a matrix with the specified data array and rows.
Creates a matrix with the specified data array and rows. columns inferred automatically
- new DenseMatrix(rows: Int, cols: Int, data: Array[V])
Creates a matrix with the specified data array, rows, and columns.
Creates a matrix with the specified data array, rows, and columns. Data must be column major
- new DenseMatrix(rows: Int, cols: Int, data: Array[V], offset: Int)
Creates a matrix with the specified data array, rows, and columns.
Creates a matrix with the specified data array, rows, and columns. Data must be column major
- new DenseMatrix(rows: Int, cols: Int)(implicit man: ClassTag[V])
Creates a matrix with the specified data array, rows, and columns.
- new DenseMatrix(rows: Int, cols: Int, data: Array[V], offset: Int, majorStride: Int, isTranspose: Boolean = false)
- rows
number of rows
- cols
number of cols
- data
The underlying data. Column-major unless isTranpose is true. Mutate at your own risk. Note that this matrix may be a view of the data. Use linearIndex(r,c) to calculate indices.
- offset
starting point into array
- majorStride
distance separating columns (or rows, for isTranspose). should have absolute value >= rows (or cols, for isTranspose)
- isTranspose
if true, then the matrix is considered to be "transposed" (that is, row major)
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def %[B, That](b: B)(implicit op: operators.OpMod.Impl2[DenseMatrix[V], B, That]): That
Alias for :%(b) when b is a scalar.
Alias for :%(b) when b is a scalar.
- Definition Classes
- ImmutableNumericOps
- final def %:%[B, That](b: B)(implicit op: operators.OpMod.Impl2[DenseMatrix[V], B, That]): That
Element-wise modulo of this and b.
Element-wise modulo of this and b.
- Definition Classes
- ImmutableNumericOps
- final def %=[B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Alias for :%=(b) when b is a scalar.
Alias for :%=(b) when b is a scalar.
- Definition Classes
- NumericOps
- final def &[B, That](b: B)(implicit op: operators.OpAnd.Impl2[DenseMatrix[V], B, That]): That
Alias for &:&(b) for all b.
Alias for &:&(b) for all b.
- Definition Classes
- ImmutableNumericOps
- final def &:&[B, That](b: B)(implicit op: operators.OpAnd.Impl2[DenseMatrix[V], 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 &=[B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 *[B, That](b: B)(implicit op: operators.OpMulMatrix.Impl2[DenseMatrix[V], B, That]): That
Matrix multiplication
Matrix multiplication
- Definition Classes
- ImmutableNumericOps
- final def *:*[B, That](b: B)(implicit op: operators.OpMulScalar.Impl2[DenseMatrix[V], B, That]): That
Element-wise product of this and b.
Element-wise product of this and b.
- Definition Classes
- ImmutableNumericOps
- final def *=[B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Alias for :*=(b) when b is a scalar.
Alias for :*=(b) when b is a scalar.
- Definition Classes
- NumericOps
- final def +[B, C, That](b: B)(implicit op: operators.OpAdd.Impl2[DenseMatrix[V], B, That]): That
Alias for :+(b) for all b.
Alias for :+(b) for all b.
- Definition Classes
- NumericOps
- final def +:+[B, That](b: B)(implicit op: operators.OpAdd.Impl2[DenseMatrix[V], B, That]): That
Element-wise sum of this and b.
Element-wise sum of this and b.
- Definition Classes
- ImmutableNumericOps
- final def +=[B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Alias for :+=(b) for all b.
Alias for :+=(b) for all b.
- Definition Classes
- NumericOps
- final def -[B, That](b: B)(implicit op: operators.OpSub.Impl2[DenseMatrix[V], B, That]): That
Alias for -:-(b) for all b.
Alias for -:-(b) for all b.
- Definition Classes
- ImmutableNumericOps
- final def -:-[B, That](b: B)(implicit op: operators.OpSub.Impl2[DenseMatrix[V], B, That]): That
Element-wise difference of this and b.
Element-wise difference of this and b.
- Definition Classes
- ImmutableNumericOps
- final def -=[B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Alias for :-=(b) for all b.
Alias for :-=(b) for all b.
- Definition Classes
- NumericOps
- final def /[B, That](b: B)(implicit op: operators.OpDiv.Impl2[DenseMatrix[V], B, That]): That
Alias for :/(b) when b is a scalar.
Alias for :/(b) when b is a scalar.
- Definition Classes
- ImmutableNumericOps
- final def /:/[B, That](b: B)(implicit op: operators.OpDiv.Impl2[DenseMatrix[V], B, That]): That
Element-wise quotient of this and b.
Element-wise quotient of this and b.
- Definition Classes
- ImmutableNumericOps
- final def /=[B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Alias for :/=(b) when b is a scalar.
Alias for :/=(b) when b is a scalar.
- Definition Classes
- NumericOps
- final def :!=[B, That](b: B)(implicit op: operators.OpNe.Impl2[DenseMatrix[V], B, That]): That
Element-wise inequality comparator of this and b.
Element-wise inequality comparator of this and b.
- Definition Classes
- ImmutableNumericOps
- final def :%=[B](b: B)(implicit op: operators.OpMod.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :&=[B](b: B)(implicit op: operators.OpAnd.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :*=[B](b: B)(implicit op: operators.OpMulScalar.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :+=[B](b: B)(implicit op: operators.OpAdd.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :-=[B](b: B)(implicit op: operators.OpSub.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :/=[B](b: B)(implicit op: operators.OpDiv.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :=[B](b: B)(implicit op: operators.OpSet.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :==[B, That](b: B)(implicit op: operators.OpEq.Impl2[DenseMatrix[V], B, That]): That
Element-wise equality comparator of this and b.
Element-wise equality comparator of this and b.
- Definition Classes
- ImmutableNumericOps
- final def :^=[B](b: B)(implicit op: operators.OpPow.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :^^=[B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 :|=[B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
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 <:<[B, That](b: B)(implicit op: operators.OpLT.Impl2[DenseMatrix[V], 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 <:=[B, That](b: B)(implicit op: operators.OpLTE.Impl2[DenseMatrix[V], 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 >:=[B, That](b: B)(implicit op: operators.OpGTE.Impl2[DenseMatrix[V], 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 >:>[B, That](b: B)(implicit op: operators.OpGT.Impl2[DenseMatrix[V], 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 \[B, That](b: B)(implicit op: operators.OpSolveMatrixBy.Impl2[DenseMatrix[V], B, That]): That
Shaped solve of this by b.
Shaped solve of this by b.
- Definition Classes
- ImmutableNumericOps
- final def ^:^[B, That](b: B)(implicit op: operators.OpPow.Impl2[DenseMatrix[V], B, That]): That
Element-wise exponentiation of this and b.
Element-wise exponentiation of this and b.
- Definition Classes
- ImmutableNumericOps
- final def ^^[B, That](b: B)(implicit op: operators.OpXor.Impl2[DenseMatrix[V], B, That]): That
Alias for :^^(b) for all b.
Alias for :^^(b) for all b.
- Definition Classes
- ImmutableNumericOps
- final def ^^:^^[B, That](b: B)(implicit op: operators.OpXor.Impl2[DenseMatrix[V], 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 ^^=[B](b: B)(implicit op: operators.OpXor.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Mutates this by element-wise xor of this and b.
Mutates this by element-wise xor of this and b.
- Definition Classes
- NumericOps
- def active: TensorActive[(Int, Int), V, DenseMatrix[V]]
- Definition Classes
- TensorLike
- def activeIterator: Iterator[((Int, Int), V)]
- Definition Classes
- DenseMatrix → QuasiTensor
- def activeKeysIterator: Iterator[(Int, Int)]
- Definition Classes
- DenseMatrix → QuasiTensor
- def activeSize: Int
- Definition Classes
- DenseMatrix → TensorLike
- def activeValuesIterator: Iterator[V]
- Definition Classes
- DenseMatrix → QuasiTensor
- def allVisitableIndicesActive: Boolean
- def apply(row: Int, col: Int): V
- Definition Classes
- DenseMatrix → Matrix
- final def apply(i: (Int, Int)): V
- Definition Classes
- Matrix → TensorLike → QuasiTensor
- def apply[Slice1, Slice2, Result](slice1: Slice1, slice2: Slice2)(implicit canSlice: CanSlice2[DenseMatrix[V], Slice1, Slice2, Result]): Result
Method for slicing that is tuned for Matrices.
Method for slicing that is tuned for Matrices.
- Definition Classes
- TensorLike
- def apply[Result](a: (Int, Int), b: (Int, Int), c: (Int, Int), slice: (Int, Int)*)(implicit canSlice: CanSlice[DenseMatrix[V], Seq[(Int, Int)], Result]): Result
Slice a sequence of elements.
Slice a sequence of elements. Must be at least 2.
- Definition Classes
- TensorLike
- def apply[Slice, Result](slice: Slice)(implicit canSlice: CanSlice[DenseMatrix[V], Slice, Result]): Result
method for slicing a tensor.
method for slicing a tensor. For instance, DenseVectors support efficient slicing by a Range object.
- Definition Classes
- TensorLike
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- val cols: Int
- Definition Classes
- DenseMatrix → Matrix
- def copy: DenseMatrix[V]
- Definition Classes
- DenseMatrix → Matrix
- val data: Array[V]
- def delete(cols: Seq[Int], axis: _1.type): DenseMatrix[V]
- def delete(rows: Seq[Int], axis: _0.type): DenseMatrix[V]
- def delete(col: Int, axis: _1.type): DenseMatrix[V]
- def delete(row: Int, axis: _0.type): DenseMatrix[V]
- final def dot[B, BB >: B, That](b: B)(implicit op: operators.OpMulInner.Impl2[DenseMatrix[V], 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
- Matrix → AnyRef → Any
- def findAll(f: (V) => Boolean): IndexedSeq[(Int, Int)]
Returns all indices k whose value satisfies a predicate.
Returns all indices k whose value satisfies a predicate.
- Definition Classes
- QuasiTensor
- def flatten(view: View = View.Prefer): DenseVector[V]
Converts this matrix to a DenseVector (column-major) If view = true (or View.Require), throws an exception if we cannot return a view.
Converts this matrix to a DenseVector (column-major) If view = true (or View.Require), throws an exception if we cannot return a view. otherwise returns a view. If view == false (or View.Copy) returns a copy If view == View.Prefer (the default), returns a view if possible, otherwise returns a copy.
Views are only possible (if(isTranspose) majorStride == cols else majorStride == rows) == true
- Definition Classes
- DenseMatrix → Matrix
- def forall(fn: (V) => 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
- def forall(fn: ((Int, Int), V) => 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
- def foreachKey[U](fn: ((Int, 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
- def foreachPair[U](fn: ((Int, Int), V) => 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
- def foreachValue[U](fn: (V) => 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- QuasiTensor → AnyRef → Any
- def indexAt(i: Int): Int
- def isActive(i: Int): Boolean
- def isContiguous: Boolean
Returns true if this dense matrix takes up a contiguous segment of the array
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val isTranspose: Boolean
- def iterator: Iterator[((Int, Int), V)]
- Definition Classes
- Matrix → QuasiTensor
- def keySet: Set[(Int, Int)]
- Definition Classes
- Matrix → QuasiTensor
- def keys: TensorKeys[(Int, Int), V, DenseMatrix[V]]
- Definition Classes
- TensorLike
- def keysIterator: Iterator[(Int, Int)]
- Definition Classes
- Matrix → QuasiTensor
- def linearIndex(row: Int, col: Int): Int
Calculates the index into the data array for row and column
- val majorStride: Int
- def map[V2, That](fn: (V) => V2)(implicit canMapValues: CanMapValues[DenseMatrix[V], V, V2, That]): That
- Definition Classes
- MatrixLike
- def mapActivePairs[O, That](f: ((Int, Int), V) => O)(implicit bf: CanMapKeyValuePairs[DenseMatrix[V], (Int, Int), V, O, That]): That
Maps all active key-value pairs values.
Maps all active key-value pairs values.
- Definition Classes
- TensorLike
- def mapActiveValues[O, That](f: (V) => O)(implicit bf: CanMapValues[DenseMatrix[V], V, O, That]): That
Maps all non-zero values.
Maps all non-zero values.
- Definition Classes
- TensorLike
- def mapPairs[O, That](f: ((Int, Int), V) => O)(implicit bf: CanMapKeyValuePairs[DenseMatrix[V], (Int, Int), V, 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
- def mapValues[O, That](f: (V) => O)(implicit bf: CanMapValues[DenseMatrix[V], V, 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
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- val offset: Int
- def pairs: TensorPairs[(Int, Int), V, DenseMatrix[V]]
- Definition Classes
- TensorLike
- def repr: DenseMatrix[V]
- Definition Classes
- DenseMatrix → ImmutableNumericOps
- def reshape(rows: Int, cols: Int, view: View = View.Prefer): DenseMatrix[V]
Reshapes this matrix to have the given number of rows and columns If view = true (or View.Require), throws an exception if we cannot return a view.
Reshapes this matrix to have the given number of rows and columns If view = true (or View.Require), throws an exception if we cannot return a view. otherwise returns a view. If view == false (or View.Copy) returns a copy If view == View.Prefer (the default), returns a view if possible, otherwise returns a copy.
Views are only possible if (!isTranspose && majorStride == rows)
rows * cols must equal size, or cols < 0 && (size / rows * rows == size)
- rows
the number of rows
- cols
the number of columns, or -1 to auto determine based on size and rows
- def rowColumnFromLinearIndex(index: Int): (Int, Int)
- val rows: Int
- Definition Classes
- DenseMatrix → Matrix
- def size: Int
- Definition Classes
- Matrix → TensorLike
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def t[That, Slice1, Result](a: Slice1)(implicit op: CanTranspose[DenseMatrix[V], 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[That, Slice1, Slice2, Result](a: Slice1, b: Slice2)(implicit op: CanTranspose[DenseMatrix[V], 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[That](implicit op: CanTranspose[DenseMatrix[V], That]): That
A transposed view of this object.
A transposed view of this object.
- Definition Classes
- ImmutableNumericOps
- def toArray: Array[V]
Converts this matrix to a flat Array (column-major)
- def toDenseMatrix(implicit cm: ClassTag[V], zero: Zero[V]): DenseMatrix[V]
- Definition Classes
- DenseMatrix → Matrix
- def toDenseVector: DenseVector[V]
Converts this matrix to a DenseVector (column-major)
- def toString(): String
- Definition Classes
- Matrix → AnyRef → Any
- def toString(maxLines: Int = Terminal.terminalHeight - 3, maxWidth: Int = Terminal.terminalWidth): String
- Definition Classes
- Matrix
- final def unary_![That](implicit op: operators.OpNot.Impl[DenseMatrix[V], That]): That
- Definition Classes
- ImmutableNumericOps
- final def unary_-[That](implicit op: operators.OpNeg.Impl[DenseMatrix[V], That]): That
- Definition Classes
- ImmutableNumericOps
- def update(row: Int, col: Int, v: V): Unit
- Definition Classes
- DenseMatrix → Matrix
- final def update(i: (Int, Int), e: V): Unit
- Definition Classes
- Matrix → TensorLike → QuasiTensor
- def valueAt(row: Int, col: Int): V
- def valueAt(i: Int): V
- def values: TensorValues[(Int, Int), V, DenseMatrix[V]]
- Definition Classes
- TensorLike
- def valuesIterator: Iterator[V]
- Definition Classes
- Matrix → QuasiTensor
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def |[B, That](b: B)(implicit op: operators.OpOr.Impl2[DenseMatrix[V], B, That]): That
Alias for :||(b) for all b.
Alias for :||(b) for all b.
- Definition Classes
- ImmutableNumericOps
- final def |:|[B, That](b: B)(implicit op: operators.OpOr.Impl2[DenseMatrix[V], 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 |=[B](b: B)(implicit op: operators.OpOr.InPlaceImpl2[DenseMatrix[V], B]): DenseMatrix[V]
Mutates this by element-wise or of this and b.
Mutates this by element-wise or of this and b.
- Definition Classes
- NumericOps