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
- Import the module using
import diffcalculus as dc
. diffcalculus.functions.*
contains all the differentiable functions.diffcalculus.differentiate()
differentiates the given function with respect to the variable x. Please Refer to Differentiation of Functionsdiffcalculus.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 pointdiffcalculus.substitute
substitutes the given value for the variable x in the given function. Please Refer to 'substitute' Function Implementationdiffcalculus.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(π) 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))
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
Built Distribution
Hashes for diffcalculus-0.1.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc828925dfcecf31939bbad7d0c9de79c328f9281d5f4fd4b3f13d3d68e70299 |
|
MD5 | e028dabfa9cb4daaa61f6d9af8126692 |
|
BLAKE2b-256 | 485cc6893b864647f2cb0a9e2b5bb915a676f2c57c8a70233361e076b2e64aab |