A package for dual number-based automatic differentiation
Project description
rsr45-dual-autodiff-x
rsr45-dual-autodiff-x is optimised using Cython for improved performance.
Features
- Dual Number Arithmetic: Supports basic operations like addition, subtraction, multiplication, and division.
- Mathematical Functions: Includes trigonometric, exponential, logarithmic, and other common mathematical functions.
- Automatic Differentiation: Computes derivatives automatically as a natural part of the computation.
- Cython Optimization: Improved performance for computationally intensive tasks.
Installation
Using pip
Install the package directly from PyPI:
pip install rsr45-dual-autodiff-x
Using github
- Clone the repository
git clone https://gitlab.developers.cam.ac.uk/phy/data-intensive-science-mphil/assessments/c1_coursework1/rsr45.git
cd dual_autodiff
pip install -r requirements.txt
cd dual_autodiff_x
pip install e .
Usage
Importing the Package
import dual_autodiff_x as df_x
from dual_autodiff_x.dual import Dual as DualOptimised
from dual_autodiff_x.functions import sin as sin_optimised, cos as cos_optimised, log as log_optimised
Using dual_autodiff_x (Optimised Version)
x_optimised = DualOptimised(2, 1) # Represents the dual number 2 + 1ε
Performing Operations
Using dual_autodiff_x (Optimised Version)
# Example: f(x) = log(sin(x)) + x^2 * cos(x)
f_x_optimised = log_optimised(sin_optimised(x_optimised)) + x_optimised**2 * cos_optimised(x_optimised)
print(f_x_optimised) # Output the result and its derivative
Why Use dual_autodiff_x?
The rsr-dual-autodiff-x package is an optimized version of dual_autodiff, built with Cython for better performance. Use it when speed is a priority, especially for computationally intensive tasks.
Licence
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rsr45_dual_autodiff_x-0.1.17.tar.gz.
File metadata
- Download URL: rsr45_dual_autodiff_x-0.1.17.tar.gz
- Upload date:
- Size: 88.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
798a31d8be99d4a99f773500f92666bd66ebe75d1e9ef3ba36c9005ae0b8daf2
|
|
| MD5 |
15c3b7f060f07a31c4d2cbc71f8774b8
|
|
| BLAKE2b-256 |
f4a616c99074854a0a7cad2ff29ad707fb9d8ad897a3751bea13b022340ac229
|
File details
Details for the file rsr45_dual_autodiff_x-0.1.17-cp312-cp312-macosx_10_15_x86_64.whl.
File metadata
- Download URL: rsr45_dual_autodiff_x-0.1.17-cp312-cp312-macosx_10_15_x86_64.whl
- Upload date:
- Size: 86.1 kB
- Tags: CPython 3.12, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0699643e4e8bd5bbf45203bcd5f332c7f4f5bf67e769dda1281e92bd01fdcb40
|
|
| MD5 |
4b3e93697b58195bd5035723842c50d0
|
|
| BLAKE2b-256 |
e53c0b38bf7f13fd297b47b51cbb37cb36336528a98791956847cbd314a41148
|