473,806 Members | 2,259 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

e to the i pi

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <complex.h>
/*
double complex z1, z2, z3;
bool flag;
z1 = .4 + .7I;
z2 = cpow(z1, 2.0);
z3 = z1 * z1;
flag = false;
flag = true;
if (flag)
{
printf("%lf %lf\n", creal(z1), cimag(z1));
printf("%lf %lf\n", creal(z2), cimag(z2));
printf("%lf %lf\n", creal(z3), cimag(z3));
printf("%d\n", N);
}
*/

int main(int argc, char *argv[])
{
double complex z1, z2, z3, z4, z5;
z1=5 +7I;
z2=cpow(z1, 1I);
printf("%lf %lf\n", creal(z1), cimag(z1));
printf("%lf %lf\n", creal(z2), cimag(z2));
z5= 0 + I*(3.14159);

z3=2.54 + 0*I;
z4=cpow(z5,z3);
printf("%lf %lf\n", creal(z4), cimag(z4));

system("PAUSE") ;
return 0;
}
Why doesn't e^(i *pi) equal what most folks think it does? LS
Feb 4 '07
123 4336
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.i nvalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
"Lane Straatman" <inva...@invali d.netwrote in message
Why doesn't e^(i *pi) equal what most folks think it does? LS
Most folks would say that if you try to multiply a number by itself an
imaginary number of times, that is impossible.
That's plane wrong.

Either you have a couple of axes to grind, or you're misreading what Malcolm
wrote, which rings true.
Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.

This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.
--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999http://www.cpax.org.uk
email: rjh at the above domain, - www.

Feb 5 '07 #51
jacob navia <ja***@jacob.re mcomp.frwrites:
osmium wrote:
"Fred Kleinschmidt" writes:
>Aren't M_PI and M_E defined in math.h?
Thankfully, no. Only in grotesque extensions to the language made
by certain vendors.
Definitions of constants have no proper place in a programming
language, it just leads to two sets of constants, a private set, for
M_AVOGADRO and the like, and the set that came with the compiler,
M_PI. and friends.
lcc-win32 defines M_PI if not in conforming mode, as gcc does, for
instance.
They are not standard C but are POSIX. I do not see the point
in defining PI again and again...
No, gcc doesn't define M_PI. <math.his part of the C library, not
part of the compiler. gcc uses whatever <math.hfile is provided by
the system (that's glibc on some, but by no means all, systems).
(Minor detail: the "fixinclude s" program creates a modified version of
<math.hwhen gcc is installed, but that doesn't affect M_PI.)

If we're going to discuss specific implementations , we need to know
what we're talking about. gcc is a compiler, not a full
implementation.

The point is that any program that depends on M_PI is non-portable.
A conforming C implementation *may not* define M_PI in <math.h>.

--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 5 '07 #52
"user923005 " <dc*****@connx. comwrites:
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.i nvalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
>"Lane Straatman" <inva...@invali d.netwrote in message
>>Why doesn't e^(i *pi) equal what most folks think it does? LS
>Most folks would say that if you try to multiply a number by itself an
>imaginary number of times, that is impossible.
That's plane wrong.
Either you have a couple of axes to grind, or you're misreading
what Malcolm wrote, which rings true.

Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.
You missed something. Hint: What is the singular of "axes"? (There
are two correct answers.)
This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.
Or perhaps to the even more famous equation e^(i*pi) + 1 = 0
(which I used to have on a t-shirt).

--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 5 '07 #53
On Feb 5, 1:10 pm, Keith Thompson <k...@mib.orgwr ote:
"user923005 " <dcor...@connx. comwrites:
On Feb 4, 7:23 am, Richard Heathfield <r...@see.sig.i nvalidwrote:
Eric Sosman said:
Malcolm McLean wrote:
"Lane Straatman" <inva...@invali d.netwrote in message
>Why doesn't e^(i *pi) equal what most folks think it does? LS
Most folks would say that if you try to multiply a number by itself an
imaginary number of times, that is impossible.
That's plane wrong.
Either you have a couple of axes to grind, or you're misreading
what Malcolm wrote, which rings true.
Actually, it's hilarious (if you consider the deliberate misspelling).
IMO-YMMV.

You missed something. Hint: What is the singular of "axes"? (There
are two correct answers.)
Is there anything more ironic than ironically missing the irony?
This is referring to the famous equation e^(i*pi) - 1 = 0
which is certainly true in the complex plane.

Or perhaps to the even more famous equation e^(i*pi) + 1 = 0
(which I used to have on a t-shirt).
Do I have to turn in my "math major" badge now?
:-(
--
Keith Thompson (The_Other_Keit h) k...@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.- Hide quoted text -

- Show quoted text -

Feb 5 '07 #54

"Lane Straatman" <in*****@invali d.netwrote in message
news:kY******** *************** *******@comcast .com...
>
"Keith Thompson" <ks***@mib.orgw rote in message
>On the other hand, perhaps Malcolm's subtlety just escaped me, in
which case I'm duly embarrassed to have missed it.
He's got me after complex roots, now, and I've thought about it enough to
want to write it from scratch.
#include <stdio.h>
#include <stdlib.h>
#include <complex.h>
#include <math.h>
int main(void)
{
double complex z1, z3, z4, z5;
double mod, phi, a, b, c, d;
z1 = .4 + .7I;
a = creal(z1);
b = cimag(z1);
mod = sqrt(pow(a, 2) + pow(b, 2));
phi = atan(b/a);
c = ( (sqrt(mod)) * cos( .5 * phi ) );
d = ( (sqrt(mod)) * sin( .5 * phi ) );
z4 = c + d*I;
z5 = cpow(z1, .5);
z3 = cpow(z4, 2.0);
printf("The square root of %lf %lfi\n", creal(z1), cimag(z1));
printf("is : %lf %lfi\n", creal(z4), cimag(z4));
printf("using cpow to get the root: %lf %lfi\n", creal(z5), cimag(z5));
printf("using cpow to check the square: %lf %lfi\n", creal(z3),
cimag(z3));
system("PAUSE") ;
return 0;
}
Am I going to get in trouble with atan as I've got it? LS
Feb 6 '07 #55

"Richard Heathfield" <rj*@see.sig.in validwrote in message
news:jd******** *************@b t.com...
Lane Straatman said:
>>
"Tim Prince" <tp*****@nospam computer.orgwro te in message
news:kY******* *********@newss vr23.news.prodi gy.net...
>>Lane Straatman wrote:
Since we have a bunch of
rationals in C, we have a bunch of transcendentals as the arctan's
of
these numbers. LS
In C, the atan() functions are a bunch of rationals. Ideally, in
certain ranges, with something resembling IEEE754 compliance, the
quality is measurable in ULPS difference between the actual result
and the
mathematicall y correct one. It looks like you jumped from C to
something else in mid-sentence.
You couldn't be more wrong.

Tim is right - atan() returns a double, and doubles have a finite number
of bits, so they literally *cannot* store irrational numbers. The best
they can do is store the closest rational approximation one can find
within the bits available.
The point is that if you have arctan of a rational then the *next* digit in
its expansion is not something that algebraic methods can get a hold of.
Where Dr. Kelly at the end of chp 24 of _Unleashed_ expands e to a page and
a half then has 99860 , do you have a bet what the next number would be? If
you expand one third for a page and a half, I could get that digit. LS
Feb 6 '07 #56

"Richard Bos" <rl*@hoekstra-uitgeverij.nlwr ote in message
news:45******** *********@news. xs4all.nl...
"Lane Straatman" <in*****@invali d.netwrote:
>Devcpp doesn't even have tgmath.h .

Of course it doesn't. It's a C89 implementation, not a C99 one.
"It" refers to what? ^^
>
> I copied it out of lcc

Bad idea, as you'd have known if you'd read the FAQ.
It's certainly not jacob's fault that I sniped his header and got errors by
the hundred.
>Is there something about tgmath.h that makes its inclusion here
ill-advised?

<http://c-faq.com/cpp/missinghdr.html >
I've never seen a stdbool.h that differed at all.
--
LS
"Hoekstra" is as common a name as "Jones" here in dutch Michigan. Pete
Hoekstra is the house representative from nearby Holland.
Feb 6 '07 #57
"Lane Straatman" <in*****@invali d.netwrites:
"Richard Bos" <rl*@hoekstra-uitgeverij.nlwr ote in message
news:45******** *********@news. xs4all.nl...
"Lane Straatman" <in*****@invali d.netwrote:
Devcpp doesn't even have tgmath.h .
Of course it doesn't. It's a C89 implementation, not a C99 one.
"It" refers to what? ^^
Um, devcpp? What else would it refer to?
I copied it out of lcc
Bad idea, as you'd have known if you'd read the FAQ.
It's certainly not jacob's fault that I sniped his header and got errors by
the hundred.
Nobody said it was jacob's fault.
Is there something about tgmath.h that makes its inclusion here
ill-advised?
<http://c-faq.com/cpp/missinghdr.html >
I've never seen a stdbool.h that differed at all.
That differed from what?

--
Keith Thompson (The_Other_Keit h) ks***@mib.org <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <* <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
Feb 6 '07 #58
Lane Straatman said:
"Richard Heathfield" <rj*@see.sig.in validwrote in message
news:jd******** *************@b t.com...
<snip>
>Tim is right - atan() returns a double, and doubles have a finite
number of bits, so they literally *cannot* store irrational numbers.
The best they can do is store the closest rational approximation one
can find within the bits available.
The point is that if you have arctan of a rational then the *next*
digit in its expansion is not something that algebraic methods can get
a hold of. Where Dr. Kelly
Actually, Ian is a very very very clever man, a fine fellow, an
excellent host, a talented musician, a superb programmer, and a quite
astounding linguist, but it has to be said, when all's said and done,
that he's not a doctor. I know the book says he is - at least three
times - but the book is wrong. That's probably my fault, because I
think I just kind of assumed he had a doctorate when I was setting up
the team, and it turns out he hasn't. If ever there were a failure of
the British education system, it is this: that it does not regard Ian
as a doctor. Having said that, I'm now going to stop making a fuss
about it. Instead, I would like to award Ian an honorary doctorate from
the University of Common Sense.
at the end of chp 24 of _Unleashed_ expands e to a page and
a half then has 99860 , do you have a bet what the next number would
be? If you expand one third for a page and a half, I could get that
digit.
Ian's expansion of e, however, was not done via calls to atan(), which
is what Tim Prince was talking about. atan() returns a double, and a
double cannot store an irrational number precisely. A circle can, but a
double can't.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Feb 6 '07 #59

"Richard Heathfield" <rj*@see.sig.in validwrote in message
Malcolm McLean said:
>>
"Richard Heathfield" <rj*@see.sig.in validwrote in message
>>>Microsoft have taken away my compiler. I bought a brand new Windows
Vista
machine, installed my copy of Visual Studio and - no executable.

You need Service Pack 7. Admittedly, Visual Studio won't work with that
either (possibly modulo emulators), but you get a perfectly capable C
compiler as part of the bundle. And of course it's completely free.
Seriously?

Er, no. Sorry, Malcolm, I thought you knew - "Service Pack 7" is the
traditional
name for Linux when being recommended as a fix for a Windows-specific
problem.
>I need a Windows library to compile my games and BASICdraw,

You have just discovered that Microsoft aren't all that interested in
supporting
"legacy software" (e.g. their own two-year-old compiler, if your account
is
anything to go by). Have you considered porting your stuff to a more
stable
platform?
They do offer a free compiler. It looks pretty horrid, but at least it
compiled "Hello World" - not without five minutes tweaking to get rid of a
file called stdafx.h it insisted on adding.

Anyway I have registered and agreed not to distribute any programs compiled
with it as open source, etc, etc, etc. I've no real choice. A computer isn't
a computer without a programming environment - it's just a glorified
typewriter.
Feb 6 '07 #60

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
11256
by: William C. White | last post by:
Does anyone know of a way to use PHP /w Authorize.net AIM without using cURL? Our website is hosted on a shared drive and the webhost company doesn't installed additional software (such as cURL) on the server because of that. Our site will have an SSL certificate next week, so I would like to use AIM instead of SIM, however, I don't know how to send data via POST over https and recieve data from the Authorize.net server over an https...
2
5849
by: Albert Ahtenberg | last post by:
Hello, I don't know if it is only me but I was sure that header("Location:url") redirects the browser instantly to URL, or at least stops the execution of the code. But appearantely it continues to execute the code until the browser send his reply to the header instruction. So an exit(); after each redirection won't hurt at all
3
23045
by: James | last post by:
Hi, I have a form with 2 fields. 'A' 'B' The user completes one of the fields and the form is submitted. On the results page I want to run a query, but this will change subject to which field is completed.
0
8502
by: Ollivier Robert | last post by:
Hello, I'm trying to link PHP with Oracle 9.2.0/OCI8 with gcc 3.2.3 on a Solaris9 system. The link succeeds but everytime I try to run php, I get a SEGV from inside the libcnltsh.so library. 354 roberto@ausone:Build/php-4.3.2> ldd /opt/php4/bin/php libsablot.so.0 => /usr/local/lib/libsablot.so.0 libstdc++.so.5 => /usr/local/lib/libstdc++.so.5 libm.so.1 => /usr/lib/libm.so.1
1
8615
by: Richard Galli | last post by:
I want viewers to compare state laws on a single subject. Imagine a three-column table with a drop-down box on the top. A viewer selects a state from the list, and that state's text fills the column below. The viewer can select states from the drop down lists above the other two columns as well. If the viewer selects only one, only one column fills. If the viewer selects two states, two columns fill. Etc. I could, if appropriate, have...
4
18312
by: Albert Ahtenberg | last post by:
Hello, I have two questions. 1. When the user presses the back button and returns to a form he filled the form is reseted. How do I leave there the values he inserted? 2. When the user comes back to a page where he had a submitted POST data the browser keeps telling that the data has expired and asks if repost. How to avoid that? I tried registering all POST and GET vars as SESSION vars but
1
6877
by: inderjit S Gabrie | last post by:
Hi all Here is the scenerio ...is it possibly to do this... i am getting valid course dates output on to a web which i have designed ....all is okay so far , look at the following web url http://www.mis.gla.ac.uk/biquery/training/ but each of the courses held have maximum of 8 people that could be
2
31451
by: Jack | last post by:
Hi All, What is the PHP equivilent of Oracle bind variables in a SQL statement, e.g. select x from y where z=:parameter Which in asp/jsp would be followed by some statements to bind a value to :parameter I dont like the idea of making the SQL statement on the fly without binding parameters as I dont want a highly polluted SQL cache.
3
23607
by: Sandwick | last post by:
I am trying to change the size of a drawing so they are all 3x3. the script below is what i was trying to use to cut it in half ... I get errors. I can display the normal picture but not the results of the picture half the size. The PHP I have installed support 1.62 or higher. And all I would like to do is take and image and make it fit a 3x3. Any suggestions to where I should read or look would be appreciated.
0
9596
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10617
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10364
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10109
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5545
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5678
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4328
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3849
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
3008
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.