object pinv extends UFunc with pinvLowPrio
Computes the Moore-Penrose pseudo inverse of the given real matrix X.
The pseudo inverse is nothing but the least-squares solution to AX=B, hence: d/dX 1/2 (AX-B)2 = AT (AX-B) Solving AT (AX-B) = 0 for X yields AT AX = A^T B
> X
- Alphabetic
- By Inheritance
- pinv
- pinvLowPrio
- UFunc
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Impl[V, VR] = UImpl[pinv.this.type, V, VR]
- Definition Classes
- UFunc
- type Impl2[V1, V2, VR] = UImpl2[pinv.this.type, V1, V2, VR]
- Definition Classes
- UFunc
- type Impl3[V1, V2, V3, VR] = UImpl3[pinv.this.type, V1, V2, V3, VR]
- Definition Classes
- UFunc
- type Impl4[V1, V2, V3, V4, VR] = UImpl4[pinv.this.type, V1, V2, V3, V4, VR]
- Definition Classes
- UFunc
- type InPlaceImpl[V] = generic.UFunc.InPlaceImpl[pinv.this.type, V]
- Definition Classes
- UFunc
- type InPlaceImpl2[V1, V2] = generic.UFunc.InPlaceImpl2[pinv.this.type, V1, V2]
- Definition Classes
- UFunc
- type InPlaceImpl3[V1, V2, V3] = generic.UFunc.InPlaceImpl3[pinv.this.type, V1, V2, V3]
- Definition Classes
- UFunc
- type SinkImpl[S, V] = generic.UFunc.SinkImpl[pinv.this.type, S, V]
- Definition Classes
- UFunc
- type SinkImpl2[S, V1, V2] = generic.UFunc.SinkImpl2[pinv.this.type, S, V1, V2]
- Definition Classes
- UFunc
- type SinkImpl3[S, V1, V2, V3] = generic.UFunc.SinkImpl3[pinv.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
- implicit def canZipMapValuesImpl[T, V1, VR, U](implicit handhold: ScalarOf[T, V1], impl: Impl2[V1, V1, VR], canZipMapValues: CanZipMapValues[T, V1, VR, U]): Impl2[T, T, U]
- Definition Classes
- UFunc
- def clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit def implFromTransposeAndSolve[T, TransT, MulRes, Result](implicit numericT: (T) => NumericOps[T], trans: CanTranspose[T, TransT], numericTrans: (TransT) => NumericOps[TransT], mul: operators.OpMulMatrix.Impl2[TransT, T, MulRes], numericMulRes: (MulRes) => NumericOps[MulRes], solve: operators.OpSolveMatrixBy.Impl2[MulRes, TransT, Result]): Impl[T, Result]
pinv for anything that can be transposed, multiplied with that transposed, and then solved.
pinv for anything that can be transposed, multiplied with that transposed, and then solved. This signature looks intense, but take it one step at a time.
- T
the type of matrix
- TransT
the transpose of that matrix
- MulRes
the result of TransT * T
- Result
the result of MulRes \ TransT
- numericT
: Do I support operators
- trans
: Can I be transposed?
- numericTrans
: Does my transpose support operators
- mul
: Can I multiply T and TransT?
- numericMulRes
: Does the result of that multiplication support operators?
- solve
: Can I solve the system of equations MulRes * x = TransT
- Definition Classes
- pinvLowPrio
- final def inPlace[V, V2, V3](v: V, v2: V2, v3: V3)(implicit impl: generic.UFunc.InPlaceImpl3[pinv.this.type, V, V2, V3]): V
- Definition Classes
- UFunc
- final def inPlace[V, V2](v: V, v2: V2)(implicit impl: generic.UFunc.InPlaceImpl2[pinv.this.type, V, V2]): V
- Definition Classes
- UFunc
- final def inPlace[V](v: V)(implicit impl: generic.UFunc.InPlaceImpl[pinv.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() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- implicit val pinvFromSVD_Double: Impl[DenseMatrix[Double], DenseMatrix[Double]]
- implicit val pinvFromSVD_Float: Impl[DenseMatrix[Float], DenseMatrix[Float]]
- 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[pinv.this.type, S]
- Definition Classes
- UFunc