2012-03-15 14 views
8

Estoy haciendo un curso de Computación Cuántica. En él, representamos acciones posibles, u operadores, por matrices. He estado buscando crear una página web para resolver estos problemas matemáticos. También es un pequeño desafío para mí para refrescar mi JS.Uso de letras para hacer cálculos matemáticos en Javascript

He estado buscando varias opciones, como Sylvester, MathJax y MathML.

Problema: Sin embargo, nada de lo anterior parece dar funcionalidad para el uso de las letras lo largo de mi cálculo.

Por ejemplo, en Quantum Computation a menudo utilizamos multiplicar una matriz que contiene incógnitas alfa y beta, con otras matrices.

Esta es la clase de matemáticas que tengo que hacer:

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

Idealmente, me gustaría escribir esto en el estilo de:

M = [[a], [b] ], que por supuesto, no puedo. Además, podría multiplicar para obtener "2 * a", etc.

¿Alguna sugerencia?

+0

_ "M = [[a], [b]], que por supuesto, no puedo." _ - ¿Qué pasa con 'M = [['a'], ['b']]'? – nnnnnn

+0

Realmente no desea matrices de * letras * - en realidad desea matrices de * variables *, que puede representar en papel como letras. –

+2

Parece que estás intentando hacer 'álgebra simbólica'. Google te abrumará con éxitos. –

Respuesta

1

Según lo sugerido en los comentarios sobre la pregunta, podría usar cadenas. Luego solo tiene que escribir su propia rutina de multiplicación matriz-matriz que comprenderá la diferencia entre una entrada que contiene una cadena y una entrada que contiene un número.

Sin embargo, tan pronto como haga más de uno de estos, terminará con expresiones, variables y números. Entonces podemos generalizar esto para hacer que cada elemento sea una expresión. Este es el comienzo de un sistema de álgebra simbólica como señaló @High Performance Mark.

En javascript, supongo que desea un conjunto de objetos de expresión, cada uno implementa una interfaz que incluye un método que devuelve si la expresión está determinada o no. El bit gnarly está simplificando las expresiones resultantes para resolver los valores de las variables.

Como alternativa, hacer un poco más de matemáticas de antemano; mueve las variables fuera de las ecuaciones, y luego deja que el código haga el cálculo.

Cuestiones relacionadas