Mathematica también proporciona una serie de funciones de alto nivel para la manipulación de algebraicos. Entre estos se encuentran Expand
, Apart
y Together
, y Cancel
, aunque hay bastantes más.
Además, para su ejemplo específico de la aplicación de la misma transformación a ambos lados de una ecuación (es decir, y la expresión con la cabeza Equal
), puede utilizar la función Thread
, que funciona igual que su función MultBothSides
, pero con mucho más general.
In[1]:= expression = 2 a == a b
Out[1]:= 2 a == a b
In[2]:= Thread[expression /a, Equal]
Out[2]:= 2 == b
In[3]:= Thread[expression - c, Equal]
Out[3]:= 2 a - c == a b - c
En cualquiera de las soluciones presentadas, debería ser relativamente fácil de ver lo que el paso implicaba. Si quieres algo un poco más explícito, puede escribir su propia función, así:
In[4]:= ApplyToBothSides[f_, eq_Equal] := Map[f, eq]
In[5]:= ApplyToBothSides[4 * #&, expression]
Out[5]:= 8 a == 4 a b
Es una generalización de la función MultBothSides
que se aprovecha del hecho de que Map
obras en expresiones con cualquier cabeza, no sólo la cabeza List
. Si intenta comunicarse con una audiencia que no está familiarizada con Mathematica, usar este tipo de nombres puede ayudarlo a comunicarse más claramente. En una línea relacionada, si desea utilizar reglas de reemplazo como lo sugiere Ira Baxter, puede ser útil escribir Reemplazar o Reemplazar todo en lugar de usar el azúcar sintáctico /.
.
In[6]:= ReplaceAll[expression, a -> (x + y)]
Out[6]:= 2 (x + y) == b (x + y)
Si cree que sería más claro para tener la ecuación real, en lugar del nombre de la variable expression
, en su entrada, y está usando la interfaz de bloc de notas, resaltar la palabra expression
con el ratón, llamar el menú contextual, y seleccione "Evaluar en el lugar".
La interfaz de la computadora portátil es también un entorno muy agradable para realizar "programación lectora", por lo que también puede explicar cualquier paso que no sea inmediatamente obvio en palabras. Creo que esta es una buena práctica al escribir pruebas matemáticas independientemente del medio.
Lo siento, estoy un par de años tarde ... pero el pequeño paquete que menciono aquí http://stackoverflow.com/q/5701159/667867 debe hacer lo que quiera. ¡Lee la pregunta y la discusión para advertencias! – telefunkenvf14