Matze: Komplexe Zahlen

Ich will mit komplexen Zahlen rechnen und muss deshalb i als Wurzel von -1 definieren. Mit

i=Math.sqrt(-1);

streikt das Programm. Anscheinend versucht es i auszurechnen und kommt deshalb mit den reellen Zahlen nicht mehr aus. Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???

(Oder einfach nicht versucht i zu berechnen sonders es einfach hinschreibt und für i zum Quadrat 1 schreibt)

  1. Hallo Matze,

    Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???

    Schreibe eine Abstraktion. Der weder PC noch Mac können komplexe
    Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch die
    Endlichkeit des Speichers und der Rechenkapazität.

    Grüße,
     CK

    --
    Nur die Weisesten und die Dümmsten können sich nicht ändern.
    1. Der weder PC noch Mac können komplexe
      Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch die
      Endlichkeit des Speichers und der Rechenkapazität.

      Christian,
      So'n Unsinn.

      Weder PC noch Mac kennen natürliche oder reelle Zahlen, sondern nur Folgen von Nullen und Einsen.

      Solche Bitmuster können auch komplexe Zahlen repräsentieren. Dazu brauch man weder unendlichen Speicher noch unendliche Rechenkapazität.

      (Genaugenommen bräuchte man schon unendlich großen Speicher, um beliebig große natürliche Zahlen darzustellen oder den genauen Wert von pi.)

      Was soll ich tun, damit der Computer mit komplexen Zahlen rechnet???

      In der Programmiersprache FORTRAN gibt's von Hause aus komplexe Zahlen. In JavaScript müsste man sich die erst implementieren, am besten als Objekte, und die Rechenarten als Methoden.

      Sowas hat bestimmt schon jemand gemacht; schon mal nach "javascript" und "complex" gegooglet?

      Gunnar

      --
      Good results come from experience; and experience comes from bad results.
      1. Hallo Gunnar,

        Der weder PC noch Mac können komplexe
        Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch
        die Endlichkeit des Speichers und der Rechenkapazität.

        Christian,
        So'n Unsinn.

        Weder PC noch Mac kennen natürliche oder reelle Zahlen,

        Wie erklaerst du dir dann das Vorhandensein von Integer- und
        Fliesskomma-Recheneinheiten?

        Dazu brauch man weder unendlichen Speicher noch unendliche
        Rechenkapazität.

        Das sagte ich auch nicht. Mir ging es in dem Passus um Zahlen wie
        PI und E, also irrationale Zahlen.

        Aber du hast recht, ich meinte nicht die Zahlenmenge |R, sondern die
        Menger aller rationalen Zahlen (Q?).

        [...] In JavaScript müsste man sich die erst implementieren, am
        besten als Objekte, und die Rechenarten als Methoden.

        [ ] Du hast gelesen, was ich geschrieben habe.

        Grüße,
         CK

        --
        <zentrum> wie war noch mal die option in make.conf fuer das benutzen von pipes um das compile zu beschluenigen?
        <CK1> CFLAGS="-pipe"
        <torsten> Oder man frage einen Gentooer seiner Wahl, wie man 2 km Compilerswitches fuer seine CPU hinbekommt ;)
        1. Halli Hallo

          Der weder PC noch Mac können komplexe
          Zahlen. Die kennen nur die Zahlenräume |N und |R, bedingt durch
          die Endlichkeit des Speichers und der Rechenkapazität.
          Christian,
          So'n Unsinn.

          Das sehe ich ähnlich wie Gunnar. Rechner können nur 1 und 0 alles andere ist Interpretationssache und wird in Software realisiert, die man wiederum in Hardware festschreiben kann...

          Weder PC noch Mac kennen natürliche oder reelle Zahlen,
          Wie erklaerst du dir dann das Vorhandensein von Integer- und
          Fliesskomma-Recheneinheiten?

          Da man die ständig und überall brauch wurden sie in Hardware realisiert. Ich denke wenn wir satt 5 Fingern 5i Finger hätten und daher auch der Rest der mathematischen Welt (so wie sie 99% kennen) komplex wäre müsste man entsprechend nach einer Integer-Hardwarelösing suchen..

          Dazu brauch man weder unendlichen Speicher noch unendliche
          Rechenkapazität.
          Das sagte ich auch nicht. Mir ging es in dem Passus um Zahlen wie
          PI und E, also irrationale Zahlen.

          ACK

          Aber du hast recht, ich meinte nicht die Zahlenmenge |R, sondern die
          Menger aller rationalen Zahlen (Q?).

          |Q ist korrekt: http://de.wikipedia.org/wiki/Rationale_Zahlen

          [...] In JavaScript müsste man sich die erst implementieren, am
          besten als Objekte, und die Rechenarten als Methoden.

          [X] Du hast gelesen, was ich geschrieben habe.

          Zusmmenfassend denk ich, Integer-/Gleitkommaunsterstützung wird ständig gebraucht und ist daher meist[1] in hardware verfügbar, komplexe Zahlen sind jedoch im Alltag eher selten und benötigen daher entsprechende Softwarebibliotheken, die es IMHO für alle gängigen Programmiersprechen geben dürfte.

          Grüsse, eeye

          [1]Auf den meisten Handys hat man AFAIK keine Gleitkommaunsterstützung, weshalb auch bei J2ME die entsprechenden Datentypen fehlen...

          --
          [ ] <- Nail here for new Monitor.
          1. Hallo eeye,

            [...] die man wiederum in Hardware festschreiben kann...

            Eben. Und, wie gesagt, damit kennt der Prozessor dann |N und Q.

            Weder PC noch Mac kennen natürliche oder reelle Zahlen,
            Wie erklaerst du dir dann das Vorhandensein von Integer- und
            Fliesskomma-Recheneinheiten?
            Da man die ständig und überall brauch wurden sie in Hardware realisiert.
            Ich denke wenn wir satt 5 Fingern 5i Finger hätten und daher auch der
            Rest der mathematischen Welt (so wie sie 99% kennen) komplex wäre
            müsste man entsprechend nach einer Integer-Hardwarelösing suchen..

            Ich habe nicht gesagt, dass eine CPU nicht so gebaut werden kann, dass
            sie komplexe Zahlen kennt. Klar geht das.

            [1]Auf den meisten Handys hat man AFAIK keine Gleitkommaunsterstützung,
            weshalb auch bei J2ME die entsprechenden Datentypen fehlen...

            Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
            von Haus aus eine FPU mit.

            Grüße,
             CK

            --
            Sein oder nicht sein, das ist hier die Frage!
            1. Hi CK

              Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
              von Haus aus eine FPU mit.

              Stimmt, ich habe damals auch für meinen 386 einen mathematischen Coprozessor gekauft, der dann immerhin die Berechnung meines ersten selbstgecodeten Apfelmännchens von über 20 min auf unter 2 min beschleunigte :-)

              Grüsse, eeye

              --
              [ ] <- Nail here for new Monitor.
              1. Tach eeye,

                Den gab es auf früheren Prozessoren auch nicht. Erst der 486er brachte
                von Haus aus eine FPU mit.
                Stimmt, ich habe damals auch für meinen 386 einen mathematischen Coprozessor gekauft,
                der dann immerhin die Berechnung meines ersten selbstgecodeten Apfelmännchens von
                über 20 min auf unter 2 min beschleunigte :-)

                Ja, ähnliches kann ich auch berichten... nur habe ich statt einen Coprozessor
                zu kaufen einen 486er dann gekauft ;)

                Grüße,
                 CK

                --
                "Ich muss auflegen, mein Essen ist gleich fertig."
                "Oh, was gibt 's denn?"
                "Hmm. Die Packung liegt schon im Muell, keine Ahnung.
        2. Hi Christian,

          Weder PC noch Mac kennen natürliche oder reelle Zahlen,

          Wie erklaerst du dir dann das Vorhandensein von Integer- und
          Fliesskomma-Recheneinheiten?

          Das ist eine anderes Layer der Betrachtung. Ganz unten gibt's nur Bitmuster, in Layern darüber werden daraus z.B. Buchstaben oder Integer-Zahlen oder Fließkommazahlen oder - warum auch nicht - komplexe Zahlen.

          [ ] Du hast gelesen, was ich geschrieben habe.

          [X] Ja.

          Mir erschloss sich allerdings nicht so ganz, was du mit "Schreibe eine Abstraktion" meintest.

          Gunnar

          --
          Good results come from experience; and experience comes from bad results.
          1. Hallo Gunnar,

            Weder PC noch Mac kennen natürliche oder reelle Zahlen,

            Wie erklaerst du dir dann das Vorhandensein von Integer- und
            Fliesskomma-Recheneinheiten?

            Das ist eine anderes Layer der Betrachtung.

            ... die fest im Prozessor verdrahtet ist. Und damit kennt der Prozessor
            dann Q und |N.

            Ganz unten gibt's nur Bitmuster, in Layern darüber werden daraus z.B.
            Buchstaben oder Integer-Zahlen oder Fließkommazahlen

            Ich habe nicht bestritten, dass die Speicher-Form Bitmuster sind.

            oder - warum auch nicht - komplexe Zahlen.

            Ich hab auch nicht gesagt, dass man nicht eine CPU bauen könnte, die von Haus
            aus auch mit komplexen Zahlen rechnen kann. Natürlich geht das, man müsste halt
            mit dem Imaginär-Teil symbolisch rechnen.

            Grüße,
             CK

            --
            Ganz gleich, welchen Weg ich wähle, ich kehre heim.