• physis
    #177
    Őszintén örülök, hogy visszajöttél. A javaslatod eszembe jutatta, hogy nem értem pontosan azt, ahogy a komplex számokat megkapjuk a valós számokból. Persze a komplex számokat valós számpárokként is modellezhetjük, ahol a műveleteket ,,éppen megfelelő'' módon definiáljuk, de a Te javaslatod inkább arra látszik utalni, hogy a komplex számokat ne ,,from scratch'', hanem inkább a valós számtest valamiféle bővítésével konstruáljuk meg.

    Mivel ilyesmit valóban tanultunk annak idején, megpróbáltam ezeket az emlékeimet felidézni. Úgy emlékeztem, hogy a javaslatod mögött helyes tartalom van, és jó ürügy volt ez arra, hogy ezt újra felidézzem.

    Először egy hasonlat.

    Képzeljük el, hogy valaki a ,,bináris számjegyek'' egyfajta aritmetikáját akarja kiépíteni: ,,set'' és ,,unset'' bitek között akarunk szorzást, összeadást definiálni az alábbi módon:

    unset + unset = unset
    unset + set = set
    set + unset = set
    set + set = unset

    unset * unset = unset
    unset * set = unset
    set * unset = unset
    set * set = set

    Ezt is fel lehet építeni ,,from scratch'', már csak azért is, mert elég egy véges táblázatban megadni az összeadás- és szorzótáblát.

    Azonban e helyett az út helyett eljárhatunk kissé ,,konzervatívabb'' módon is: eredeztethetjük a dolgot a jól ismert egész számokból.

    A lényeg: minden egyes egész számot maradékosan osztunk 2-vel, és csak az osztási maradékot vesszük figyelembe. Azokat a számokat, amelyeknek a kettővel való osztási maradéka (paritása) azonos, azokat egymás között azonosaknak tekintjük.

    (2m + 0) + (2n + 0) = 2(m+n) + 0
    (2m + 0) + (2n +1) = 2(m+n) + 1
    (2m + 1) + (2n + 0) = 2(m+n) + 1
    (2m + 0) + (2n + 1) = 2(m+n+1) + 0

    (2m + 0)(2n + 0) = 2(2mn) + 0
    (2m + 0)(2n + 1) = 4mn + 2m = 2(2mn+m) + 0
    (2m + 1)(2n + 0) = 4mn + 2n = 2(2mn+n) + 0
    (2m + 1)(2n + 1) = 4mn + 2m + 2n + 1 = 2(2mn+m+n) + 1

    Most írjuk fel úgy, hogy csak az osztási maradékokat jelöljük, hiszen úgyis csak azok számítanak (megállapodásunk szerint):

    [0] + [0] = [0]
    [0] + [1] = [1]
    [1] + [0] = [1]
    [1] + [1] = [0]

    [0] * [0] = [0]
    [0] * [1] = [0]
    [1] * [0] = [0]
    [1] * [1] = [1]

    Láthatjuk, hogy épen azt kaptuk, amit célul kitűztünk ([0] feleljen meg az ,,unset'' bitnek, [1] pedig a ,,set'' bitnek).

    Ehhez hasonló lesz az, ahogy a komplex számokat a valós számok bővítéseként megkapjuk.

    Előszor is, számoljuknk valós együtthatós polinomokkal. Előrebocsátom, az
    a + bi
    valós számnak a
    bx + a
    polinom fog megfelelni.

    Azt szeretnénk, ha a műveletetek ,,pont megfeleleően'' működnének. Különösen a szorzásra gondolok.

    (a + bi)(c + di) = (ac - bd) + (bc + ad)i

    ez az érdekesebb művelet, az összeadás ugyanis komponensekként történik, elenőrzése egyszerűbb feladat, ezért inkább a szorzásra koncentrálok.

    Ellenőrizzük, hogy a valós együtthatós polinomok úgy viselkednek-e, hogy segítségükkel modellezhessük a komplex számokat!

    (bx + a)(dx + c) = bdx² + bcx + adx + ac = bdx² + (bc + ad)x + ac

    Látszik, hogy még valami hiányzik a dologból. Valahogy azt kéne ,,bevezetni'', hogy az x² ,,elvégezhető'', és rendre -1-nek ,,felel meg''.

    Tegyük azt, amit az előbb, amikor a bináris jegyek aritmetikáját az egész számok aritmetikájából modelleztük! Itt is ugyanaz a trükk segít: ne magukkal az objektumokkal (számokkal, polinomokkla) számoljunk, hanem azok alkalmas osztási maradékaival!
    Képzeletben minden polinomot osszunk el maradékosan az

    x²+1

    polinommal, és azokat a polinomokat, melyek erre nézve azonos maradakot adnak, tekintsük egymás között egyenlőknek!

    Tehát újra:

    (bx + a)(dx + c) = bdx² + bcx + adx + ac = bdx² + (bc + ad)x + ac

    most a

    bdx² + (bc + ad)x + ac

    polinomot maradékosan osztom az

    x² + 1

    polinommal:

    bdx² + (bc + ad)x + ac = (x² + 1) * kvóciens + maradék

    A bd egész jó kvóciens választásnak, tűnik: bár keletkezik így egy ,,hiba'' de azt majd utólag korrigáljuk:

    bdx² + (bc + ad)x + ac = (x² + 1) bd + maradék - hibakorrekció
    -----------
    (x² + 1) bd = bdx² + bd
    -bd -vel kell majd korrigálni
    bdx² + (bc + ad)x + ac = (x² + 1) bd - bd + (bc + ad)x + ac
    -------
    hibakorrekció

    bdx² + (bc + ad)x + ac = (x² + 1) bd + (bc + ad)x + (ac - bd)


    Megfelelően összevonva a tagokat:

    (bx + a)(dx + c) = (x² + 1) bd + (bc + ad)x + (ac - bd)

    Mivel megállapodásunk szerint csak az osztási maradék lényeges:

    [bx + a] * [dx + c] = [(bc + ad)x + (ac - bd)]

    Hogha visszagondolunk arra, hogy azt szerettük volna, hogy a polinomok komplex számok szerepét játsszák, akkor láthatjuk, hogy tulajdonképpen éppen a

    (a + bi)(c+di)= (ac+bd)+ (bc+ad)i

    törvényt kaptuk, éppen azt, amit a komplex számoktól elvárunk.