def iddp_rsvd(eps, m, n, matvect, matvec):
 (k, iU, iV, iS, w, ier) = _id.iddp_rsvd(eps, m, n, matvect, matvec)
 if ier:
  raise _RETCODE_ERROR
 U = w[(iU - 1):((iU + (m * k)) - 1)].reshape((m, k), order='F')
 V = w[(iV - 1):((iV + (n * k)) - 1)].reshape((n, k), order='F')
 S = w[(iS - 1):((iS + k) - 1)]
 return (U, V, S)

def iddp_rsvd ( eps , m , n , matvect , matvec ) : ( k , iU , iV , iS , w , ier ) = _id . iddp_rsvd ( eps , m , n , matvect , matvec ) if ier : raise _RETCODE_ERROR U = w [ ( iU - 1 ) : ( ( iU + ( m * k ) ) - 1 ) ] . reshape ( ( m , k ) , order = 'F' ) V = w [ ( iV - 1 ) : ( ( iV + ( n * k ) ) - 1 ) ] . reshape ( ( n , k ) , order = 'F' ) S = w [ ( iS - 1 ) : ( ( iS + k ) - 1 ) ] return ( U , V , S )
compute svd of a real matrix to a specified relative precision using random matrix-vector multiplication .