Calc. on the command line - with LaTeX output.
Project description
handyderivatives
A command line program to do some differential calculus. This is essentially a wrapper for some of SymPy's calculus tools. Here is SymPy's calculus documentation.
Right now it has the functionality listed below.
- Differentiate elementary functions.
- Get the gradient of a scalar field.
Installation
pip3 install handyderivatives
Running it
To get the derivatives for an arbitrary number of functions of a single variable.
handyderivatives -d 'f(x) = x ^ 2' 'g(x) = sin(x) + 2 * x'
To get the gradient for an arbitrary number of scalar functions.
handyderivatives -g 'f(x,y,z) = ln(x / (2 * y)) - z^2 * (x - 2 * y) - 3*z'
Or run that with one command.
handyderivatives -d 'f(x) = x ^ 2' 'g(x) = sin(x) + 2 * x' -g 'f(x,y,z) = ln(x / (2 * y)) - z^2 * (x - 2 * y) - 3*z'
To differentiate a list of functions in a file and output that to a LaTeX document.
handyderivatives --latex -f functions.txt
handyderivatives -l -f functions.txt
The -l
flag can also be used in the earlier examples.
Help
usage: handyderivatives [-h] [--input-file FILE] [--latex] [--diff [DIFFERENTIAL [DIFFERENTIAL ...]]] [--gradient [GRADIENT [GRADIENT ...]]]
Command line differential calculus tool using SymPy.
Try running:
handyderivatives -l -g 'f(x,y) = sin(x) * cos(y)'
optional arguments:
-h, --help show this help message and exit
--input-file FILE, -f FILE
Input file
--latex, -l Compile a LaTeX document as output
--diff [DIFFERENTIAL [DIFFERENTIAL ...]], -d [DIFFERENTIAL [DIFFERENTIAL ...]]
Works for equations written in the form 'f(x) = x ^2'
--gradient [GRADIENT [GRADIENT ...]], -g [GRADIENT [GRADIENT ...]]
Works for scalar functions written in form 'f(x,y,z) = x ^2 * sin(y) * cos(z)'
How the input file should be formatted
Edit a file that has functions listed one per line. The left hand side should be what your function will be differentiated with respect to, i.e f(x) . The right hand side will be the expression.
# This is how the file for the argument -f should be formatted.
c(x) = r * (cos(x) + sqrt(-1) * sin(x))
a(t) = 1/2 * g * t ** 2
f(x) = sin(x**2) * x^2
h(w) = E ^ (w^4 - (3 * w)^2 + 9) # Capital E is interpreted by SymPy as the base of the natural log.
g(x) = exp(3 * pi) # So is exp(x), but written as a function taking an argument.
p(j) = csc(j^2)
If you don't format it like that you will likely run into errors. You can add comments.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file handyderivatives-2.3.2.tar.gz
.
File metadata
- Download URL: handyderivatives-2.3.2.tar.gz
- Upload date:
- Size: 17.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.8.10 Linux/5.11.0-38-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56d469eb0cbde32490c61f72ba64369aad0b93c73e51f3620c84b4b7280ad0c3 |
|
MD5 | 857fcb3ecaded43caf669da38d30aa2c |
|
BLAKE2b-256 | c38f9f9243d0f5405499f2f75ce02e430b109cda99e9f8fe5fb9ba6195c0d096 |
File details
Details for the file handyderivatives-2.3.2-py3-none-any.whl
.
File metadata
- Download URL: handyderivatives-2.3.2-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.10 CPython/3.8.10 Linux/5.11.0-38-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17cd7d6e6b9e9bf76c796fbb50bbff8c9d19ac7c8f289d58f46f3a13fa1dc490 |
|
MD5 | 4f38ca870b3684795951090b0f094d90 |
|
BLAKE2b-256 | 837adbb5b18c5e818f061709a03c25a19dd51be7b647c7807efcda59ce1612c8 |