def __init__(self, comm, matrix_thread, k, **kargs):
self.comm = comm
self.matrix_thread = matrix_thread
self.nrows_thread = np.shape(self.matrix_thread)[0]
n = comm.allreduce(self.nrows_thread, op=MPI.SUM)
tp = matrix_thread.dtype.char
_ArpackParams.__init__(self, n, k, tp, **kargs) # arpack.py l.311
self.bmat = 'I'
self.B = lambda x: x
self.workd = np.zeros(3 * n, self.tp)
self.workl = np.zeros(self.ncv * (self.ncv + 8), self.tp)
ltr = _type_conv[self.tp]
if ltr not in ["s", "d"]:
raise ValueError("Input matrix is not real-valued.")
self._arpack_solver = _arpack.__dict__[ltr + 'saupd']
self._arpack_extract = _arpack.__dict__[ltr + 'seupd']
self.ipntr = np.zeros(11, "int")
self.iterate_infodict = _SAUPD_ERRORS[ltr]
评论列表
文章目录