MyNixOS website logo
Description

Coercion Methods for Simplicial Complex Data Structures.

Computational topology, which enables topological data analysis (TDA), makes pervasive use of abstract mathematical objects called simplicial complexes; see Edelsbrunner and Harer (2010) <doi:10.1090/mbk/069>. Several R packages and other software libraries used through an R interface construct and use data structures that represent simplicial complexes, including mathematical graphs viewed as 1-dimensional complexes. This package provides coercers (converters) between these data structures. Currently supported structures are complete lists of simplices as used by 'TDA'; the simplex trees of Boissonnat and Maria (2014) <doi:10.1007/s00453-014-9887-3> as implemented in 'simplextree' and in Python GUDHI (by way of 'reticulate'); and the graph classes of 'igraph' and 'network', by way of the 'intergraph' package.

interplex

CRAN status Lifecycle: experimental

This is an R package to facilitate conversion between different structures for simplicial complex data.

usage

installation

{interplex} is now on CRAN and can be installed as follows:

install.packages("interplex")

supported structures

{interplex} includes converters between the following data structures:

  • complete lists of simplices, used by the {TDA} package
  • simplex tree instances of class 'Rcpp_SimplexTree', provided by the {simplextree} package
  • simplex trees in Python GUDHI imported using the {reticulate} package
  • objects of class 'igraph', provided by the {igraph} package
  • objects of class 'network', provided by the {network} package

Coercion among the graph/network classes is done using methods from the {intergraph} package. Simplicial complexes are only directly coerced between the 'igraph' class.

development

Install the development version of {interplex} from GitHub as follows:

remotes::install_github("tdaverse/interplex")

future directions

A future release should extend coercers from (unannotated) simplicial complexes to simplicial filtrations (in which simplices are annotated with real-values) and possibly arbitrary simplicial maps (with real-valued intervals).

contribute

Contributions in any form are more than welcome! See the CONTRIBUTING file for guidance, and please respect the Code of Conduct.

acknowledgments

This package was designed and developed in part through discussions with Matt Piekenbrock and Raoul Wadhwa.

resources

Development of this package benefitted from the use of equipment and the support of colleagues at UF Health.

Metadata

Version

0.1.2

License

Unknown

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows