complexdiff.jl

"I can't believe it's not real!"

https://github.com/miguelraz/complexdiff.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.4%) to scientific vocabulary

Keywords from Contributors

ida interactive packaging network-simulation hacking embedded optim standardization projection generic
Last synced: 6 months ago · JSON representation ·

Repository

"I can't believe it's not real!"

Basic Info
  • Host: GitHub
  • Owner: miguelraz
  • License: mit
  • Language: Julia
  • Default Branch: main
  • Size: 97.7 KB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 1
  • Releases: 0
Created over 1 year ago · Last pushed 7 months ago
Metadata Files
Readme License Code of conduct Citation

README.md

ComplexDiff.jl

Stable Documentation In development documentation Build Status Test workflow status Lint workflow Status Docs workflow Status Coverage DOI Contributor Covenant All Contributors BestieTemplate

I can't believe it's not real autodiff

Say you like finite differences, but dislike how they succumb to catastrophic cancellation. Define

math f^\prime(x_0) \equiv \lim_{h\to 0} \textrm{Im}\left(\frac{f(x_0+i h)}{h}\right),

instead of the usual

math f^\prime(x_0) \equiv \lim_{h\to 0} \left(\frac{f(x_0 + h) - f(x_0 - h)}{2h}\right),

where $i^2 = -1$ and $\textrm{Im}(z)$ the imaginary part of $z$.

If you plot it, you get something like

finitediff

whereas the complex difference scheme as described in Squire and Trapp or Nick Higham's blog will give you

complexdiff

where the lack of subtraction will let you have accurate approximations even when $x_0 = 10^-100$.

WIP: This package implements that approach, and bridges your Julian experience via DifferentiationInterface.jl and ADTypes.jl.

How to Cite

If you use ComplexDiff.jl in your work, please cite using the reference given in CITATION.cff.

Contributing

If you want to make contributions of any kind, please first that a look into our contributing guide directly on GitHub or the contributing page on the website


Contributors

Owner

  • Name: Miguel Raz Guzmán Macedo
  • Login: miguelraz
  • Kind: user
  • Location: UNAM, Mexico
  • Company: UNAM

Wannabe time bandit. Computational physics. Julia. Any comments/critiques/suggestions/PRs more than encouraged. 👍 Always looking to learn! 👍

Citation (CITATION.cff)

# Go to https://citation-file-format.github.io/cff-initializer-javascript/#/ to finish this
cff-version: 1.2.0
title: ComplexDiff.jl
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:

GitHub Events

Total
  • Watch event: 3
  • Delete event: 3
  • Push event: 8
  • Pull request event: 7
  • Create event: 5
Last Year
  • Watch event: 3
  • Delete event: 3
  • Push event: 8
  • Pull request event: 7
  • Create event: 5

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 8
  • Total Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.25
Past Year
  • Commits: 8
  • Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.25
Top Committers
Name Email Commits
mrg m****z@c****x 6
dependabot[bot] 4****] 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 7 months ago