No project description provided
Project description
Peroxymanova
This project is essentially an implementation of PERMANOVA (wiki link, doi:10.1111/j.1442-9993.2001.01070.pp.x) in Rust.
PERMANOVA (Permutational Multivariate Analysis of Variance) is a method for comparing groups of mathematical objects, requiring only a dissimilarity matrix between them, as opposed to having a notion of an average, like the one used in classical ANOVA. This is incredibly useful, since it is massively easier to define a dissimilarity than a mean: there is no obvious "average graph", "average neural network" or an "average RL policy", but with a little bit of hand waving one can define distances, or dissimilarities between a pair of such entities.
This package aims to provide quality-of-life bells and whistles that turn this incredible method into something useful day to day. It implements the following workflow:
- Accept a
Collection
of some thingsT
, aCallable
that can compare two of thoseT
, returning a float, and aCollection
of labels that indicate to which group a given thingT
belongs to - Efficiently run the
Callable[[T,T], float]
for every possible pair of objects in theCollection
and build a dissimilarity matrix - Given the dissimilarity matrix and a
Collection
of group-indicating labels, run the PERMANOVA algorithm to get a test statistic and a p-value for the null hypothesis of the groups being all and the same. This step requires a lot of permutations to get the p-value so run it blazingly fast in Rust
Strategic roadmap:
- Actually make it multivariate since a single p-value for a single "difference" is kind of just one-way permutational ANOVA.
- Make a fancy parallelization backend interface for computing pairwise distances. Maybe there could be a backend='ray' that would actually search for a full ray cluster?
- Since we dream of ray, should we get a cluster for rust side as well? :)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for peroxymanova-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5349a84e25130ab8d5da131439df7dfdcb500ffa84fe523e097cb4aca82a4821 |
|
MD5 | f14462b585499fedba9c4fe04027cecb |
|
BLAKE2b-256 | c56f6bf8d9d35ace40d3a8ba1e97d7370fd5cca6c68ff9f0bbae5e10179f6d92 |
Hashes for peroxymanova-0.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97ab6f353ec8ee97a065e9801776a2d1e407c0978ab2e71efacf5de7fc177bbf |
|
MD5 | 37b5ed0ca924be4c848b1cf660fef06b |
|
BLAKE2b-256 | 7939cfae818685859ec955f0a1d41c917eb5e4c83313225b9d28be5ff05a1dec |
Hashes for peroxymanova-0.2.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e38e8e410b57507691ffa94b1fbe5ef8d03d453ca205696cf02c9808e37962a |
|
MD5 | fba349c7e874ece2aacc140093959d58 |
|
BLAKE2b-256 | 8835d43ef7d298439948561427547fedd741e85d938bacf451731c92c011d430 |
Hashes for peroxymanova-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 826fb654cd1f64f6e090117900dc100520b783f2dc4088d5da74d22c48ed3bf1 |
|
MD5 | 293fff8d47a3a3c33892e3a087557e7c |
|
BLAKE2b-256 | 2e691ff845404618ce34f0c8919c2d2d49b8fd983153f3eaae3f7e521616e20d |
Hashes for peroxymanova-0.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 326c0a2ac55980e7b388fd4f89e6a5175d9453056d42459f4014e3f9b78c63d6 |
|
MD5 | a83db66907fc62c585d89aacab6d32f8 |
|
BLAKE2b-256 | ac11239aa5066880b8e36854a8b1aba6efd4535b120ff3b469c22c37cc0c59cf |
Hashes for peroxymanova-0.2.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9c6489adf42dd98b082024964d6d3c160901ea01befd5cbf1e0bd681cc3562 |
|
MD5 | 90c0331d84e81da9fb581eba92338ee2 |
|
BLAKE2b-256 | 8f4977cd63f1f01f7ec871efafe58df6425eec5390f4763291635f9bf45f1c0e |
Hashes for peroxymanova-0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46c1efa0f6ba2bd43d42e9a0c1885c982b435517a5b221fced4c44a94506a784 |
|
MD5 | 5874215afc3b53666a965428b5ede024 |
|
BLAKE2b-256 | 3c9b82310b1d113d06b243c84b11a7f80d59156ab59b7f4a88ae14ff11efc6c9 |
Hashes for peroxymanova-0.2.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 655f368ade24c3a6ce2bc8cf92570f7edfc77cac1d15f5a3a513f1dc184b5df7 |
|
MD5 | 1967b13af4f1650ed7614fd4c7be60c2 |
|
BLAKE2b-256 | 1e449570ef8be97ff2d05aa8c37667d979eb887621596313313fe3aca4e4cf86 |
Hashes for peroxymanova-0.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d83d3c2ee2f9bba88afe96dd58a9c197c96631346eeddec4d555d0d239c48c7 |
|
MD5 | 23e1df607f5147fb06c5bdee84c76fb0 |
|
BLAKE2b-256 | dd1af4f8de563beeebe5f5997e6392aae03d83d85fcf02357b56db619451e196 |
Hashes for peroxymanova-0.2.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd365f242ba67ae91bf0dd2ee90c91dcaf3f53f2a9018dc245f3a9844d16ac1 |
|
MD5 | 01c5c5213f404d7f1c88da54dbae2969 |
|
BLAKE2b-256 | f915bd82761b8a5aa944b7b16ba56ebffe655081a574e64eed53d1a8055355a9 |
Hashes for peroxymanova-0.2.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f23a8b319da074e23b92690273f694cb67885fdfb70470eb6a21c4d4a1cc7f2 |
|
MD5 | dbf8764a04cf91f69d48aafa349f34cf |
|
BLAKE2b-256 | 50bfd143bf305e308e6f4e21ec526a6430cdd78d3a1e1331bfcf948353d9d88f |
Hashes for peroxymanova-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b5bc2d1c18a7fc0e647cc2c7c524874932477f135fdf62c0e1d7d6707b161ee |
|
MD5 | 2871dcf07720d7699aabdf8bb85a9ae5 |
|
BLAKE2b-256 | ef9fd2e6d288d0900342e60e837c28678396f8adbe11e9a6c3e95279f1acefe6 |
Hashes for peroxymanova-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 251573600d5183dd436cb9b2547204c4315c2a467acdf47bf5272c6f5b44102d |
|
MD5 | 5bf12a9cc9b449b9254ab958b74ad965 |
|
BLAKE2b-256 | 406bb6e423f3316c573d56d5128c39b3c5c4f47aff4cd5dbc94a20de28adf2bf |
Hashes for peroxymanova-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e266d5d87c3d776e0e2f76a20326b33f2cbe8a7444605dc54ca9baba59c29a69 |
|
MD5 | 32dacb5606cd9d439b17b3fd0d64b9c4 |
|
BLAKE2b-256 | 9aa5df0b57ac6382c4ff7653cf630edb6a98b61cb93027529bc331d5d1caeeff |
Hashes for peroxymanova-0.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50cee97cd02fce58dee2fa4de1a1f042cf24b25829bc9ca7961c4bdf9e87fa62 |
|
MD5 | 430f10f969733cbca1af45ef079dcc57 |
|
BLAKE2b-256 | 288838528ff6b4fdb198e8bcbba2e010363a5dc977fa3828b7e7ab44b44604ed |
Hashes for peroxymanova-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dd67d691946ed076f8ece2c6551b3d9995e0c64955415f4a820fadea9cf2987 |
|
MD5 | fb5ee1f10e1c039b7b16ae8aba663808 |
|
BLAKE2b-256 | 004f4d7e6d970a8507f5608485919b075e0ba481650a36d6ce8720f37fb4a995 |
Hashes for peroxymanova-0.2.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f040623fc614b61e6a3120019e3da08ef53d73fc359e3806c36e8b013e145d6 |
|
MD5 | 91db2a2fe2e83e87dbd64d9b0b8278e5 |
|
BLAKE2b-256 | ec9a96a28729ee33b587d87098fb71e1c2328e8c1412ace527d953e3e1d678b5 |
Hashes for peroxymanova-0.2.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02a9d4251371279031d960443054a6c4cba6d6d673dbb90d9a9d1752af66edac |
|
MD5 | 447bf5a915add014c1768bcdae0aeb67 |
|
BLAKE2b-256 | 733d72a66088fdb55b858dd851b92ba415d695c31c4c4a6b30525a88a9705bb8 |
Hashes for peroxymanova-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d2b57b924f0c73370c44c626d1153f42c681a5327ee7e04d405b8a4eea48d3b1 |
|
MD5 | b5b4eab81989fb98804e792ea12b1661 |
|
BLAKE2b-256 | ba8718036fe028b91d4522e14cfd72dc8e175516e8b970fdf814c6844d901ad9 |
Hashes for peroxymanova-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33ae4b78796b1bcb41747f5361ce28b3d2c8e78b5f0fec9f3d0dd0ec14b73ecb |
|
MD5 | c25c2ab26393a5bfd8c90292712a1183 |
|
BLAKE2b-256 | 694d9e80b7a1726558e123d51c90a98cbdd222913318ae4a7a362a63059e5d7c |
Hashes for peroxymanova-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4fe37a8b8cf33b91845bc415bb8ef28e5b8ec748ac44eef9d0b565a6b7aa755 |
|
MD5 | 0ec1b2d44b165a154095970a4e8c2366 |
|
BLAKE2b-256 | 9130bd3b849cd23ef616a8342ef23af543c3e191d0de3efde52f692bf284273b |
Hashes for peroxymanova-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 439808067415f9bf446592273d79f1a229d06e649ce634f1fc55ef1f1e400585 |
|
MD5 | 29ad538f83012199717e4e4e93a88449 |
|
BLAKE2b-256 | 3fde70a53229021aa0738f06ec35e387757d6fd4aadbc3207c4d7c9b2fac21ac |
Hashes for peroxymanova-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eda221e8164740c24bfe2d416013fcd6fde17f5a6dbefc6879409ed064ac6d06 |
|
MD5 | 538597114746ef04f7f8b3d60faec6d5 |
|
BLAKE2b-256 | b0241b1a9e13bf9b50af885387c514c08688ac6b06f943a2fd85d02d384736e9 |
Hashes for peroxymanova-0.2.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da6eed9de6111a662711522ec9b461b9ee2f663a868bdf1d017e92053f95b9c |
|
MD5 | d1e657123e4447f7685fb1b9d997bae7 |
|
BLAKE2b-256 | b1ace0491e87b07dd18d34c2e65d9457efccf8d3b6537b86557ec5d59a825615 |
Hashes for peroxymanova-0.2.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1b7c432947756fe455d8888d316fcb475e73d4158969bb5473681bc0e243a3e |
|
MD5 | 591ddbf76c9c1c1f4b72eaaa1777a3b0 |
|
BLAKE2b-256 | cf8c04156b27148c31a479f512d9208d1af6d3b2e43f4b05e3cbb6f1b4f6113a |
Hashes for peroxymanova-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 801e8a5ede5426376ead1aad4a88f5fd413e702d0ecb5484e9a8ac4dcffef79b |
|
MD5 | 3c7c8a9a881257687f7f9d33984bf35a |
|
BLAKE2b-256 | ebb8a1fd4d7a46c5de46131d307052ebeb8842432f694809fcd4885e17f13c33 |
Hashes for peroxymanova-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a4ed3d4b73e10add91c9e7d6407ed812402b2fbd803b1e1f73dcb3504c8c03c |
|
MD5 | f8bcaa606c77e2ca468b9b051a788b3c |
|
BLAKE2b-256 | 9b8ebf96c55037f9a2331ea255dc4be3b0ad44915ffb679d586f52f99e75d302 |
Hashes for peroxymanova-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df9f75390f5fe7dc4558bd383ccdbe8027d7e1e0cd7fb83119847856da59e76d |
|
MD5 | 22add9be13db36b7c9d87fd846837f5a |
|
BLAKE2b-256 | 6af2f7aa27615921e5eb7cc81d83cb6f1e64a10662a835f23da6ae7ab6c7ba36 |
Hashes for peroxymanova-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e3148063d41c5420ac3b9b88cac973bf7077d96eb420d367b32b5e5744e33a5 |
|
MD5 | 04a766bc7e830ddb8079f190e014b970 |
|
BLAKE2b-256 | 344d8f6d28163fca984f09bebdf4354fa421002d23f75d2dcc54616f220ef11f |
Hashes for peroxymanova-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d52d8d5c03449e6e34185a9ad50cdfd796ade1ec33a6a54acd6adb389c68cb4 |
|
MD5 | 0f7036afb8f855f315204e9d66f55e18 |
|
BLAKE2b-256 | 2ed1c11a2d63cd73e242e3ebfd30201983e9108121e0a6c77e04180fe6fb2fb4 |
Hashes for peroxymanova-0.2.0-cp39-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06b83f268d3012915944b89f6e92cef8b7e64a982333d3f48ac387cee6ab075e |
|
MD5 | 1941f77b59a49f38bcccfe1426383bce |
|
BLAKE2b-256 | e3086393a6fba4ef6d5959a4f310553559941420976c91f0c09f051c99d2ed3f |
Hashes for peroxymanova-0.2.0-cp39-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce846f2a713a4c2657977f399c1f2c3d802da70892b571096040d56b18ec10da |
|
MD5 | b9ffd2ed1ed7ac43665895d7ec38f496 |
|
BLAKE2b-256 | 235a19df6d0cceea42d5322116e31529ecdc30ffe7875a9e8febddd08b8c262d |
Hashes for peroxymanova-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82ad46ac67054e3283701bf8d50a86c14a9e5903fca767e2b1be6ebe412a3efa |
|
MD5 | 8c31d516f80006713c79e54f6544914e |
|
BLAKE2b-256 | fc39faff391d90032eb9eb6f179f1ad158613568045180f0b9879592348d2ab0 |
Hashes for peroxymanova-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a3e3711522d105ece528722ec55774f9cc90f81f907c2c21a165c46c3681c72 |
|
MD5 | 6022cc9ba8ef64ae80484f41039e2914 |
|
BLAKE2b-256 | b93a4f5816c18150230b50a807957669cb5f267896c77b7649fc81d59c66eb8a |
Hashes for peroxymanova-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9ce804288b234f62018a4cb4e6beb9713e58b7e35d8dac483f83ca869829d91 |
|
MD5 | a87bd0739bd54d4ac677e38d2ceaab40 |
|
BLAKE2b-256 | 6e57a16f4e5a67f2c514c24bd31548088da231949f70922d2eb83b68b1b97c14 |
Hashes for peroxymanova-0.2.0-cp38-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c3d1ac127eb9b6c3d6833c68e513e6d1f5a6447f7f83115cdd64c83661f17f0 |
|
MD5 | 4f18dc8192565de804c504f80457a7ed |
|
BLAKE2b-256 | 02c07b36a28a6b46e0dc1a798b9565eb819e5fd1bafb94d3f884dadb212c47b3 |
Hashes for peroxymanova-0.2.0-cp38-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd0c732ee3dd45c2dbfb91bec02033d113c12fe80da13c3a97889e255c40369f |
|
MD5 | 74c48707bec9b8bb8b7b457d694f4602 |
|
BLAKE2b-256 | e684686ee0c19472e045d4f8b92d5ccef737cde0e49dd1842f80005a802d2cb6 |
Hashes for peroxymanova-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03cfc9245ab6d1f45b7e5f26c2c9f79ac05d9e290446c8f443419ac2459f86f6 |
|
MD5 | 662f6fe5b0955e70ea886f550e1c8f3d |
|
BLAKE2b-256 | 32683ce01ca6bf88f44bd1aac070ccfab44ac50e2e18e35aa7c55503fc320610 |
Hashes for peroxymanova-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777f0da7058818a80c87dcc3197d30a3a0b852545125806a8dce6050088d33c9 |
|
MD5 | dbe62a98d44327d90385db1af18a08b6 |
|
BLAKE2b-256 | 3637e0ed14264eec2ba7d43afceeddb2a770c0a62846f1a2e11af7628fe9d1f6 |
Hashes for peroxymanova-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d30042959c739145fdf88b61b5919fe50679c0fdaa98b45da091fb9a96287e4f |
|
MD5 | 2ac1cabeaa33695a4a7c1fadeeb35d9a |
|
BLAKE2b-256 | 015b1b96bce9f67801bd6b85eb514d6646b41a7f65c2ca0853e2c522347997aa |