[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

*Subject*: Re: Old Question*From*: Jacques Basson <jfb37(at)mrao.cam.ac.uk>*Date*: Wed, 15 Dec 1999 10:10:27 +0000*Newsgroups*: comp.lang.idl-pvwave*Organization*: University of Cambridge, England*References*: <825pe3$ic9$1@pegasus.csx.cam.ac.uk> <3856FE95.B66C4961@tidewater.net>*Xref*: news.doit.wisc.edu comp.lang.idl-pvwave:17737

Ben Tupper wrote: > > Jacques Basson wrote: > > > Hi all > > > > Sorry, this has got to be an old question, but I can't seem to locate > > the answer. What is the way around the following problem? > > > > IDL> a = -1 > > IDL> print, -1^(1./3) > > -1.00000 > > IDL> print, a^(1./3) > > NaN > > % Program caused arithmetic error: Floating illegal operand > > > > Thanks > > Jacques > > Hello, > > I now know why it happens. In the documentation I see... > > Exponentiation > > The caret (^) is the exponentiation operator. A^B is equal to A raised to > the B power. > > · If A is a real number and B is of integer type, repeated multiplication > is applied. > · If A is real and B is real (non-integer), the formula A^B = e^(B ln A) > is evaluated. > · If A is complex and B is real, the formula A^B = (re^(iq))^B = r^B * > (cosBq + isinBq) (where r is the real part of A and iq is the imaginary > part) is evaluated. > > · If B is complex, the formula A^B = e^(B ln A) is evaluated. If A is > also complex, the natural logarithm is computed to be ln(A) = ln(re^(iq)) > = ln(r) + iq (where r is the real part of A and iq is the imaginary > part). > · A^0 is defined as 1. > > Your example falls into the second type of operation. I don't know how > to get around that but would like to know also. > > Ben > > -- > Ben Tupper > Pemaquid River Company > 248 Lower Round Pond Road > POB 106 > Bristol, ME 04539 > > Tel: (207) 563-1048 > Email: PemaquidRiver@tidewater.net I resorted to creating a simple function which basically does abs(a)^(1./3) * (2*(a gt 0) - 1) Slightly messy, but it works. Jacques

**Follow-Ups**:**Re: Old Question***From:*William Thompson

**References**:**Re: Old Question***From:*Ben Tupper

- Prev by Date:
**Re: Old Question** - Next by Date:
**Another Color Twist** - Prev by thread:
**Re: Old Question** - Next by thread:
**Re: Old Question** - Index(es):