Skip to contents

Computes the sliced Wasserstein kernel matrix from a list of persistence diagrams. The sliced Wasserstein kernel is computed by exponentiating the corresponding sliced Wasserstein distance with a Gaussian kernel. See http://proceedings.mlr.press/v70/carriere17a.html for more details.

Author

Mathieu Carrière

Super classes

rgudhi::PythonClass -> rgudhi::SKLearnClass -> rgudhi::KernelRepresentationStep -> PersistenceSlicedWassersteinKernel

Methods

Inherited methods


Method new()

The PersistenceSlicedWassersteinKernel constructor.

Usage

PersistenceSlicedWassersteinKernel$new(
  num_directions = 10,
  bandwidth = 1,
  n_jobs = 1
)

Arguments

num_directions

An integer value specifying the number of lines evenly sampled from \([-\pi/2,\pi/2]\) in order to approximate and speed up the kernel computation. Defaults to 10L.

bandwidth

A numeric value specifying the bandwidth of the Gaussian kernel with which persistence diagrams will be convolved. Defaults to 1.0.

n_jobs

An integer value specifying the number of jobs to use for the computation. Defaults to 1.

Returns

An object of class PersistenceSlicedWassersteinKernel.


Method clone()

The objects of this class are cloneable with this method.

Usage

PersistenceSlicedWassersteinKernel$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples

if (FALSE) { # reticulate::py_module_available("gudhi")
X <- seq_circle(10)
ac <- AlphaComplex$new(points = X)
st <- ac$create_simplex_tree()
dgm <- st$compute_persistence()$persistence_intervals_in_dimension(0)
ds <- DiagramSelector$new(use = TRUE)
dgm <- ds$apply(dgm)
pswk <- PersistenceSlicedWassersteinKernel$new()
pswk$apply(dgm, dgm)
pswk$fit_transform(list(dgm))
}