2012-03-15 65 views
8

Tôi đang thực hiện một khóa học trong Tính toán lượng tử. Trong đó, chúng tôi đại diện cho các hành động hoặc nhà điều hành có thể có, bằng các ma trận . Tôi đã xem xét việc tạo một trang web để giải các bài toán này. Nó cũng là một thách thức nhỏ cho bản thân tôi để làm mới JS của tôi.Sử dụng các chữ cái để thực hiện phép toán ma trận trong Javascript

Tôi đã xem xét các tùy chọn khác nhau, như Sylvester, MathJax và MathML.

Sự cố: Tuy nhiên, không có trường hợp nào ở trên xuất hiện để cung cấp chức năng sử dụng chữ cái trong suốt quá trình tính toán của tôi.

Ví dụ, trong tính toán lượng tử, chúng ta thường sử dụng nhân một ma trận chứa các ẩn số alpha và beta, với các ma trận khác.

Đây là loại toán học tôi cần phải làm:

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

Lý tưởng nhất, tôi muốn viết những dòng này trong phong cách của:

M = [[a], [b] ], tất nhiên, tôi không thể. Hơn nữa, tôi có thể nhân để nhận "2 * a", v.v.

Bất kỳ đề xuất nào?

+0

_ "M = [[a], [b]], tất nhiên, tôi không thể." _ - Còn về 'M = [['a'], ['b']]'? – nnnnnn

+0

Bạn không thực sự muốn ma trận của * chữ cái * - bạn thực sự muốn ma trận của * biến *, mà bạn có thể biểu diễn trên giấy dưới dạng chữ cái. –

+2

Dường như bạn đang cố gắng thực hiện 'đại số tượng trưng'. Google sẽ áp đảo bạn với các lần truy cập. –

Trả lời

1

Như được đề xuất trong các nhận xét về câu hỏi, bạn có thể sử dụng chuỗi. Sau đó, bạn chỉ cần viết thường xuyên nhân ma trận ma trận của bạn sẽ hiểu được sự khác biệt giữa một mục có chứa một chuỗi và một mục có chứa một số.

Tuy nhiên, ngay khi bạn thực hiện nhiều hơn một trong số này, bạn sẽ kết thúc bằng các biểu thức cũng như các biến và số. Vì vậy, chúng ta có thể khái quát hóa điều này để làm cho mọi phần tử trở thành một biểu thức. Đây là sự khởi đầu của một hệ thống đại số tượng trưng như @ Hiệu suất cao Mark chỉ ra.

Trong javascript, tôi đoán bạn muốn một bộ đối tượng biểu thức, mỗi thực hiện một giao diện bao gồm một phương thức trả về cho dù biểu thức được xác định hay chưa. Bit gnarly đơn giản hóa các biểu thức kết quả để giải quyết các giá trị của các biến.

Ngoài ra, hãy thực hiện thêm một chút toán học trước; di chuyển các biến ra khỏi các phương trình, và sau đó để cho mã thực hiện phép tính.

Các vấn đề liên quan