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

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