hypll.manifolds.poincare_ball.manifold¶
Classes
Class representing the Poincare ball model of hyperbolic space. |
- class hypll.manifolds.poincare_ball.manifold.PoincareBall¶
Class representing the Poincare ball model of hyperbolic space.
Implementation based on the geoopt implementation, but changed to use hyperbolic torch functions.
- c¶
Curvature of the manifold.
- __init__(c: Curvature)¶
Initializes an instance of PoincareBall manifold.
Examples
>>> from hypll.manifolds.poincare_ball import PoincareBall, Curvature >>> curvature = Curvature(value=1.0) >>> manifold = Manifold(c=curvature)
- mobius_add(x: ManifoldTensor, y: ManifoldTensor) ManifoldTensor¶
- project(x: ManifoldTensor, eps: float = -1.0) ManifoldTensor¶
- expmap(v: TangentTensor) ManifoldTensor¶
- logmap(x: ManifoldTensor | None, y: ManifoldTensor)¶
- gyration(u: ManifoldTensor, v: ManifoldTensor, w: ManifoldTensor) ManifoldTensor¶
- transp(v: TangentTensor, y: ManifoldTensor) TangentTensor¶
- dist(x: ManifoldTensor, y: ManifoldTensor) Tensor¶
- inner(u: TangentTensor, v: TangentTensor, keepdim: bool = False, safe_mode: bool = True) Tensor¶
- euc_to_tangent(x: ManifoldTensor, u: ManifoldTensor) TangentTensor¶
- hyperplane_dists(x: ManifoldTensor, z: ManifoldTensor, r: Tensor | None) Tensor¶
- fully_connected(x: ManifoldTensor, z: ManifoldTensor, bias: Tensor | None) ManifoldTensor¶
- frechet_mean(x: ManifoldTensor, batch_dim: int | list[int] = 0, keepdim: bool = False) ManifoldTensor¶
- midpoint(x: ManifoldTensor, batch_dim: int = 0, w: Tensor | None = None, keepdim: bool = False) ManifoldTensor¶
- frechet_variance(x: ManifoldTensor, mu: ManifoldTensor | None = None, batch_dim: int | list[int] = -1, keepdim: bool = False) Tensor¶
- construct_dl_parameters(in_features: int, out_features: int, bias: bool = True) tuple[ManifoldParameter, Parameter | None]¶
- reset_parameters(weight: ManifoldParameter, bias: Parameter | None) None¶
- unfold(input: ManifoldTensor, kernel_size: int | Tuple[int, int], dilation: int | Tuple[int, int] = 1, padding: int | Tuple[int, int] = 0, stride: int | Tuple[int, int] = 1) ManifoldTensor¶
- flatten(x: ManifoldTensor, start_dim: int = 1, end_dim: int = -1) ManifoldTensor¶
Flattens a manifold tensor by reshaping it. If start_dim or end_dim are passed, only dimensions starting with start_dim and ending with end_dim are flattend.
If the manifold dimension of the input tensor is among the dimensions which are flattened, applies beta-concatenation to the points on the manifold. Otherwise simply flattens the tensor using torch.flatten.
Updates the manifold dimension if necessary.
- cdist(x: ManifoldTensor, y: ManifoldTensor) Tensor¶
- cat(manifold_tensors: Tuple[ManifoldTensor, ...] | List[ManifoldTensor], dim: int = 0) ManifoldTensor¶