Differentiable scientific computing library
Project description
xitorch
: differentiable scientific computing library
xitorch
is a PyTorch-based library of differentiable functions and functionals that
can be widely used in scientific computing applications as well as deep learning.
The documentation can be found at: https://xitorch.readthedocs.io/
Example
Finding root of a function:
import torch
from xitorch.optimize import rootfinder
def func1(y, A): # example function
return torch.tanh(A @ y + 0.1) + y / 2.0
# set up the parameters and the initial guess
A = torch.tensor([[1.1, 0.4], [0.3, 0.8]]).requires_grad_()
y0 = torch.zeros((2, 1)) # zeros as the initial guess
# finding a root
yroot = rootfinder(func1, y0, params=(A,))
# calculate the derivatives
dydA, = torch.autograd.grad(yroot.sum(), (A,), create_graph=True)
grad2A, = torch.autograd.grad(dydA.sum(), (A,), create_graph=True)
Modules
linalg
: Linear algebra and sparse linear algebra moduleoptimize
: Optimization and root finder moduleintegrate
: Quadrature and integration moduleinterpolate
: Interpolation
Requirements
- python >=3.8.1,<3.12
- pytorch 1.13.1 or higher (install here)
Getting started
After fulfilling all the requirements, type the commands below to install xitorch
python -m pip install xitorch
Or to install from GitHub:
python -m pip install git+https://github.com/xitorch/xitorch.git
Finally, if you want to make an editable install from source:
git clone https://github.com/xitorch/xitorch.git
cd xitorch
python -m pip install -e .
Note that the last option is only available per PEP 660, so you will require pip >= 23.1
Used in
- Differentiable Quantum Chemistry (DQC): https://dqc.readthedocs.io/
Gallery
Neural mirror design (example 01):
Initial velocity optimization in molecular dynamics (example 02):
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 Distribution
File details
Details for the file xitorch-0.5.1.tar.gz
.
File metadata
- Download URL: xitorch-0.5.1.tar.gz
- Upload date:
- Size: 96.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.8.12 Linux/5.19.0-32-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79c5fb8a072f51125ee87aa8a1b60f8f2f6e8abc4723c000639dbc292c23c70b |
|
MD5 | 2ee862908194b71aa7405dce009cffdb |
|
BLAKE2b-256 | 1c2da22282c917f9dadb209a570c3934119632ba7fd39a958d405f7f110afc3a |
File details
Details for the file xitorch-0.5.1-py3-none-any.whl
.
File metadata
- Download URL: xitorch-0.5.1-py3-none-any.whl
- Upload date:
- Size: 122.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.3.2 CPython/3.8.12 Linux/5.19.0-32-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aeaea4be231987f9f22a79c5bde49cf33d7a7ac386c87ac03ff1048e0044bba |
|
MD5 | fe3756df11ec3857e3d9730dbae6e677 |
|
BLAKE2b-256 | e260616b7fa9c056701459e7144725749f7745de65489fa727498868aa680678 |