class_docstr: Worker class of LOBPCG methods.
class_docstr_tok: ["Worker","class","of","LOBPCG","methods","."]
code: def __init__(
      self,
      A: Optional[Tensor],
      B: Optional[Tensor],
      X: Tensor,
      iK: Optional[Tensor],
      iparams: Dict[str, int],
      fparams: Dict[str, float],
      bparams: Dict[str, bool],
      method: str,
      tracker: None,
  ) -> None:
      # constant parameters
      self.A = A
      self.B = B
      self.iK = iK
      self.iparams = iparams
      self.fparams = fparams
      self.bparams = bparams
      self.method = method
      self.tracker = tracker
      m = iparams["m"]
      n = iparams["n"]
  
      # variable parameters
      self.X = X
      self.E = torch.zeros((n,), dtype=X.dtype, device=X.device)
      self.R = torch.zeros((m, n), dtype=X.dtype, device=X.device)
      self.S = torch.zeros((m, 3 * n), dtype=X.dtype, device=X.device)
      self.tvars: Dict[str, Tensor] = {}
      self.ivars: Dict[str, int] = {"istep": 0}
      self.fvars: Dict[str, float] = {"_": 0.0}
      self.bvars: Dict[str, bool] = {"_": False}
  
imports: from typing import Dict, Optional, Tuple
  import torch
  from torch import Tensor
  from .None import _linalg_utils
  from .overrides import handle_torch_function, has_torch_function
label_desc: Use image node_id 1 to create a new LOBPCG object  with example: obj = LOBPCG(A, B, X, iK, iparams, fparams, bparams, method, tracker)