object LU extends UFunc
Computes the LU factorization of the given real M-by-N matrix X such that X = P * L * U where P is a permutation matrix (row exchanges).
- Alphabetic
- By Inheritance
- LU
- UFunc
- HasOps
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type DenseLU[T] = LU[DenseMatrix[T]]
- type Impl[V, VR] = UImpl[linalg.LU.this.type, V, VR]
- Definition Classes
- UFunc
- type Impl2[V1, V2, VR] = UImpl2[linalg.LU.this.type, V1, V2, VR]
- Definition Classes
- UFunc
- type Impl3[V1, V2, V3, VR] = UImpl3[linalg.LU.this.type, V1, V2, V3, VR]
- Definition Classes
- UFunc
- type Impl4[V1, V2, V3, V4, VR] = UImpl4[linalg.LU.this.type, V1, V2, V3, V4, VR]
- Definition Classes
- UFunc
- type InPlaceImpl[V] = generic.UFunc.InPlaceImpl[linalg.LU.this.type, V]
- Definition Classes
- UFunc
- type InPlaceImpl2[V1, V2] = generic.UFunc.InPlaceImpl2[linalg.LU.this.type, V1, V2]
- Definition Classes
- UFunc
- type InPlaceImpl3[V1, V2, V3] = generic.UFunc.InPlaceImpl3[linalg.LU.this.type, V1, V2, V3]
- Definition Classes
- UFunc
- case class LU[M](P: M, L: M, U: M) extends Product with Serializable
- type SinkImpl[S, V] = generic.UFunc.SinkImpl[linalg.LU.this.type, S, V]
- Definition Classes
- UFunc
- type SinkImpl2[S, V1, V2] = generic.UFunc.SinkImpl2[linalg.LU.this.type, S, V1, V2]
- Definition Classes
- UFunc
- type SinkImpl3[S, V1, V2, V3] = generic.UFunc.SinkImpl3[linalg.LU.this.type, S, V1, V2, V3]
- Definition Classes
- UFunc
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def apply[V1, V2, V3, V4, VR](v1: V1, v2: V2, v3: V3, v4: V4)(implicit impl: Impl4[V1, V2, V3, V4, VR]): VR
- Definition Classes
- UFunc
- final def apply[V1, V2, V3, VR](v1: V1, v2: V2, v3: V3)(implicit impl: Impl3[V1, V2, V3, VR]): VR
- Definition Classes
- UFunc
- final def apply[V1, V2, VR](v1: V1, v2: V2)(implicit impl: Impl2[V1, V2, VR]): VR
- Definition Classes
- UFunc
- final def apply[V, VR](v: V)(implicit impl: Impl[V, VR]): VR
- Definition Classes
- UFunc
- 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()
- def createPermutationMatrix[T](ipiv: Array[Int], rows: Int, cols: Int)(implicit arg0: ClassTag[T], arg1: Semiring[T]): DenseMatrix[T]
Creates the permutation matrix from the IPIV (pivot) vector result from LAPACK Traditionally, the decomposition is represented as P * X = L * U Thus for a matrix with R rows and C columns, the matrix P should be of size RxR in order to preserve the original dimension of the matrix X.
Creates the permutation matrix from the IPIV (pivot) vector result from LAPACK Traditionally, the decomposition is represented as P * X = L * U Thus for a matrix with R rows and C columns, the matrix P should be of size RxR in order to preserve the original dimension of the matrix X.
- ipiv
- The pivot vector returned from LAPACK
- rows
- The number of rows in the X matrix
- cols
- The number of columns in the X matrix
- returns
The permutation matrix, P from the LU decomposition of the form (P * X = L * U) size RxR
- def decompose[T](X: DenseMatrix[T], ipiv: Array[Int])(implicit arg0: Semiring[T], arg1: ClassTag[T]): DenseLU[T]
Decomposes the output of the LAPACK LU decomposition
Decomposes the output of the LAPACK LU decomposition
- X
- The packed upper/lower matrices from LAPACK
- ipiv
- The pivot vector from LAPACK
- returns
(DenseMatrix, DenseMatrix, DenseMatrix) - Three matrices P, L, and U which give the original matrix when multiplied together i.e X, ipiv = LU(A), P, L, U = decompose(X, ipiv), P * L * U = A
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit def fromPrimitiveDecomposition[T, U](implicit prim: LU.primitive.Impl[DenseMatrix[T], (DenseMatrix[U], Array[Int])], ct: ClassTag[U], semi: Semiring[U]): Impl[DenseMatrix[T], DenseLU[U]]
- implicit def fromPrimitiveDecompositionSimple[T](implicit prim: LU.primitive.Impl[DenseMatrix[T], (DenseMatrix[T], Array[Int])], ct: ClassTag[T], semi: Semiring[T]): Impl[DenseMatrix[T], DenseLU[T]]
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def inPlace[V, V2, V3](v: V, v2: V2, v3: V3)(implicit impl: generic.UFunc.InPlaceImpl3[linalg.LU.this.type, V, V2, V3]): V
- Definition Classes
- UFunc
- final def inPlace[V, V2](v: V, v2: V2)(implicit impl: generic.UFunc.InPlaceImpl2[linalg.LU.this.type, V, V2]): V
- Definition Classes
- UFunc
- final def inPlace[V](v: V)(implicit impl: generic.UFunc.InPlaceImpl[linalg.LU.this.type, V]): V
- Definition Classes
- UFunc
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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 withSink[S](s: S): WithSinkHelp[linalg.LU.this.type, S]
- Definition Classes
- UFunc
- object primitive extends UFunc
Returns the raw lapack result, which is more memory efficient, but harder to work with.
Returns the raw lapack result, which is more memory efficient, but harder to work with.
Upon completion, a tuple consisting of a matrix A and an integer array P.
The upper triangular portion of A resembles U whereas the lower triangular portion of A resembles L up to but not including the diagonal elements of L which are all equal to 1.
For 0 <= i < M, each element P(i) denotes whether row i of the matrix X was exchanged with row P(i) - 1 during computation (the offset is caused by the internal call to LAPACK).