The Motley Fool Discussion Boards
Fun & Games / Math Recreations & Puzzles
|Subject: Re: A (complex) puzzle||Date: 9/23/2011 3:06 PM|
|Author: rmhj||Number: 5785 of 5875|
LorenCobb: Not in Gnu Fortran, I believe. The Fortran call log(x), where x is complex, generates a complex answer (the principal value of the complex logarithm). These doc files
say as much, though they do not specify what would happen if the log function is called on a negative constant.
That is what I'd expect, FORTRAN having had COMPLEX data types since day IV (if not earlier). However, the argument is a REAL (or integer?), and I've long since forgotten FORTRAN's type conversion and promotion rules (and I don't know what they say about evaluation of constants at compile time). Unlike C, they're probably quite strict (ISTR that parentheses are inviolate in FORTRAN).
If you're angling to do all this in complex arithmetic, then the result probably comes out very weird if you apply Euler's identity, e^(i(theta)) = cos(theta) = i*sin(theta) after doing the original exponent rearrangement. If you do, then you get the ln(-4) ~= 1.386... + pi*i. Multiply by 3/2 (2.07944... + 4.7123...i) and exponentiate, and the result is -8i.
But I think most of us would understand any of these answers (domain error, 8, -8i).
|Copyright 1996-2015 trademark and the "Fool" logo is a trademark of The Motley Fool, Inc. Contact Us|