-
Notifications
You must be signed in to change notification settings - Fork 10
Home
Home
- Build a tree
- Create your tree functions and execute them
- Save the tree and load it
- Phylogenetic mean estimation
- Hidden Markov model estimation
- MCMC parameter estimation on the whole tree
- LDDMM alignment of shapes through the whole tree
Hyperiax is a tool for tree traversal and large-scale parallel computations over trees. Initially, Hyperiax was designed specifically for phylogenetic analysis of biological shape data. It is integrated with JAXGeometry, a computational differential geometry toolbox implemented in JAX. However, Hyperiax's messaging system and operations are general and they can be applied for use in other contexts where fast tree-level computations are necessary.
Hyperiax relies on JAX and Just-in-Time (JIT) compilation to enable high-performance, parallel simulations and other computations on trees with various structures.
Hyperiax was inspired by the backwards filtering, forward guiding approach described in
- Introduction to Automatic Backward Filtering Forward Guiding
- Automatic Backward Filtering Forward Guiding for Markov processes and graphical models
Hyperiax enables tree traversal and computations over tree given functions for the message passing and edge and node specific computations. We currently exemplify this with the following examples:
- MCMC sampling
- Mean estimation
- LDDMM alignment/PCA
Here's a discussion on some of the main features of JAX that we prefer to utilize in Hyperiax, including JIT and automatic parallelization.