class_docstr: Class for Grassmann manifolds :math:`Gr(n, p)`.
  
  Parameters
  ----------
  n : int
      Dimension of the Euclidean space.
  p : int
      Dimension of the subspaces.
code: def __init__(self, n, p, equip=True):
      geomstats.errors.check_integer(p, "p")
      geomstats.errors.check_integer(n, "n")
      if p > n:
          raise ValueError(
              "p < n is required: p-dimensional subspaces in n dimensions."
          )
  
      self.n = n
      self.p = p
  
      dim = int(p * (n - p))
      super().__init__(dim=dim, equip=equip)
  
imports: import geomstats.backend
  import geomstats.errors
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.general_linear import GeneralLinear
  from geomstats.geometry.matrices import Matrices, MatricesMetric
  from geomstats.geometry.symmetric_matrices import SymmetricMatrices
  from geomstats.vectorization import repeat_out
label_desc: Use image node_id 1 to create a new Grassmannian object from inherited base classes: LevelSet with example: obj = Grassmannian(n, p, equip)