Verwendung von Buchstaben für die Matrix-Mathematik in Javascript

8

Ich mache einen Kurs in Quantum Computation. Darin stellen wir mögliche Aktionen oder Operatoren nach Matrizen dar. Ich habe nach einer Webseite gesucht, um diese mathematischen Probleme zu lösen. Es ist auch eine kleine Herausforderung für mich, um mein JS aufzufrischen.

Ich habe verschiedene Optionen angeschaut, wie Sylvester , MathJax und MathML.

Problem: Keine der oben genannten Funktionen scheint jedoch Funktionen für die Verwendung von Buchstaben während meiner Berechnung zu bieten.

Zum Beispiel verwenden wir in der Quantenberechnung häufig eine Matrix, die Unbekannte Alpha und Beta enthält, mit anderen Matrizen.

Dies ist die Art von Mathe, die ich tun muss:

Ссылка

Idealerweise schreibe ich dies im Stil von:

M = [[a], [b]], was ich natürlich nicht kann. Außerdem könnte ich multiplizieren, um "2 * a" usw. zu erhalten.

Irgendwelche Vorschläge?

    
TomNorway 15.03.2012, 20:11
quelle

1 Antwort

1

Wie in den Kommentaren zu der Frage vorgeschlagen, könnten Sie Strings verwenden. Dann müssen Sie nur Ihre eigene Matrix-Matrix-Multiplikationsroutine schreiben, die den Unterschied zwischen einem Eintrag, der eine Zeichenfolge enthält, und einem Eintrag, der eine Zahl enthält, versteht.

Sobald Sie jedoch mehr als eine davon tun, werden Sie mit Ausdrücken sowie Variablen und Zahlen enden. Wir können dies verallgemeinern, um jedes Element zum Ausdruck zu bringen. Dies sind die Anfänge eines symbolischen Algebra-Systems, wie @High Performance Mark es ausdrückte.

In JavaScript würde ich vermuten, dass Sie eine Menge von Ausdrucksobjekten wünschen, die jeweils eine Schnittstelle einschließlich einer Methode implementieren, die angibt, ob der Ausdruck bestimmt ist oder noch nicht. Das Gnarly-Bit vereinfacht die resultierenden Ausdrücke, um die Werte der Variablen aufzulösen.

Alternativ machen Sie vorher ein bisschen mehr Mathematik; Verschieben Sie die Variablen aus den Gleichungen, und lassen Sie dann den Code die Berechnung durchführen.

    
Phil H 15.03.2012 21:46
quelle

Tags und Links