Skip to main content

A Python package for automatic differentiation, root-finding, optimization, and interpolation

Project description

cs107-FinalProject

Group #32

Aditya Kumar, Carlos Robles, Blake Bullwinkel

Travis Build Badge: Build Status

Codecoverage Badge: codecov

DreamDiff is a Python package for automatic differentiation, root-finding, optimization, and interpolation.

Our goal for DreamDiff is for it to live well beyond the confines of a computer science course, as all good software should. While we believe it has potential to be used in a wide range of exciting applications, it is important to also consider the broader implications of our software.

Our package implements forward-mode automatic differentiation, gradient descent, Nesterov's accelerated gradient descent, Newton’s method and quadratic splines. All these tools have distinct usages, but we hope the convenience of a centralized optimization package provides some extra utility to users working on various optimization tasks in machine learning, minimization and maximization problems, and interpolation using quadratic splines.

Further, we hope that the visualization and animation functionality built into our optimization functions serve as a useful educational tool, providing a more intuitive understanding of how these methods work and encouraging math and computer science education more broadly. Perhaps most importantly, we hope that by open-sourcing our software, it will be accessible to as many people as possible. We believe that open-source platforms like GitHub have inherent advantages for inclusivity, providing open access to people around the world who may want to utilize or build upon its core functionality. Nonetheless, it is important to address the more subtle yet persistent inequities in software development and the broader field of computer science.

For example, open source still requires an internet connection, which automatically excludes the 3.6 billion people across the globe (around 47% of the world's population) who do not use the internet, let alone have a computer or access to the educational resources required to learn basic STEM skills. But even in regions of the world where internet access is not an issue, historical gender imbalances have created barriers for women and people of color in computer science. Regardless of your own background, we ask that you keep these inequities in mind and consider how your own work environment can be made more inclusive, particularly for groups that face historical barriers in STEM fields.

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

DreamDiff-1.0.1.tar.gz (11.7 kB view details)

Uploaded Source

File details

Details for the file DreamDiff-1.0.1.tar.gz.

File metadata

  • Download URL: DreamDiff-1.0.1.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.3

File hashes

Hashes for DreamDiff-1.0.1.tar.gz
Algorithm Hash digest
SHA256 da439b48f7e1e534ec1acdceba3f6eb79d99b817856d2eba7a1278b125586341
MD5 481de8d75fbab3c5be17c18dc9f9cdde
BLAKE2b-256 7838335e4a32d3621cb6ce7b932af180c4ecce31154c53adbb59e8ff0ecce0d0

See more details on using hashes here.

Supported by

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