{"id":15032158,"url":"https://github.com/itt-ustutt/num-dual","last_synced_at":"2026-02-20T11:02:44.738Z","repository":{"id":39883526,"uuid":"289900980","full_name":"itt-ustutt/num-dual","owner":"itt-ustutt","description":"Generalized (hyper-) dual numbers in rust","archived":false,"fork":false,"pushed_at":"2026-01-13T14:53:06.000Z","size":7156,"stargazers_count":81,"open_issues_count":3,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-01-14T00:59:05.873Z","etag":null,"topics":["automatic-differentiation","numerical-methods","python","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itt-ustutt.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"license-apache","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-08-24T10:46:26.000Z","updated_at":"2026-01-14T00:49:30.000Z","dependencies_parsed_at":"2025-06-15T18:35:16.933Z","dependency_job_id":"fdf364df-6992-4e2e-a653-88f900998b3c","html_url":"https://github.com/itt-ustutt/num-dual","commit_stats":{"total_commits":76,"total_committers":8,"mean_commits":9.5,"dds":0.513157894736842,"last_synced_commit":"e3c7c41c57c79e83cd8778b09dece25255ef8017"},"previous_names":["itt-ustutt/num-hyperdual"],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/itt-ustutt/num-dual","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itt-ustutt%2Fnum-dual","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itt-ustutt%2Fnum-dual/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itt-ustutt%2Fnum-dual/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itt-ustutt%2Fnum-dual/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itt-ustutt","download_url":"https://codeload.github.com/itt-ustutt/num-dual/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itt-ustutt%2Fnum-dual/sbom","scorecard":{"id":266060,"data":{"date":"2025-08-11","repo":{"name":"github.com/itt-ustutt/num-dual","commit":"6ca46346daf23cd9d3e29ea1607e9943d864d761"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":3,"reason":"4 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 3","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":2,"reason":"Found 6/30 approved changesets -- score normalized to 2","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/documentation.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Warn: no topLevel permission defined: .github/workflows/rust.yml:1","Warn: no topLevel permission defined: .github/workflows/wheels.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation.yml:14: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/documentation.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/documentation.yml:44: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/documentation.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/documentation.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:67: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:77: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:84: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:110: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/rust.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/rust.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:58: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/wheels.yml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/wheels.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/itt-ustutt/num-dual/wheels.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/documentation.yml:21","Warn: pipCommand not pinned by hash: .github/workflows/documentation.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:118","Info:   0 out of  32 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  13 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: license-apache:0","Info: FSF or OSI recognized license: Apache License 2.0: license-apache:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 25 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T12:04:28.411Z","repository_id":39883526,"created_at":"2025-08-17T12:04:28.411Z","updated_at":"2025-08-17T12:04:28.411Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29648434,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T09:27:29.698Z","status":"ssl_error","status_checked_at":"2026-02-20T09:26:12.373Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automatic-differentiation","numerical-methods","python","rust"],"created_at":"2024-09-24T20:17:33.787Z","updated_at":"2026-02-20T11:02:44.732Z","avatar_url":"https://github.com/itt-ustutt.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# num-dual\n\n[![crate](https://img.shields.io/crates/v/num-dual.svg)](https://crates.io/crates/num-dual)\n[![documentation](https://docs.rs/num-dual/badge.svg)](https://docs.rs/num-dual)\n[![minimum rustc 1.81](https://img.shields.io/badge/rustc-1.81+-red.svg)](https://rust-lang.github.io/rfcs/2495-min-rust-version.html)\n[![documentation](https://img.shields.io/badge/docs-github--pages-blue)](https://itt-ustutt.github.io/num-dual/)\n[![PyPI version](https://badge.fury.io/py/num_dual.svg)](https://badge.fury.io/py/num_dual)\n\nGeneralized, recursive, scalar and vector (hyper) dual numbers for the automatic and exact calculation of (partial) derivatives.\nIncluding bindings for python.\n\n\n## Installation and Usage\n\n### Python\n\nThe python package can be installed directly from PyPI:\n```\npip install num_dual\n```\n[//]: # \"or from source (you need a rust compiler for that):\"\n[//]: # \"```\"\n[//]: # \"pip install git+https://github.com/itt-ustutt/num-dual\"\n[//]: # \"```\"\n\n### Rust\n\nAdd this to your `Cargo.toml`:\n\n```toml\n[dependencies]\nnum-dual = \"0.13\"\n```\n\n## Example\n\n### Python\n\nCompute the first and second derivative of a scalar-valued function.\n\n```python\nfrom num_dual import second_derivative\nimport numpy as np\n\ndef f(x):\n    return np.exp(x) / np.sqrt(np.sin(x)**3 + np.cos(x)**3)\n\nf, df, d2f = second_derivative(f, 1.5)\n\nprint(f'f(x)    = {f}')\nprint(f'df/dx   = {df}')\nprint(f'd2f/dx2 = {d2f}')\n```\n\n### Rust\nThis example defines a generic function that can be called using any (hyper) dual number and automatically calculates derivatives.\n```rust\nuse num_dual::*;\nuse nalgebra::SMatrix;\n\nfn f\u003cD: DualNum\u003cf64\u003e\u003e(x: D, y: D) -\u003e D {\n    x.powi(3) * y.powi(2)\n}\n\nfn main() {\n    let (x, y) = (5.0, 4.0);\n    // Calculate a simple derivative using dual numbers\n    let x_dual = Dual64::from(x).derivative();\n    let y_dual = Dual64::from(y);\n    println!(\"{}\", f(x_dual, y_dual)); // 2000 + 1200ε\n\n    // or use the provided function instead\n    let (_, df) = first_derivative(|x| f(x, y.into()), x);\n    println!(\"{df}\"); // 1200\n\n    // Calculate a gradient\n    let (value, grad) = gradient(|v| f(v[0], v[1]), \u0026SMatrix::from([x, y]));\n    println!(\"{value} {grad}\"); // 2000 [1200, 1000]\n\n    // Calculate a Hessian\n    let (_, _, hess) = hessian(|v| f(v[0], v[1]), \u0026SMatrix::from([x, y]));\n    println!(\"{hess}\"); // [[480, 600], [600, 250]]\n\n    // for x=cos(t) and y=sin(t) calculate the third derivative w.r.t. t\n    let (_, _, _, d3f) = third_derivative(|t| f(t.cos(), t.sin()), 1.0);\n    println!(\"{d3f}\"); // 7.358639755305733\n}\n```\n\n## Documentation\n\n- You can find the documentation of the rust crate [here](https://docs.rs/num-dual/).\n- The documentation of the python package can be found [here](https://itt-ustutt.github.io/num-dual/).\n\n### Python\n\nFor the following commands to work you have to have the package installed (see: installing from source).\n\n```\ncd docs\nmake html\n```\nOpen `_build/html/index.html` in your browser.\n\n## Further reading\n\nIf you want to learn more about the topic of dual numbers and automatic differentiation, we have listed some useful resources for you here:\n\n- Initial paper about hyper-dual numbers: [Fike, J. and Alonso, J., 2011](https://arc.aiaa.org/doi/abs/10.2514/6.2011-886)\n- Website about all topics regarding automatic differentiation: [autodiff.org](http://www.autodiff.org/)\n- Our paper about dual numbers in equation of state modeling: [Rehner, P. and Bauer, G., 2021](https://www.frontiersin.org/article/10.3389/fceng.2021.758090)\n\n## Cite us\n\nIf you find `num-dual` useful for your own scientific studies, consider [citing our publication](https://www.frontiersin.org/article/10.3389/fceng.2021.758090) accompanying this library.\n\n```\n@ARTICLE{rehner2021,\n    AUTHOR={Rehner, Philipp and Bauer, Gernot},\n    TITLE={Application of Generalized (Hyper-) Dual Numbers in Equation of State Modeling},\n    JOURNAL={Frontiers in Chemical Engineering},\n    VOLUME={3},\n    YEAR={2021},\n    URL={https://www.frontiersin.org/article/10.3389/fceng.2021.758090},\n    DOI={10.3389/fceng.2021.758090},\n    ISSN={2673-2718}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitt-ustutt%2Fnum-dual","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitt-ustutt%2Fnum-dual","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitt-ustutt%2Fnum-dual/lists"}