Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

python and calculating the power of a number

I was asked to calculate the cubed root of a number in python3 and used the following code:

import numpy as np          # numerical routines
def myfunct(x):
    return np.power(x,3./2.)

xStar = 4
print('Exact value at',xStar,' is in myfunc ',myfunct(xStar))

This is fine, however by accident I found the following works

import numpy as np          # numerical routines
def myfunct(x):
    return np.power(x,3./2.)

def anotherfunct(x):
    return pow(x,3./2.)

xStar = 4
print('value at',xStar,' is in myfunc',myfunct(xStar))
print('value at',xStar,' is in anotherfunc',anotherfunct(xStar))

N = 3
xpt = np.linspace( 8., 12., num=N )
print(xpt)
print(myfunct(xpt))
print(wrongfunct(xpt))

that seems to give the same answer, namely

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

[ 8.   9.5 11. ]
[22.627417   29.28096651 36.48287269]
[22.627417   29.28096651 36.48287269]

My question is, is pow() really the same as np.power() and, if so, would it be considered bad programming practice to use pow() over np.power() in numerical programming?

>Solution :

prehaps take a look at the documentation for both:

The arguments must have numeric types. With mixed operand types, the
coercion rules for binary arithmetic operators apply.

Raise each base in x1 to the positionally-corresponding power in x2.
x1 and x2 must be broadcastable to the same shape.

the main difference – as with most of the numpy functions compared to built in ones – is only relevant when you look at the types of values input. If you only expect to use single value inputs (calculate it for a single number only) then they will act identically, if you want to do the calculation for an array of inputs at once the built in pow won’t be happy with that.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading