diffcalculus

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


Keywords
python3, differentiation, calculus, diffcalculus, diff_calculus, differential
License
MIT
Install
pip install diffcalculus==0.1.6

Documentation

Differential-Calculus

Its Calculus, Differential Calculus a.k.a DiffCalculus, a Python 3.x package for Implementing Differentiation in Python

It is also available on PyPI

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))

2. 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(π) 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 understanding 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))