Grassmann Projections
A collection of methods to project data on the Grassmann manifold.
The abstract GrassmannProjection
class is the parent class that allows the user to define methods for
projection of data onto the Grassmann manifold. These projection methods must be created within child classes built from
this abstract class.
- class GrassmannProjection[source]
The parent class to all classes used to project data onto the Grassmann manifold.
The GrassmannProjection
class is imported using the following command:
>>> from UQpy.dimension_reduction.grassmann_manifold.projections.baseclass.GrassmannProjection import GrassmannProjection
The user may create a new Grassmann projection method by subclassing GrassmannProjection
. Any such class
must create points with type GrassmannPoint
.
SVD Projection
The SVDProjection
class is used to project each data point of a given dataset onto a Grassmann manifold using
the Singular Value Decomposition (SVD). The SVD factorizes a matrix \(\mathbf{X}\in \mathbb{R}^{n \times m}\) into
three matrices:
where \(\mathbf{U}\) and \(\mathbf{V}\) are the matrices of left and right eigenvectors, respectively and
\(\mathbf{\Sigma}\) is a diagonal matrix containing the eigenvalues. Since \(\mathbf{U}\) and \(\mathbf{V}\)
are orthonormal matrices we consider them to be representatives of the data point on the Grassmann manifold. The
SvdProjection
class allows the user to define the Grassmann manifold \(\mathcal{G}(p, n)\) on which the
data will reside by selecting the number of \(p-\) planes, i.e., the rank of matrix \(\mathbf{U}\) is equal to
the number of \(p-\) planes.
The SVDProjection
class is imported using the following command:
>>> from UQpy.dimension_reduction.SVDProjection import SVDProjection
A description of the class signature is shown below:
- class SVDProjection(data, p, tol=None)[source]
- Parameters:
data (
list
[ndarray
]) – Raw data given as a list of matrices.Number of independent p-planes of each Grassmann point. Options:
int
: Integer specifying the number of p-planesstr
:”max”: Set p equal to the maximum rank of all provided data matrices
”min”: Set p equal to the minimum rank of all provided data matrices
Attributes
-
SVDProjection.u:
list
[GrassmannPoint
] Left singular vectors from the SVD of each sample in data representing a point on the Grassmann manifold.
-
SVDProjection.v:
list
[GrassmannPoint
] Right singular vectors from the SVD of each sample in data representing a point on the Grassmann manifold.