stable. So, the usage of the basic method is generally not
     recommended but there exist cases where the usage of the basic
     method may be preferred.
Warning:
 The backward method does not support sparse and complex inputs.
 It works only when *B* is not provided (i.e. *B == None*). We are
 actively working on extensions, and the details of the algorithms
 are going to be published promptly.

Warning:
 While it is assumed that *A* is symmetric, *A.grad* is not. To
 make sure that *A.grad* is symmetric, so that *A - t * A.grad* is
 symmetric in first-order optimization routines, prior to running
 *lobpcg* we do the following symmetrization map: *A -> (A +
 A.t()) / 2*. The map is performed only when the *A* requires
 gradients.

Parameters:
      * A (Tensor) -- the input tensor of size (*, m, m)
  * **B** (*Tensor**, **optional*) -- the input tensor of size (*,
    m, m). When not specified, *B* is interpreted as identity
