Source code for geotorch.pssdlowrank

import torch
from .symmetric import SymF


[docs]class PSSDLowRank(SymF): def __init__(self, size, rank, triv="expm"): r""" Variety of the symmetric positive semidefinite matrices of rank at most :math:`r`. Args: size (torch.size): Size of the tensor to be parametrized rank (int): Rank of the matrices. It has to be less or equal to :math:`\min(\texttt{size}[-1], \texttt{size}[-2])` triv (str or callable): Optional. A map that maps skew-symmetric matrices onto the orthogonal matrices surjectively. This is used to optimize the :math:`Q` in the eigenvalue decomposition. It can be one of ``["expm", "cayley"]`` or a custom callable. Default: ``"expm"`` """ super().__init__(size, rank, f=(torch.abs, torch.abs), triv=triv)