<h1 align='center'>Sigkerax</h1>
Sigkerax is a [JAX](https://github.com/google/jax) library for [signature kernels](https://arxiv.org/pdf/2006.14794.pdf). Features include:
- Custom static kernels (at time of writing only linear and RBF kernels are implemented);
- All the benefits of working with JAX: autodiff, autoparallelism, GPU/TPU support etc.
## Installation
```bash
pip install sigkerax
```
Requires Python 3.8+, JAX 0.4.11+.
## Documentation
Coming soon...
## Quick example
Lineax can solve a least squares problem with an explicit matrix operator:
```python
import jax
from sigkerax.sigkernel import SigKernel
key1, key2, key3 = jax.random.split(jax.random.PRNGKey(0), num=3)
batch_X, batch_Y, length_X, length_Y, channels = 20, 50, 100, 200, 10
X = 1e-1 * jax.random.normal(key1, shape=(batch_X, length_X, channels)).cumsum(axis=1)
Y = 1e-1 * jax.random.normal(key2, shape=(batch_Y, length_Y, channels)).cumsum(axis=1)
scales = jax.random.exponential(key3, shape=(10,))
signature_kernel = SigKernel(refinement_factor=2, static_kernel_kind="linear", scales=scales, add_time=False)
signature_kernel_matrix = signature_kernel.kernel_matrix(X, Y)
```
## Other signature libraries in JAX
[Signax](https://github.com/Anh-Tong/signax): signatures.
Raw data
{
"_id": null,
"home_page": "https://github.com/crispitagorico/sigkerax",
"name": "sigkerax",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "jax,signatures,kernels,PDE-solvers",
"author": "Cristopher Salvi",
"author_email": "crispitagorico@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/48/24/9b60e7890a1f1c879aa43c9e8205d4859f65ef500ee1f70139f02559fd84/sigkerax-0.2.1.tar.gz",
"platform": null,
"description": "<h1 align='center'>Sigkerax</h1>\n\nSigkerax is a [JAX](https://github.com/google/jax) library for [signature kernels](https://arxiv.org/pdf/2006.14794.pdf). Features include:\n- Custom static kernels (at time of writing only linear and RBF kernels are implemented);\n- All the benefits of working with JAX: autodiff, autoparallelism, GPU/TPU support etc.\n\n## Installation\n\n```bash\npip install sigkerax\n```\n\nRequires Python 3.8+, JAX 0.4.11+.\n\n## Documentation\n\nComing soon...\n\n## Quick example\n\nLineax can solve a least squares problem with an explicit matrix operator:\n\n```python\nimport jax\nfrom sigkerax.sigkernel import SigKernel\nkey1, key2, key3 = jax.random.split(jax.random.PRNGKey(0), num=3)\nbatch_X, batch_Y, length_X, length_Y, channels = 20, 50, 100, 200, 10\nX = 1e-1 * jax.random.normal(key1, shape=(batch_X, length_X, channels)).cumsum(axis=1)\nY = 1e-1 * jax.random.normal(key2, shape=(batch_Y, length_Y, channels)).cumsum(axis=1)\nscales = jax.random.exponential(key3, shape=(10,))\nsignature_kernel = SigKernel(refinement_factor=2, static_kernel_kind=\"linear\", scales=scales, add_time=False)\nsignature_kernel_matrix = signature_kernel.kernel_matrix(X, Y)\n```\n\n## Other signature libraries in JAX\n\n[Signax](https://github.com/Anh-Tong/signax): signatures.\n",
"bugtrack_url": null,
"license": "",
"summary": "Signature kernel computations via PDE solvers in JAX",
"version": "0.2.1",
"project_urls": {
"Homepage": "https://github.com/crispitagorico/sigkerax",
"Repository": "https://github.com/crispitagorico/sigkerax"
},
"split_keywords": [
"jax",
"signatures",
"kernels",
"pde-solvers"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b730f85c02264a9d38c00a98285f249530f5046a714c7a31e13a8b2cd142b778",
"md5": "0db79fdd1dbcf0c8f2461ae9ee122ab3",
"sha256": "3c9a567019247b5d783d8d2b0b9588efb4f5a64bd7a52bf277c1a9b9170daa2c"
},
"downloads": -1,
"filename": "sigkerax-0.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0db79fdd1dbcf0c8f2461ae9ee122ab3",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 10688,
"upload_time": "2023-10-06T08:00:39",
"upload_time_iso_8601": "2023-10-06T08:00:39.850851Z",
"url": "https://files.pythonhosted.org/packages/b7/30/f85c02264a9d38c00a98285f249530f5046a714c7a31e13a8b2cd142b778/sigkerax-0.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "48249b60e7890a1f1c879aa43c9e8205d4859f65ef500ee1f70139f02559fd84",
"md5": "b0bdaf75e981cf5cb8703c48b720f69b",
"sha256": "0e8b957337512c8ee6e3163ca589b6d17960baa495fd3154f8894114246bf52e"
},
"downloads": -1,
"filename": "sigkerax-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "b0bdaf75e981cf5cb8703c48b720f69b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 9319,
"upload_time": "2023-10-06T08:00:41",
"upload_time_iso_8601": "2023-10-06T08:00:41.025704Z",
"url": "https://files.pythonhosted.org/packages/48/24/9b60e7890a1f1c879aa43c9e8205d4859f65ef500ee1f70139f02559fd84/sigkerax-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-06 08:00:41",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "crispitagorico",
"github_project": "sigkerax",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "sigkerax"
}