Skip to main content

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

  1. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rsr45_dual_autodiff_x-0.1.17.tar.gz (88.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rsr45_dual_autodiff_x-0.1.17-cp312-cp312-macosx_10_15_x86_64.whl (86.1 kB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

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

Hashes for rsr45_dual_autodiff_x-0.1.17.tar.gz
Algorithm Hash digest
SHA256 798a31d8be99d4a99f773500f92666bd66ebe75d1e9ef3ba36c9005ae0b8daf2
MD5 15c3b7f060f07a31c4d2cbc71f8774b8
BLAKE2b-256 f4a616c99074854a0a7cad2ff29ad707fb9d8ad897a3751bea13b022340ac229

See more details on using hashes here.

File details

Details for the file rsr45_dual_autodiff_x-0.1.17-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for rsr45_dual_autodiff_x-0.1.17-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0699643e4e8bd5bbf45203bcd5f332c7f4f5bf67e769dda1281e92bd01fdcb40
MD5 4b3e93697b58195bd5035723842c50d0
BLAKE2b-256 e53c0b38bf7f13fd297b47b51cbb37cb36336528a98791956847cbd314a41148

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page