topobench.transforms.liftings package#

Subpackages#

Submodules#

topobench.transforms.liftings.base module#

Abstract class for topological liftings.

class topobench.transforms.liftings.base.AbstractLifting(feature_lifting=None, **kwargs)[source]#

Bases: BaseTransform

Abstract class for topological liftings.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

forward(data: Data) Data[source]#

Apply the full lifting (topology + features) to the input data.

Parameters:
datatorch_geometric.data.Data

The input data to be lifted.

Returns:
torch_geometric.data.Data

The lifted data.

abstract lift_topology(data: Data) dict[source]#

Lift the topology of a graph to higher-order topological domains.

Parameters:
datatorch_geometric.data.Data

The input data to be lifted.

Returns:
dict

The lifted topology.

topobench.transforms.liftings.liftings module#

This module implements the abstract classes for lifting graphs.

class topobench.transforms.liftings.liftings.CellComplexLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting cell complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.liftings.CombinatorialLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting combinatorial complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.liftings.GraphLifting(feature_lifting='ProjectionSum', preserve_edge_attr=False, **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting graph topologies to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

preserve_edge_attrbool, optional

Whether to preserve edge attributes. Default is False.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.liftings.HypergraphLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting hypergraphs to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.liftings.PointCloudLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting point clouds to other topological domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.liftings.SimplicialLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting simplicial complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

Module contents#

This module implements the liftings for the topological transforms.

class topobench.transforms.liftings.AbstractLifting(feature_lifting=None, **kwargs)[source]#

Bases: BaseTransform

Abstract class for topological liftings.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

forward(data: Data) Data[source]#

Apply the full lifting (topology + features) to the input data.

Parameters:
datatorch_geometric.data.Data

The input data to be lifted.

Returns:
torch_geometric.data.Data

The lifted data.

abstract lift_topology(data: Data) dict[source]#

Lift the topology of a graph to higher-order topological domains.

Parameters:
datatorch_geometric.data.Data

The input data to be lifted.

Returns:
dict

The lifted topology.

class topobench.transforms.liftings.CellComplexLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting cell complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.CombinatorialLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting combinatorial complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.GraphLifting(feature_lifting='ProjectionSum', preserve_edge_attr=False, **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting graph topologies to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

preserve_edge_attrbool, optional

Whether to preserve edge attributes. Default is False.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.HypergraphLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting hypergraphs to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.PointCloudLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting point clouds to other topological domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.

class topobench.transforms.liftings.SimplicialLifting(feature_lifting='ProjectionSum', **kwargs)[source]#

Bases: AbstractLifting

Abstract class for lifting simplicial complexes to other domains.

Parameters:
feature_liftingstr, optional

The feature lifting method to be used. Default is ‘ProjectionSum’.

**kwargsoptional

Additional arguments for the class.