# [Matrix-SIG] Power of trigs

**Andrey Kaliazin
**
KaliazinA@cardiff.ac.uk

*Thu, 19 Mar 1998 15:32:25 -0000*

-----Original Message-----
From: Dave Stinchcombe <dars@soton.ac.uk>
To: matrix-sig@python.org <matrix-sig@python.org>
Date: 19 March 1998 11:49
Subject: [Matrix-SIG] Power of trigs
>*Hi again,
*>*This morning I needed to write a quick and easy root finder, so obviously I
*>*grabbed Numeric Python.
*>*
*>*I have a problem though. I wrote the line:
*>*Numeric.power(Numeric.cos(phi),1-2*nus)
*>*
*>*where nus is a constant of 0.3. phi is an array holding a list of values
*>*I'm searching through. The problem comes that this line fails when phi is
*>*greater than pi/2.
*>*
*>*Now obviously this is due to the fact I'm trying to calculate a complex (or
*>*at the very least an imaginary) number. But I want to. Can any one give
*>*some suggestions as to how to cope, or in some way make python also believe
*>*in complex numbers.
*>*
*Decision seems to be simple in this case -
just convert explicitly first argument to a complex number format:
>>>* pow(-1, 1.0)
*Traceback (innermost last):
File "<stdin>", line 1, in ?
ValueError: negative number to float power
while:
>>>* pow(complex(-1),1.0)
*(-1+0j)
or
>>>* pow(-2+0j,0.5)
*(8.65927457072e-017+1.41421356237j)
But I am glad to rise again the question of weak argument's checking in
pow().
I do not want always to check validity of all possible combinations of input
arguments.
I just want pow() to return most suitable and valid result.
Andy K.