Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danthe1st/autoderivr
https://github.com/danthe1st/autoderivr
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/danthe1st/autoderivr
- Owner: danthe1st
- License: gpl-3.0
- Created: 2023-09-23T15:33:17.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-10-04T11:18:10.000Z (about 1 year ago)
- Last Synced: 2024-04-24T06:29:37.491Z (7 months ago)
- Language: Java
- Size: 108 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AutoDerivR
This program can calculate calculate derivatives based on a computation tree.
## Capabilities
The class [`Node`](src/main/java/io/github/danthe1st/autoderivr/operations/Node.java) represents a calculation.
`Node`s can be evaluated with certain values of variables.
Also, it is possible to symbolically calculate the derivative of a `Node` with respect to a given `Variable` using the `derivative` method.
This project is also capable to perform some simplifications (e.g. remove additions/multiplications with 0)Examples can be found in the [tests](src/test/java), e.g. the [`CombinedTests`](src/test/java/io/github/danthe1st/autoderivr/tests/CombinedTests.java) or [`TrigTests`](src/test/java/io/github/danthe1st/autoderivr/tests/arithmetic/concrete/TrigTests.java) classes.
## Javadocs
Javadocs can be found on [GitHub Pages](https://danthe1st.github.io/AutoDerivR/)### Supported operations
The following operations are supported:
- basic arithmetic: addition, subtraction, multiplication, division
- powers (with a constant exponent), exponentials (with a constant base), logarithms (with a constant base) and roots (with a constant index)
- trigonometric functions: sine, cosine, tangent and their inverses
- Piecewise defined functions## Setup
This project uses [Maven](https://maven.apache.org/download.cgi) and requires [Java 21](https://jdk.java.net/21/).If Maven and Java 21 is installed, the tests can be run using the command `mvn test`
### Eclipse
This project requires Eclipse 2023-09 (4.29) and the plugin [Java 21 Support for Eclipse 2023-09 (4.29)](https://marketplace.eclipse.org/content/java-21-support-eclipse-2023-09-429).For importing this project in Eclipse, select `File`>`Import`>`Maven`>`Existing Maven Project` and import this project.
### IntelliJ
Import this project as a Maven project.It is possible that IntelliJ shows false compiler errors due to the use of [Record Patterns](https://openjdk.org/jeps/440).
If this is the case, it should still be possible to run this project.