# [−][src]Function arrayfire::svd_inplace

pub fn svd_inplace<T>(    input: &mut Array<T>) -> (Array<T>, Array<T::BaseType>, Array<T>) where    T: HasAfEnum + FloatingPoint,    T::BaseType: HasAfEnum,

Perform Singular Value Decomposition inplace

This function factorizes a matrix A into two unitary matrices U and Vt, and a diagonal matrix S such that

A = U∗S∗Vt

If A has M rows and N columns, U is of the size M x M , V is of size N x N, and S is of size M x N

# Parameters

• in is the input/output matrix. This will contain random data after the function call is complete.

# Return Values

A triplet of Arrays.

The first Array is the output array containing U

The second Array is the output array containing the diagonal values of sigma, (singular values of the input matrix))

The third Array is the output array containing V ^ H