rank
Computes the rank of a matrix.
The rank of the matrix is computed using the SVD method. The singular values of the SVD which are greater than a specified tolerance are counted.
- Value parameters:
- m
matrix for which to compute the rank
- tol
optional tolerance for singular values. If not supplied, the default tolerance is: max(m.cols, m.rows) * eps * sigma_max, where eps is the machine epsilon and sigma_max is the largest singular value of m.
- Returns:
the rank of the matrix (number of singular values)
Type members
Inherited types
Value members
Inherited methods
final def apply[V1, @specialized(Int, Double, Float) V2, @specialized(Int, Double, Float) V3, @specialized(Int, Double, Float) VR](v1: V1, v2: V2, v3: V3)(implicit impl: Impl3[V1, V2, V3, VR]): VR
- Inherited from:
- UFunc
final def apply[@specialized(Int, Double, Float) V1, @specialized(Int, Double, Float) V2, @specialized(Int, Double, Float) VR](v1: V1, v2: V2)(implicit impl: Impl2[V1, V2, VR]): VR
- Inherited from:
- UFunc
final def apply[@specialized(Int, Double, Float) V, @specialized(Int, Double, Float) VR](v: V)(implicit impl: Impl[V, VR]): VR
- Inherited from:
- UFunc
final def inPlace[V, V2, V3](v: V, v2: V2, v3: V3)(implicit impl: InPlaceImpl3[rank.type, V, V2, V3]): V
- Inherited from:
- UFunc
Implicits
Implicits
implicit def implRankFromSVD[M, S, F](implicit canSVD: Impl[M, SVD[_, S]], maxS: Impl[S, F], travS: CanTraverseValues[S, F], nF: Impl[F, Double]): Impl[M, Int]
implicit def implRankTol[M, S](implicit canSVD: Impl[M, (, S, )], maxS: Impl[S, Double], travS: CanTraverseValues[S, Double]): Impl2[M, Double, Int]