rank

object rank extends UFunc

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 Params
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)

trait UFunc
trait HasOps
class Object
trait Matchable
class Any

Type members

Inherited types

type Impl[V, VR] = UImpl[UFunc, V, VR]
Inherited from
UFunc
type Impl2[V1, V2, VR] = UImpl2[UFunc, V1, V2, VR]
Inherited from
UFunc
type Impl3[V1, V2, V3, VR] = UImpl3[UFunc, V1, V2, V3, VR]
Inherited from
UFunc
type Impl4[V1, V2, V3, V4, VR] = UImpl4[UFunc, V1, V2, V3, V4, VR]
Inherited from
UFunc
Inherited from
UFunc
type InPlaceImpl2[V1, V2] = InPlaceImpl2[UFunc, V1, V2]
Inherited from
UFunc
type InPlaceImpl3[V1, V2, V3] = InPlaceImpl3[UFunc, V1, V2, V3]
Inherited from
UFunc
type SinkImpl[S, V] = SinkImpl[UFunc, S, V]
Inherited from
UFunc
type SinkImpl2[S, V1, V2] = SinkImpl2[UFunc, S, V1, V2]
Inherited from
UFunc
type SinkImpl3[S, V1, V2, V3] = SinkImpl3[UFunc, S, V1, V2, V3]
Inherited from
UFunc

Value members

Inherited methods

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
Inherited from
UFunc
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, V, V2, V3]): V
Inherited from
UFunc
final def inPlace[V, V2](v: V, v2: V2)(implicit impl: InPlaceImpl2[rank, V, V2]): V
Inherited from
UFunc
final def inPlace[V](v: V)(implicit impl: InPlaceImpl[rank, V]): V
Inherited from
UFunc
final def withSink[S](s: S): WithSinkHelp[rank, S]
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]