Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!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 14:40:42 -0800 Organization: A noiseless patient Spider Lines: 177 Message-ID: References: <51Tdfq24D44V9MS0l646QQuIrfo@jntp> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Mon, 20 Jan 2025 23:40:43 +0100 (CET) Injection-Info: dont-email.me; posting-host="f83ba5790de8b51aa60b613f63b035eb"; logging-data="3663107"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/gH/gJypVXBkiFhtTGry6oTcxvaN8FDzk=" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:YGM5p/b9XB3imb9QwxGN7P1Lb6A= In-Reply-To: <51Tdfq24D44V9MS0l646QQuIrfo@jntp> Content-Language: en-US Bytes: 7990 On 1/20/2025 1:50 PM, Python wrote: > Le 20/01/2025 à 22:45, "Chris M. Thomasson" a écrit : >> On 1/20/2025 1:35 PM, Python wrote: >>> Le 20/01/2025 à 22:28, "Chris M. Thomasson" a écrit : >>>> 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. >>> >>> It is exactly the same syntax. *facepalm*. >>> Ok, let's say so, if you wish, so you can implement complex >>> multiplication in a GLSL shader. >> >> No. C and GLSL are completely different languages. Have you ever even >> used GLSL? You can do fun things in GLSL that C cannot do at all. > > This is ridiculous nitpicking. > #define cx_mul(a, b) vec2(a.x*b.x - a.y*b.y, a.x*b.y + a.y*b.x) > > may compile in C, also can your function ct_cmul above. > I didn't wrote that GLSL was C, I wrote that the code you wrote was C. I missed your main point. Fair enough. Fwiw, a fun part of GLSL is doing stuff like: vec3 a = vec3(.25, 1, .75); vec2 b = a.xz; vec2 c = b + vec2(.75, .25); c now equals (1, 1) ;^) > > Anyway, this is not the point. Either in C or GLSL the fact that you can > implement complex multiplication (or in ANY language) is NOT THE POINT > it is IRRELEVANT! > >>> Again: SO WHAT? ? ? This is NOT THE POINT of the discussion. >> >> I thought it might help the OP. > > In what manner? ?  Nobody, not even the OP pretended that it cannot be > implemented. > > Seriously Chris, what's wrong with you? > >>>>> 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. >>>> _____________________________ >>>> [snip irrelevant triviality] >>> >>> So what? ? ? >>>> I thought it might help out the OP. >>> >>> In which way? ? ? Hachel didn't write that it cannot be done (he's >>> not that silly), he claimed (wrongly) that it is the wrong way to >>> define multiplication between complex numbers. >>> >>>>>>> >>>>>>> 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*. > ========== REMAINDER OF ARTICLE TRUNCATED ==========