class_docstr: Class for :math:`R_*^{n\times k}` matrices of dimension n x k and full rank.
  
  Parameters
  ----------
  n : int
      Integer representing the shape of the matrices: n x k
  k : int
      Integer representing the shape of the matrices: n x k
docstr: Project a matrix to the set of full rank matrices.
  
  As the space of full rank matrices is dense in the space of matrices,
  this is not a projection per se, but a regularization if the matrix input X
  is not already full rank: :math:`X + \epsilon [I_{rank}, 0]` is returned
  where :math:`\epsilon=gs.atol`
  
  Parameters
  ----------
  point : array-like, shape=[..., n, k]
      Point in embedding manifold.
  
  Returns
  -------
  projected : array-like, shape=[..., n, k]
      Projected point.
docstr_tok: ["Project","a","matrix","to","the","set","of","full","rank","matrices",".","As","the","space","of","full","rank","matrices","is","dense","in","the","space","of","matrices",",","this","is","not","a","projection","per","se",",","but","a","regularization","if","the","matrix","input","X","is","not","already","full","rank",":",":","math",":","`","X","+","\\epsilon","[","I_","{","rank","}",",","0","]","`","is","returned","where",":","math",":","`","\\epsilon=gs.atol","`","Parameters","--","--","--","--","--","point",":","array-like",",","shape=","[","...",",","n",",","k","]","Point","in","embedding","manifold",".","Returns","--","--","--","-","projected",":","array-like",",","shape=","[","...",",","n",",","k","]","Projected","point","."]
code: def projection(self, point):
      r"""Project a matrix to the set of full rank matrices.
  
      As the space of full rank matrices is dense in the space of matrices,
      this is not a projection per se, but a regularization if the matrix input X
      is not already full rank: :math:`X + \epsilon [I_{rank}, 0]` is returned
      where :math:`\epsilon=gs.atol`
  
      Parameters
      ----------
      point : array-like, shape=[..., n, k]
          Point in embedding manifold.
  
      Returns
      -------
      projected : array-like, shape=[..., n, k]
          Projected point.
      """
      belongs = self.belongs(point)
      regularization = gs.einsum(
          "...,ij->...ij",
          gs.where(~belongs, gs.atol, 0.0),
          gs.eye(
              self.embedding_space.shape[0],
              self.embedding_space.shape[1],
          ),
      )
      projected = point + regularization
      return projected
  
file_path: geomstats/geomstats/geometry/full_rank_matrices.py
imports: import geomstats.backend
  from geomstats.geometry.base import VectorSpaceOpenSet
  from geomstats.geometry.matrices import Matrices, MatricesMetric
label_desc: Use image node_id 4 for calling the FullRankMatrices obj's underlying member method code with example usage: obj.projection(point) and returns: projected