def iddp_rid(eps, m, n, matvect):
 proj = np.empty(((m + 1) + ((2 * n) * (min(m, n) + 1))), order='F')
 (k, idx, proj, ier) = _id.iddp_rid(eps, m, n, matvect, proj)
 if (ier != 0):
  raise _RETCODE_ERROR
 proj = proj[:(k * (n - k))].reshape((k, (n - k)), order='F')
 return (k, idx, proj)

def iddp_rid ( eps , m , n , matvect ) : proj = np . empty ( ( ( m + 1 ) + ( ( 2 * n ) * ( min ( m , n ) + 1 ) ) ) , order = 'F' ) ( k , idx , proj , ier ) = _id . iddp_rid ( eps , m , n , matvect , proj ) if ( ier != 0 ) : raise _RETCODE_ERROR proj = proj [ : ( k * ( n - k ) ) ] . reshape ( ( k , ( n - k ) ) , order = 'F' ) return ( k , idx , proj )
compute id of a real matrix to a specified relative precision using random matrix-vector multiplication .