Skip to main content

an automatic differentiation package created by AC207 students

Project description

team21

Continuous Integration Test Coverage for Milestone 2 test AD for Milestone 2

Brief Introduction

funAD is a PyPi-distributed package that executes forward-mode of automatic differentiation, enabling users to solve functional derivatives with high computational efficiency and machine precision.

This project/package is the fruit of Harvard CS107/AC207 class final project in 2022 Fall. Our package utilize forward mode and dual number. Additionally, we also allow users to define their own seeds vector for the Jacobian Matrix and the option to calculate local maxima and minima through gradient descent.

To install, run the following command in your terminal

pip install funAD

For details instruction on how to use this package, please follow the steps in the usage page.

Group Number:

Group 21

Group Members:

Zhecheng Yao zhechengyao@g.harvard.edu

Hanlin Zhu hzhu@g.harvard.edu

Xu Tang xutang@g.harvard.edu

Tiantong Li tiantongli@g.harvard.edu

Harvard University, Fall 2022

Broader Impact

funAD is a useful tool to reduce the computational burden by reducing the amount of manual computation and providing accurate results. Our package supports the forward mode of automatic differentiation, as well as gradient descent optimizer. funAD enables users to compute derivatives of complex functions with machine precision and high computational efficiency. Additional optimization function is implemented to generate local minima and maxima for the user. These functions mentioned above are applicable to many research areas. For example, computational biologists often need to perform the above calculations in order to estimate population growth and peaks for the target species. Optimizers such as gradient descent help minimize loss functions, which play a significant role in the development of neural networks, computer vision, and many statistical models. With the assistance of optimization functions and its computationally efficient nature, funAD can be very useful in training machine learning models and neural networks.This may also benefit economists and financial researchers who can minimize cost functions and maximize profit functions in the context of industrial, business and investment analysis to generate the best returns for their companies.

Unlike some models trained based on datasets, our package is essentially a specified calculator that follows mathematical expressions and rules. The package itself is not biased in any way. However, users should be careful not to use it in a discriminative way such as training machine learning models on biased datasets. Users need to discipline themselves not to use our package to bypass the calculation step when they need to find derivative results manually as a math assignment. Although the code is restricted to code.harvard.edu for grading purposes, our package is uploaded to PyPI, which is free to download and relatively easy to implement. Our email addresses are listed on PyPI's funAD package download page. Users can easily contact us with any feedback and suggestions.

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

funAD-1.0.3.tar.gz (11.9 kB view details)

Uploaded Source

Built Distribution

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

funAD-1.0.3-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file funAD-1.0.3.tar.gz.

File metadata

  • Download URL: funAD-1.0.3.tar.gz
  • Upload date:
  • Size: 11.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for funAD-1.0.3.tar.gz
Algorithm Hash digest
SHA256 760d72cabe36f5ef18ece833998a4a0a0b10255093294a5244776f08db65283b
MD5 a05c5538a065e9c8927a02789ec15be3
BLAKE2b-256 4879e01eb281e9779e1bcec0dc7812c2345942f84710fbfe64981118c40dbde1

See more details on using hashes here.

File details

Details for the file funAD-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: funAD-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 colorama/0.4.4 importlib-metadata/4.6.4 keyring/23.5.0 pkginfo/1.8.2 readme-renderer/34.0 requests-toolbelt/0.9.1 requests/2.25.1 rfc3986/1.5.0 tqdm/4.57.0 urllib3/1.26.5 CPython/3.10.6

File hashes

Hashes for funAD-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1051a12aaa58009d7766472144aaf0746f6e692ca61bef8061826e6ae47b53ec
MD5 f72bb6cf465d28f1577602b07bd9934e
BLAKE2b-256 fa6d93680614181fd53de84530fcae3bcfb9f01fd934d50dddebb8b9e0627238

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