The Motley Fool Discussion Boards

Previous Page  
Fun & Games / Math Recreations & Puzzles 

URL:
http://boards.fool.com/lorencobbnotingnufortranibelievethe29560828.aspx


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 http://gcc.gnu.org/onlinedocs/gfortran/LOG.html 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). rj 

Copyright 19962015 trademark and the "Fool" logo is a trademark of The Motley Fool, Inc. Contact Us 