Skip to main content

Calc. on the command line - with LaTeX output.

Project description

handyderivatives

PyPi link

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

handyderivatives-2.3.2.tar.gz (17.2 kB view details)

Uploaded Source

Built Distribution

handyderivatives-2.3.2-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

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

Hashes for handyderivatives-2.3.2.tar.gz
Algorithm Hash digest
SHA256 56d469eb0cbde32490c61f72ba64369aad0b93c73e51f3620c84b4b7280ad0c3
MD5 857fcb3ecaded43caf669da38d30aa2c
BLAKE2b-256 c38f9f9243d0f5405499f2f75ce02e430b109cda99e9f8fe5fb9ba6195c0d096

See more details on using hashes here.

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

Hashes for handyderivatives-2.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 17cd7d6e6b9e9bf76c796fbb50bbff8c9d19ac7c8f289d58f46f3a13fa1dc490
MD5 4f38ca870b3684795951090b0f094d90
BLAKE2b-256 837adbb5b18c5e818f061709a03c25a19dd51be7b647c7807efcda59ce1612c8

See more details on using hashes here.

Supported by

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