yarrow.cupy

CuPy-backed finite functions, bipartite multigraphs, and diagrams.

Danger

Experimental Module

This code is not thoroughly tested. It’s included here as a proof-of-concept for GPU acceleration. The way backends are selected is also likely to change in the future.

class yarrow.cupy.FiniteFunction(target, table, dtype='int64')

CuPy-backed finite functions

class BipartiteMultigraph(wi, wo, xi, xo, wn, pi, po, xn)

CuPy-backed bipartite multigraphs

class Diagram(s: AbstractFiniteFunction, t: AbstractFiniteFunction, G: AbstractBipartiteMultigraph)

CuPy-backed string diagrams

class IndexedCoproduct(sources: AbstractFiniteFunction, values: AbstractFiniteFunction)
class yarrow.cupy.IndexedCoproduct(sources: AbstractFiniteFunction, values: AbstractFiniteFunction)
class yarrow.cupy.BipartiteMultigraph(wi, wo, xi, xo, wn, pi, po, xn)

CuPy-backed bipartite multigraphs

class yarrow.cupy.Diagram(s: AbstractFiniteFunction, t: AbstractFiniteFunction, G: AbstractBipartiteMultigraph)

CuPy-backed string diagrams

class yarrow.cupy.SegmentedFiniteFunction(sources: AbstractFiniteFunction, targets: AbstractFiniteFunction, values: AbstractFiniteFunction)