Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: "Chris M. Thomasson" Newsgroups: sci.math Subject: Re: Division of two complex numbers Date: Mon, 20 Jan 2025 13:28:35 -0800 Organization: A noiseless patient Spider Lines: 169 Message-ID: References: <1f331uj8cjsge$.rox7zzvx5o63$.dlg@40tude.net> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 20 Jan 2025 22:28:36 +0100 (CET) Injection-Info: dont-email.me; posting-host="f83ba5790de8b51aa60b613f63b035eb"; logging-data="3613930"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+FpfuuGVMdVeAn3dSIrSLsQcCdvi7Lg8M=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:Nek5JL4IOGw2DiraVgGNaPQ5t28= Content-Language: en-US In-Reply-To: Bytes: 6441 On 1/20/2025 1:09 PM, Python wrote: > Le 20/01/2025 à 22:06, "Chris M. Thomasson" a écrit : >> On 1/20/2025 1:04 PM, Python wrote: >>> Le 20/01/2025 à 21:59, "Chris M. Thomasson" a écrit : >>>> On 1/20/2025 12:51 PM, Python wrote: >>>>> Le 20/01/2025 à 21:44, "Chris M. Thomasson" a écrit : >>>>>> On 1/20/2025 12:20 PM, Python wrote: >>>>>>> Le 20/01/2025 à 21:09, Tom Bola a écrit : >>>>>>>> Am 20.01.2025 20:33:12 Moebius schrieb: >>>>>>>> >>>>>>>>> Am 20.01.2025 um 19:27 schrieb Python: >>>>>>>>>> Le 20/01/2025 à 19:23, Richard Hachel  a écrit : >>>>>>>>>>> Le 20/01/2025 à 19:10, Python a écrit : >>>>>>>>>>>> Le 20/01/2025 à 18:58, Richard Hachel  a écrit : >>>>>>>>>>>>>>> Mathematicians give: >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> z1/z2=[(aa'+bb')/(a'²+b'²)]+i[(ba'-ab')/(a'²+b'²)] >>>>>>>>>>>>>>> >>>>>>>>>>>>>>> It was necessary to write: >>>>>>>>>>>>>>> z1/z2=[(aa'-bb')/(a'²-b'²)]+i[(ba'-ab')/(a'²-b'²)] >>>>>>>>>>> >>>>>>>>>>>> I've explained how i is defined in a positive way in modern >>>>>>>>>>>> algebra. i^2 = -1 is not a definition. It is a *property* >>>>>>>>>>>> that can be deduced from a definition of i. >>>>>>>>>>> >>>>>>>>>>>  That is what I saw. >>>>>>>>>>> >>>>>>>>>>>  Is not a definition. >>>>>>>>>>>  It doesn't explain why. >>>>>>>>>>> >>>>>>>>>>> We have the same thing with Einstein and relativity. >>>>>>>>>>> >>>>>>>>>>> [snip unrelated nonsense about your idiotic views on Relativity] >>>>>>>>>> >>>>>>>>>>> It is clear that i²=-1, but we don't say WHY. It is clear >>>>>>>>>>> however that if i is both 1 and -1 (which gives two possible >>>>>>>>>>> solutions) we can consider its square as the product of >>>>>>>>>>> itself by its opposite, and vice versa. >>>>>>>>>> >>>>>>>>>> I've posted a definition of i (which is NOT i^2 = -1) numerous >>>>>>>>>> times. A "positive" definition as you asked for. >>>>>>>>> >>>>>>>>> I've already told this idiot: >>>>>>>>> >>>>>>>>> Complex numbers can be defined as (ordered) pairs of real numbers. >>>>>>>>> >>>>>>>>> Then we may define (in this context): >>>>>>>>> >>>>>>>>>           i := (0, 1) . >>>>>>>>> >>>>>>>>>  From this we get: i^2 = -1. >>>>>>>> >>>>>>>> For R.H. >>>>>>>>   By the binominal formulas we have: (a, b)^2 = a^2 + 2ab + b^2 >>>>>>> >>>>>>> Huh? This is not the binomial formula which is (a + b)^2 = a^2 + >>>>>>> 2ab + b^2 >>>>>>> >>>>>>> (a, b)^2 does not mean anything without any additional >>>>>>> definition/ context. >>>>>>> >>>>>>>>   So we get: (0, 1)^2 ) 0^2 + 2*(0 - 1) + 1 = 0 + (-2) + 1 = -1 >>>>>>> >>>>>>> you meant  (0, 1)^2 = 0^2 + 2*(0 - 1) + 1 = 0 + (-2) + 1 = -1 ? >>>>>>> >>>>>>> This does not make sense without additional context. >>>>>>> >>>>>>> In R(epsilon) = R[X]/X^2 (dual numbers a + b*epsilon where >>>>>>> epsilon is such as >>>>>>> epsilon =/= 0 and epsilon^2 0) we do have : >>>>>>> >>>>>>> (0, 1) ^ 2 = 0 >>>>>>> >>>>>>> >>>>>> >>>>>> vec2 ct_cmul(in vec2 p0, in vec2 p1) >>>>>> { >>>>>>      return vec2(p0.x * p1.x - p0.y * p1.y, p0.x * p1.y + p0.y * >>>>>> p1.x); >>>>>> } >>>>> >>>>> So what? This is not an application of the binomial formula... >>>>> >>>>> What's you point? >>>>> >>>>> >>>> >>>> It's a way I multiply two vectors together as if they are complex >>>> numbers. >>>> >>>> Another one: >>>> >>>> #define cx_mul(a, b) vec2(a.x*b.x - a.y*b.y, a.x*b.y + a.y*b.x) >>>> >>>> I can pass in normal vectors to this in GLSL. vec2's >>> >>> Good! You know how to write a C program. :-) (pun intended) >> >> Fwiw, that is not is C, it's from one of my GLSL shaders. ;^) > > It is also C. No. GLSL is not C at all, it has a similar style, but is different for sure. > Again what's *your* point? Your posts makes absolutely no sense in the > context of this thread! Just a way to multiply two 2-ary vectors as if they were complex numbers. Now, here is a little C99 program I just typed in the newsreader. It should compile. _____________________________ #include struct vec2 { float x; float y; }; struct vec2 ct_cmul( struct vec2 p0, struct vec2 p1 ){ struct vec2 result = { p0.x * p1.x - p0.y * p1.y, p0.x * p1.y + p0.y * p1.x }; return result; } int main() { struct vec2 z = { 0, 1 }; struct vec2 zmul = ct_cmul(z, z); printf("z = (%f, %f)\n", z.x, z.y); printf("zmul = (%f, %f)\n", zmul.x, zmul.y); return 0; } _____________________________ Let me run it on a C99 compiler... Ok, it works: z = (0.000000, 1.000000) zmul = (-1.000000, 0.000000) I thought it might help out the OP. > >>> >>> This is quite off-topic to point out that multiplication of complex >>> numbers in C/C++ can be done. >>> >>> The discussion is not about that it can be done, even crank Hachel >>> would admit this. It is *why* it makes sense to define multiplication >>> *that way*. > > >