Skip to main content

A Python 3.x package that implements Differentiation and a whole other functionalities.

Project description

diffcalculus

A Python package that implements Differential Calculus. It is also available on GitHub

Installation

Please Note :- Requires Python Version 3.x

If there are 2 or more versions of Python installed in your system (which mostly occurs in UNIX/Linux systems) then please run any one of the commands in the BASH/ZSH Shell :-

$ pip3 install DiffCalculus
$ python3 -m pip install DiffCalculus

If there is only Python 3.x installed in your system like in Windows systems then please run any one of commands in the Command Prompt :-

>pip install DiffCalculus
>python -m pip install DiffCalculus

Quick Guide

Please Read Till the End

  • Import the module using import diffcalculus as dc.

  • diffcalculus.functions.* contains all the differentiable functions.

    • For functions of roots of x, please use diffcalculus.functions.x(<exponent>), like
      • diffcalculus.functions.x() creates a sqrt(x) function.
      • diffcalculus.functions.x(0.34) creates a cbrt(x) function.
  • diffcalculus.differentiate() differentiates the given function with respect to the variable x. Please Refer to Differentiation of Functions below.

  • diffcalculus.differentiateAtPoint() differentiates the given function with respect to the variable x at the given point. Please Refer to Differentiation of a Function at a particular point below.

  • diffcalculus.substitute substitutes the given value for the variable x in the given function. Please Refer to 'substitute' Function Implementation below.

  • diffcalculus.errors.* contains all the Exceptions, which may occur during calculation.

Sample Implementations

Please Note :- Differentiation of all the functions happens with respect to the variable x only.

1. Differentiation of Functions :-

1.1. Differentiation of Simple Functions

a) Differentiate sin(x)

import diffcalculus as dc

sin = dc.functions.sin()
print(dc.differentiate(sin))

b) Differentiate sin⁻¹(x)

import diffcalculus as dc

sin_inv = dc.functions.sinInv()
print(dc.differentiate(sin_inv))

c) Differentiate x² + 2x + 1

import diffcalculus as dc

poly = dc.functions.polynomial([1, 2], constant=1)
print(dc.differentiate(poly))

1.2. Differentiation of Complex Functions :-

a) Differentiate sin(sqrt(x))

import diffcalculus as dc

sqrt_x = dc.functions.x()
func = dc.functions.sin(sqrt_x)

print(dc.differentiate(func))

b) Differentiate ln(3x³ + 2x² + 5x)

import diffcalculus as dc

poly = dc.functions.polynomial([3, 2, 5])
func = dc.functions.log(poly)

print(dc.differentiate(func))

c) Differentiate sin(x) + cos(x)

import diffcalculus as dc

sin = dc.functions.sin()
cos = dc.functions.cos()
func = a+b

print(dc.differentiate(func))

3. Differentiation of a Function at a particular point :-

a) Differentiate sin(x) at x = π/2 Result Should be 0

import diffcalculus as dc
from math import pi

sin, point = dc.functions.sin(), pi/2

print(dc.differentiateAtPoint(sin, point))

b) Differentiate sqrt(x) at x = 4 Result Should be 0.25

import diffcalculus as dc

sqrt_x, point = dc.functions.x(), 4

print(dc.differentiateAtPoint(sqrt_x, point))

'substitute' Function Implementation :-

Besides Differentiation of Functions and also their Differentiation at a particular point; The Package also contains a 'substitute' Function which substitutes a value for the variable x in the given function.

a) The Value of sin(x) at x = π Result should be 0

import diffcalculus as dc
from math import pi

sin, point = dc.functions.sin(), pi

print(dc.substitute(sin, point))

Please Note :-

  • For Trigonometric Functions, please pass angles in RADIANS, NOT IN DEGREES; for an accurate and precise Result.
  • Inverse Trigonometric Functions returns angles in DEGREES and NOT IN RADIANS for better understandability from the Output.

a) The Value of 3x³ + 2x² + 5x + 10 at x = 2 Result should be 52

import diffcalculus as dc
from math import pi

poly, point = dc.functions.polynomial([3, 2, 5], constant=10), 2

print(dc.substitute(poly, point))

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

diffcalculus-0.1.6.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diffcalculus-0.1.6-py3-none-any.whl (8.9 kB view details)

Uploaded Python 3

File details

Details for the file diffcalculus-0.1.6.tar.gz.

File metadata

  • Download URL: diffcalculus-0.1.6.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

File hashes

Hashes for diffcalculus-0.1.6.tar.gz
Algorithm Hash digest
SHA256 8a907dbe3715e5799ca3e6765d7cf800445f323c4b3cbc6703be507dfb5bb6c5
MD5 8688f6295b4e18eb727c9ecc832df4dc
BLAKE2b-256 9d8081b4c83145ab4ce9a3538552ae123434a87651e16585173d4157e86b91cf

See more details on using hashes here.

File details

Details for the file diffcalculus-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: diffcalculus-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 8.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.7.3

File hashes

Hashes for diffcalculus-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 25e852b787785ecc80cc1377032d39183ddc0eb787e1e03dbc7b45be2ab7bfdb
MD5 b37fd27438fbdcda730bf6ff85ee5be6
BLAKE2b-256 af71cf8569e61a4e5b3f4dfa489339851ae367cf90d477c0b489d57c7a920789

See more details on using hashes here.

Supported by

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