# Python program for study of libraries statistics, math, numpy and scipy
import statistics
import math
import numpy as np
from scipy.special import comb
from scipy.special import perm
from scipy.special import logsumexp
data = [ 10 , 20 , 30 , 40 , 50 ]
# using statistics library
mean = statistics.mean ( data)
median= statistics.median ( data)
mode = statistics.mode ( data)
gm= statistics.geometric_mean ( data)
hm= statistics.harmonic_mean ( data)
print ( f"Mean: {mean}" )
print ( f"Median: {median}" )
print ( f"Mode: {mode}" )
print ( f"Geometric Mean : {gm}" )
print ( f"Harmonic Mean : {hm}" )
# using math library
x = math .sqrt ( 49 )
y= math .cbrt ( 64 )
z = math .ceil ( 1.4 )
w= math .floor ( 1.4 )
print ( f" Square Root of 49 is : {x}" )
print ( f" Cube Root of 64 is : {y}" )
print ( f" ceil value : {z}" )
print ( f"Floor value : {w}" )
# using numpy library
product = np.prod ( data)
total= np.sum ( data)
s = np.sin ( data)
c= np.cos ( data)
print ( f" Product of array elements is {product}" )
print ( f" Sum of array elements is {total}" )
print ( f" Sine of array elements are {s}" )
print ( f" Cosine of array elements are {c}" )
# using scipy library
cb= comb( 9 , 2 )
pr= perm( 5 , 4 )
lg = logsumexp( data)
print ( f" Combinatioons : {cb}" )
print ( f" Permutations : {pr}" )
print ( f" Log Sum Exponential of given array is {lg}" )
IyBQeXRob24gcHJvZ3JhbSBmb3Igc3R1ZHkgb2YgbGlicmFyaWVzIHN0YXRpc3RpY3MsIG1hdGgsIG51bXB5IGFuZCBzY2lweQoKaW1wb3J0IHN0YXRpc3RpY3MKaW1wb3J0IG1hdGgKaW1wb3J0IG51bXB5IGFzIG5wCmZyb20gc2NpcHkuc3BlY2lhbCBpbXBvcnQgY29tYgpmcm9tIHNjaXB5LnNwZWNpYWwgaW1wb3J0IHBlcm0KZnJvbSBzY2lweS5zcGVjaWFsIGltcG9ydCBsb2dzdW1leHAKCmRhdGEgPSBbMTAsMjAsMzAsNDAsNTBdCgojIHVzaW5nIHN0YXRpc3RpY3MgbGlicmFyeQptZWFuID0gc3RhdGlzdGljcy5tZWFuKGRhdGEpCm1lZGlhbj0gc3RhdGlzdGljcy5tZWRpYW4oZGF0YSkKbW9kZSA9IHN0YXRpc3RpY3MubW9kZShkYXRhKQpnbT0gc3RhdGlzdGljcy5nZW9tZXRyaWNfbWVhbihkYXRhKSAgCmhtPSBzdGF0aXN0aWNzLmhhcm1vbmljX21lYW4oZGF0YSkgCgpwcmludChmIk1lYW46IHttZWFufSIpCnByaW50KGYiTWVkaWFuOiB7bWVkaWFufSIpCnByaW50KGYiTW9kZToge21vZGV9IikKcHJpbnQoZiJHZW9tZXRyaWMgTWVhbiA6IHtnbX0iKQpwcmludChmIkhhcm1vbmljIE1lYW4gOiB7aG19IikKCiMgdXNpbmcgbWF0aCBsaWJyYXJ5CnggPSBtYXRoLnNxcnQoNDkpCnk9bWF0aC5jYnJ0KDY0KQp6ID0gbWF0aC5jZWlsKDEuNCkKdz0gbWF0aC5mbG9vcigxLjQpCgpwcmludChmIiBTcXVhcmUgUm9vdCAgb2YgNDkgIGlzIDoge3h9IikKcHJpbnQoZiIgQ3ViZSBSb290ICBvZiA2NCAgaXMgOiB7eX0iKQpwcmludChmIiBjZWlsICB2YWx1ZSA6IHt6fSIpCnByaW50KGYiRmxvb3IgdmFsdWUgOiB7d30iKQoKIyB1c2luZyBudW1weSBsaWJyYXJ5CnByb2R1Y3QgPSBucC5wcm9kKGRhdGEpCnRvdGFsPSBucC5zdW0oZGF0YSkKcyA9IG5wLnNpbihkYXRhKQpjPSBucC5jb3MoZGF0YSkKCnByaW50KGYiIFByb2R1Y3Qgb2YgYXJyYXkgZWxlbWVudHMgaXMgIHtwcm9kdWN0fSIpCnByaW50KGYiIFN1bSBvZiBhcnJheSBlbGVtZW50cyBpcyAge3RvdGFsfSIpCnByaW50KGYiIFNpbmUgb2YgYXJyYXkgZWxlbWVudHMgYXJlICB7c30iKQpwcmludChmIiBDb3NpbmUgb2YgYXJyYXkgZWxlbWVudHMgYXJlICB7Y30iKQoKIyB1c2luZyBzY2lweSBsaWJyYXJ5CmNiPSBjb21iKDksMikKcHI9IHBlcm0oNSw0KQpsZyA9bG9nc3VtZXhwKGRhdGEpCgpwcmludChmIiBDb21iaW5hdGlvb25zICA6IHtjYn0iKQpwcmludChmIiBQZXJtdXRhdGlvbnMgOiB7cHJ9IikKcHJpbnQoZiIgTG9nIFN1bSBFeHBvbmVudGlhbCBvZiBnaXZlbiBhcnJheSBpcyAge2xnfSIpCgo=