![]() |
---|
Hallo, folgende Aufgabe kann ich bisher nicht lösen: Zeigen Sie, wie man komplexe Zahlen mit nur drei Multiplikationen reeller Zahlen multiplizieren kann. Der Algorithmus sollte als Eingabe bekommen und den Realteil − sowie den Imaginärteil des Produktes zurückgeben. Die Aufgabe ist von Informatikern, daher die komische Formulierung. Das Ganze soll halt eine Funktion in Pseudo-Code sein. Hier ein Versuch von mir mit Strassens-Algorithmus de.m.wikipedia.org/wiki/Strassen-Algorithmus, der aber auch mehr als drei Multiplikationen braucht. MultC3 return (Man rechnet leicht nach, dass tatsächlich und gilt.) Ich habe da Strassens Algorithmus auf angewendet, wobei mich dann natürlich nur die erste Spalte des Ergebnisses interessiert. Eine Suche im Netz mit der Eingabe "multiplikation komplexer zahlen mit nur drei multiplikationen reeller zahlen verwirklichen" in den Google-Prompt war erfolglos. Das Problem scheint also nicht sehr populär zu sein. Wer weiß mehr oder ist der Sache schonmal begegnet ? |
![]() |
![]() |
|
![]() |
Vielen Dank, HAL, supercool ! Mit habe ich gestern abend auch noch rumexperimentiert. Mir fehlte dann aber wohl der Biss, das zu Ende zu denken... Intelligenztest also nicht bestanden. Dabei erschlägt es einen, wenn man es sieht. gibt schonmal alle vier Produkte und dann brauch ich noch zwei zum Summieren. Das liefert sogar noch eine zweite Lösung: . |
![]() |
Ich hab das relativ schnell mit google gefunden, aber HAL9000 war schneller es aufzuschreiben. Stichwort Winograd-Algorithmus und hat durchaus Anwendungen in der schnellen Berechnung von Faltungen u.a. |
![]() |
Vielen Dank, mathadvisor ! |
![]() |
Die Multiplikation komplexer Zahlen wird mit der Formel (a+bi)(c+di) = (ac−bd) (ad+bc)i berechnet – faszinierende Mathematik! Für kreative Anwendungen solcher Konzepte besuchen Sie href=" doorsonline.io" target="_blank">DoorsOnline.io</a>, wo Technologie auf Kunst trifft. |
![]() |
Ja, ich hab das auch nicht neu kreiert, sondern mich daran erinnert, das vor langer Zeit mal gesehen zu haben. Danke für den Begriff "Winograd", der war mir nicht mehr parat. ;-) Tief damit beschäftigt habe ich mich nie, nur mal gelesen dass solche FFT-basierten Techniken in hochgenauen Arithmetik-Bibliotheken wie etwa gmplib ( gmplib.org ) bei der Multiplikation zur Anwendung kommen und damit den Aufwand von auf drücken, wobei die Stellenzahl (egal ob binär oder dezimal) der zu multiplizierenden Zahlen ist. Lohnt sich aber erst ab einem gewissen , denn der Aufwand rundrum ist insbesondere bei kleinem nicht zu vernachlässigen. Hier im Beispiel etwa erfordert die naive Methode 4 Multiplikationen und 2 Additionen/Subtraktionen. Die Winograd-Methode braucht hingegen 3 Multiplikationen und 5 Additionen/Subtraktionen. D.h., ist eine Multiplikation "teurer" als 3 Additionen, dann lohnt sich das - sonst nicht. P.S.: Sowohl mein Beitrag als auch der vorige enthalten einen Weblink und sind damit potentiell spam-verdächtig. Mal sehen wie lange es noch dauert, bis nicht mehr deutlich erkannt werden kann, was KI-generierter Spam ist und was nicht. ;-) |
![]() |
Nun, Spam ist Spam, also hier doorsonline sein "Beitrag". Diese KI-Kacke macht alles kaputt. Ich kann nicht glauben, wie unkritisch sich das einfach so in der Menschenwelt breitmacht. Gefühlt sitzen alle Kinder sabbernd vorm PC und befragen ihr neues Wunderspielzeug, betört von der vermeintlichen Feuerkraft, die ihnen dieser Tintenfisch liefert. Gruselig ! Ja nö, aber genau mit diesen Optimierungen von (Matrizen-)Multiplikationen und Co. darf ich mich gerade in DAP 2 befassen. Ich war da (vor-)gestern bisschen abgearbeitet und hab bei dieser eigentlich einfachen Aufgabe zu den Komplexen den Wald vor lauter Bäumen nicht mehr gesehen. Vielen Dank nochmal für die Hilfe ! |
![]() |
Ich kannte diese Variante und die damit verbundene Anwendbarkeit noch nicht. Sehr interessant. Danke an Euch für Frage, Erläuterung und Anregung. |