2012-03-15 59 views
8

我正在做量子計算課程。其中,我們通過矩陣表示可能的操作或操作員。我一直在研究創建一個解決這些數學問題的網頁。 爲了清理我的JS,這也是我自己的一個小挑戰。使用字母做矩陣數學的Javascript

我一直在尋找各種選項,如Sylvester,MathJax和MathML。

問題:但是,以上都沒有給出在我的計算中使用字母的功能。例如,在量子計算中,我們經常使用將包含未知數α和β的矩陣與其他矩陣相乘。

這是哪門子的數學,我需要做的:

http://i.stack.imgur.com/vH9Dk.gif

理想情況下,我會在風格寫:

M = [[A],[B] ],當然,我不能。此外,我可以乘以獲得「2 * a」等。

有什麼建議嗎?

+0

_「M = [[a],[b]],當然,我不能這樣做。」_ - 那麼'M = [['a'],['b']]'? – nnnnnn 2012-03-15 20:14:42

+0

你不需要*字母*的矩陣 - 你實際上需要*變量*的矩陣,你可以在紙上表示爲字母。 – 2012-03-15 20:16:09

+2

你似乎試圖做'符號代數'。谷歌將用命中壓倒你。 – 2012-03-15 20:19:00

回答

1

正如對問題的評論中所建議的那樣,您可以使用字符串。然後,您只需編寫自己的矩陣 - 矩陣乘法例程,該例程將理解包含字符串的條目與包含數字的條目之間的差異。

但是,只要你做了其中的一個以上,你將最終得到表達式以及變量和數字。所以我們可以概括這一點,使每個元素成爲一個表達式。正如@High Performance Mark指出的那樣,這是象徵代數系統的開始。

在JavaScript中,我猜你想要一組表達式對象,每個表達式對象實現一個接口,包括一個返回表達式是否已確定的方法。粗糙的一點是簡化結果表達式來解析變量的值。

另外,事先做一些數學;將變量移出方程,然後讓代碼進行計算。