Está en la página 1de 8

1.

2
Aritmétrica y Algebra
Aritmétrica y notación.

2 * 6 12 + 4  12 - 4

12 + 4
2×6
12 - 4
{2 ^ 3, Sqrt[2.0], 4 !, 4 !!}
raíz cuadrada

23 , 2

N 2
valor numérico

19 // N
valor numérico

N 2 , 50
valor numérico
2 cap 1.2.nb

list1 = {I, π, ⅇ, ∞, EulerGamma, Catalan, °};


número i constante de⋯ constante de Catalan

{list1}

list1 // N
valor numérico

Clear[list1]
borra

list1

 - 1 , I, ⅈ
número i

4I+6I
2-4I
{Abs[2 + I], Conjugate[2 + I], Re[2 + I], Im[2 + I]}
valor a⋯ ⋯ conjugado ⋯ parte⋯ ⋯ parte⋯ número i
cap 1.2.nb 3

5
ecu1 = Expand1 + x2  
expande factores

ecu1 // Factor
factoriza

ecu2 = Expandx + 15 y + 12 , y


expande factores

ecu2 // Simplify
simplifica

SimplifySqrt2 + x  (7 + x) Sqrt3 - x ^ 2  25 - x ^ 2 Sqrt(5 + x) 2 - x 


simplifica raíz cuadrada raíz cuadrada raíz cuadrada
Sqrt[4 - x ^ 2] Sqrt[3 - x ^ 2]
raíz cuadrada raíz cuadrada

FullSimplifySqrt2 + x  (7 + x) Sqrt3 - x ^ 2  25 - x ^ 2 Sqrt(5 + x) 2 - x 


simplifica comple⋯ raíz cuadrada raíz cuadrada raíz cuadrada
Sqrt[4 - x ^ 2] Sqrt[3 - x ^ 2]
raíz cuadrada raíz cuadrada

Simplify a2 b2 c2 Cos[θ]2 
simplifica

π
Simplify a2 b2 c2 d2 Cos[θ]2 , a > 0, b ∈ Reals, c ∈ Complexes, < θ < π
simplifica 2
números rea⋯ números complejos
4 cap 1.2.nb

Simplify[{Cos[n π], Sin[n π]}, n ∈ Integers]


simplifica coseno seno números enteros

Cos[4 θ]2 - 2 Cos[4 θ] Sin[3 θ] + Sin[3 θ]2 // Factor


coseno seno factoriza

FactorCos[4 θ]2 - 2 Cos[4 θ] Sin[3 θ] + Sin[3 θ]2 , Trig → True


factoriza coseno seno trig verdadero

a
 a2 , Log , Logab  // PowerExpand
b
logaritmo logaritmo expande potencias

1.2.5 Un Complejo Casero Conjugado SuperStar


A menudo nos resulta conveniente tomar el conjudado complejo de una expresión donde suponer que
todas las cantidades complejas son explícitas. Sin embargo, la regla obvia {I →-I} no siempre funcionan
2 I /. {I → - I}
núme⋯ núm⋯ número i

2ⅈ

Para ver por que esto falla, podemos usar el comando FullForm para ver cómo Mathematica repre-
senta estas expresiones internamente
2 I // FullForm
n⋯ forma completa

Complex[0, 2]

{I → - I} // FullForm
núm⋯ núm⋯ forma completa

List[Rule[Complex[0, 1], Complex[0, - 1]]]

Vemos que el problema es que Mathematica está buscando solo patrones de forma Complex [0, 1].
Esto nos da una idea para una regla que logrará lo que deseamos
ConjugateRule = {Complex[re_, im_] → Complex[re, - im]};
complejo complejo

Verificamos que congugate funciona como se espera


2 I /. ConjugateRule
número i

-2 ⅈ

Asegúrese de usar el reemplazo único /. y no //. o tendrás un sin fin de lazo.


Para muchos problemas de física, encontramos que esta conjugateRule es mas util que la función
conjugada incorporada. Por esta razon nos parece conveniente crear nuestros propia funcion Congu-
gada "casera" haremos uso del operador SuperStar para permitir una notacion corta elegante.
Unprotect[SuperStar];
desprotege superestrella
cap 1.2.nb 5

SuperStar /: exp_* := exp /. {Complex [a_, b_] ⧴ Complex[a, - b]}


superestrella complejo complejo
Protect[SuperStar];
protege superestrella

El SuperStar/: notación anterior es redundante, pero la incluimos para que quede clara, que símbolo
esta asociada con esta regla (Prueba la definición sin esta asignación)
Proyect[SuperStar] para que no borremos esta definición con Clear["Global`*"] comando
Permítanos probar que esto funciona (Nota, ingresamos este simbolo como un asterisco super índice
Clear["Global`*"]
borra
*
a + ⅈ b + ⅇⅈ θ 
a - ⅈ b + ⅇ-ⅈ θ

De manera equivalente, podríamos escribir


SuperStara + ⅈ b + ⅇⅈ θ 
superestrella

a - ⅈ b + ⅇ-ⅈ θ

Contraste esto con la función incorporada Conjugate


Conjugatea + ⅈ b + ⅇⅈ θ 
conjugado

ⅇ-ⅈ Conjugate[θ] + Conjugate[a] - ⅈ Conjugate[b]

La función de Conjugate es más cautelosa ya que no asume que {a,b,θ} son reales (como la SuperStar
lo hace) Sin embargo para nuestros ejemplos , encontraremos esta definición de SuperStar para ser
mas adecuada

1.2.6 Sustituciones Immediatas y Demoradas


Anteriormente, utilizamos el método de sustitucion de forma inmediata sustitucion, a diferencia de
una sustitucion demorada.Considere las siguientes sustituciones. En primer lugar utilizamos la sustitu-
ción inmediata
{x, x, x} /. {x → Random[]}
aleatorio

{0.805168, 0.805168, 0.805168}

Aquí, todo los elementos son distintos por que el lado derecho de la regla (Randon[ ]) no se evaluó de
inmediato, pero se retrasó hasta después de la sustitución.

1.2.7 Seleccionando Partes de Expresiones


A menudo trabajamos solo con una parte de una expresión complicada. Ser ultilizado para extraer los
comandos individuales de la expresión completa. Considerar la relación
6 cap 1.2.nb

eq1 = a1x + a2 x ^ 2 + a3 x ^ 3 Sin[x / y];


seno

Puedes extraer el tercer término ingresando


Part[eq1, 3]
parte
x
a3 x3 Sin 
y

Part[eq1, 1]
parte

a1x

Es equivalente
eq1[[3]]
x
a3 x3 Sin 
y

La subexpresión se puede obtener de la siguiente manera


eq1[[3, 1]]
a3

Si quiero I la primera y la tercera parte I enter


eq1[[{3, 1}]]
x
a1x + a3 x3 Sin 
y

observe las llaves adicionales {} y comparelas con la expresión anterior. Si tu no sabias la posición [x/y]
entonces se podria haber ingresado
position = Position[eq1, Sin[x / y]]
posición seno

{{3, 3}}

También puede reemplazar un término en una expresión con un nuevo término usando el comando
ReplacePart[expr, new, n] . Este comando reemplaza la parte nth por expr con new.
Reemplazemos
ReplacePart[eq1, Cos[x / y], position]
sustituye una parte coseno
x
a1x + a2 x2 + a3 x3 Cos 
y

1.2.8 Ecuaciones Algebraicas


Considera resolver ecuaciones algebraicas como a x 2 + b x + c ⩵ 0 el simbolo == Se utiliza para definir
la ecuación algebraica. (Recordar el símbolo único = crea una asignación). Los principales comandos
cap 1.2.nb 7

de Mathematica para resolver ecuaciones simbólicamente incluyen Solve, Reduce, Eliminate y Roots.
Si tomanos la ecuación cuadrática como ejemplo
eq1 = a x ^ 2 + b x + c ⩵ 0;

El comando Solve devuelve dos ecuaciones


sol1 = Solve[eq1, x]
resuelve

-b - b2 - 4 a c -b + b2 - 4 a c
x → , x → 
2a 2a

La solución se devuelve en forma de una regla, y estas reglas se unen en una lista. El operador (->) de
sustitución permite que la solución se sustituya en un momento posterior en cualquier expresión que
contenga x. Si solo se desea la segunda raíz, puede seleccionarse usando la parte del comando Part
discutido anteriormente, usamos la forma corta del comando parte por anexado [[2]] al final de la
solución
x /. sol1[[2]]

-b + b2 - 4 a c
2a

Un ejemplo similar sigue para tomar la primera solución en la lista. Las raíces pueden ser similares.
verificado mediante la sustitución de sol1 de nuevo en la ecuación original
eq1 /. sol1 // Simplify
simplifica

{True, True}

La solución también se sigue del comando Roots y Reduce


Roots[eq1, x]
raíces

-b - b2 - 4 a c -b + b2 - 4 a c
x⩵ || x ⩵
2a 2a

Reduce[eq1, x]
reduce

-b - b2 - 4 a c -b + b2 - 4 a c
a ≠ 0 && x ⩵ || x ⩵ ||
2a 2a
c
a ⩵ 0 && b ≠ 0 && x ⩵ - || c ⩵ 0 && b ⩵ 0 && a ⩵ 0
b

Roots y Reduce devolvió el conjunto lógico de soluciones a la ecuación. El operador ||


es la función OR lógica, && es la función AND lógica, y ≠(or ! =) significa que no es igual
a. Reduce devuelve un conjunto completo de soluciones y no supone que el parámetro en una
ecuación sea genérico; i e.., que {a ≠ 0, b ≠ 0, ...}
Consideremos la solución para dos ecuaciones.
8 cap 1.2.nb

eq2 = {a x + b y ⩵ c, a x - b y ⩵ d};

Usando Reduce para obtener las soluciones, que encontramos


eq3 = Reduce[eq2, {x, y}]
reduce
d d
c ⩵ - d && a ⩵ 0 && b ≠ 0 && y ⩵ - || c ⩵ d && b ⩵ 0 && a ≠ 0 && x ⩵ ||
b a
c+d c-d
d ⩵ 0 && c ⩵ 0 && b ⩵ 0 && a ⩵ 0 || a ≠ 0 && x ⩵ && b ≠ 0 && y ⩵
2a 2b

Reduce intenta buscar todas las soluciones posibles y , por lo tanto lleva mas tiempo que Solve. Como
antes la parte deseada de la solución puede extraer utilizando la Part comando. Usando la sintaxis [[4
,{1,2}]] para extraer la primera y segunda subparte de la cuarta parte
eq3[[4, {1, 2}]]
c+d
a ≠ 0 && x ⩵
2a

Si desea restringir a y b para que no sean cero al principio


eq3 = Reduce[{eq2, a ≠ 0, b ≠ 0} // Flatten; {x, y}]
reduce aplana

Reduce::naqs : x && y is not a quantified system of equations and inequalities. 

Reduce[{x, y}]

También podría gustarte