code: def iterate(self):
      (
          self.ido,
          self.tol,
          self.resid,
          self.v,
          self.iparam,
          self.ipntr,
          self.info,
      ) = self._arpack_solver(
          self.ido,
          self.bmat,
          self.which,
          self.k,
          self.tol,
          self.resid,
          self.v,
          self.iparam,
          self.ipntr,
          self.workd,
          self.workl,
          self.info,
      )
  
      xslice = slice(self.ipntr[0] - 1, self.ipntr[0] - 1 + self.n)
      yslice = slice(self.ipntr[1] - 1, self.ipntr[1] - 1 + self.n)
      if self.ido == -1:
          # initialization
          self.workd[yslice] = self.OP(self.workd[xslice])
      elif self.ido == 1:
          # compute y = Op*x
          if self.mode == 1:
              self.workd[yslice] = self.OP(self.workd[xslice])
          elif self.mode == 2:
              self.workd[xslice] = self.OPb(self.workd[xslice])
              self.workd[yslice] = self.OPa(self.workd[xslice])
          elif self.mode == 5:
              Bxslice = slice(
                  self.ipntr[2] - 1, self.ipntr[2] - 1 + self.n
              )
              Ax = self.A_matvec(self.workd[xslice])
              self.workd[yslice] = self.OPa(
                  Ax + (self.sigma * self.workd[Bxslice])
              )
          else:
              Bxslice = slice(
                  self.ipntr[2] - 1, self.ipntr[2] - 1 + self.n
              )
              self.workd[yslice] = self.OPa(self.workd[Bxslice])
      elif self.ido == 2:
          self.workd[yslice] = self.B(self.workd[xslice])
      elif self.ido == 3:
          raise ValueError(
              "ARPACK requested user shifts.  Assure ISHIFT==0"
          )
      else:
          self.converged = True
  
          if self.info == 0:
              pass
          elif self.info == 1:
              self._raise_no_convergence()
          else:
              raise ArpackError(
                  self.info, infodict=self.iterate_infodict
              )
  
imports: from .None import _arpack
  import numpy
  import warnings
  from scipy.sparse.linalg.interface import aslinearoperator, LinearOperator
  from scipy.sparse import eye, issparse, isspmatrix, isspmatrix_csr
  from scipy.linalg import eig, eigh, lu_factor, lu_solve
  from scipy.sparse.sputils import isdense, is_pydata_spmatrix
  from scipy.sparse.linalg import gmres, splu
  from scipy.sparse.linalg.eigen.lobpcg import lobpcg
  from scipy._lib._util import _aligned_zeros
  from scipy._lib._threadsafety import ReentrancyLock
label_desc: Use image node_id 2 for calling the _SymmetricArpackParams obj's underlying member method code with example usage: obj.iterate() without return types