code: def extract(self, return_eigenvectors):
      rvec = return_eigenvectors
      ierr = 0
      howmny = "A"  # return all eigenvectors
      sselect = np.zeros(self.ncv, "int")  # unused
      d, z, ierr = self._arpack_extract(
          rvec,
          howmny,
          sselect,
          self.sigma,
          self.bmat,
          self.which,
          self.k,
          self.tol,
          self.resid,
          self.v,
          self.iparam[0:7],
          self.ipntr,
          self.workd[0 : 2 * self.n],
          self.workl,
          ierr,
      )
      if ierr != 0:
          raise ArpackError(ierr, infodict=self.extract_infodict)
      k_ok = self.iparam[4]
      d = d[:k_ok]
      z = z[:, :k_ok]
  
      if return_eigenvectors:
          return d, z
      else:
          return d
  
imports: from scipy.sparse.linalg.eigen.arpack import _arpack
  import numpy
  from scipy.sparse.linalg.interface import aslinearoperator, LinearOperator
  from scipy.sparse import identity, isspmatrix, isspmatrix_csr
  from scipy.linalg import lu_factor, lu_solve
  from scipy.sparse.sputils import isdense
  from scipy.sparse.linalg import gmres, splu
  import scipy
  import functools
  import operator
  from distutils.version import LooseVersion
label_desc: Use image node_id 3 for calling the _SymmetricArpackParams obj's underlying member method code with example usage: obj.extract(return_eigenvectors) and returns: d,  z, d