71 
5.5 Constantes integradas 
SAGE tiene varias constantes matemáticas integradas y la siguiente es una lista de las más 
comunes: 
Pi, pi: La proporción de la circunferencia del diámetro de un círculo. 
E, e: Base del logaritmo natural. 
I, i: El número imaginario. 
log2: El logaritmo natural del número real 2. 
Infinity, infinity: Puede tener un + o – antes de el para indicar infinito positivo o negativo. 
Los siguientes ejemplos muestran a las constantes en uso: 
a = pi.n() 
b = e.n() 
c = i.n() 
a,b,c 
(3.14159265358979, 2.71828182845905, 1.00000000000000*I) 
r = 4 
a = 2*pi*r 
a,a.n() 
(8*pi, 25.1327412287183) 
Las constantes en SAGE son definidas como variables globales y una variable global es una 
variable accesible por la mayoría del código de SAGE, incluyendo dentro de funciones y 
métodos. Como las constantes son simplemente variables que tienen un objeto constante 
asignado a ellas, las variables pueden ser reasignadas si es necesario pero el objeto constante se 
pierde. Si uno necesita reasignar una constante a la variable que esta normalmente asociada, la 
función restore() puede ser utilizada. El siguiente programa muestra como la variable pi puede 
tener el objeto 7 asignado a ella y después tener su constante por defecto asignada a ella de 
nuevo colocando el nombre entre comillas en la función restore()
print pi.n() 
pi = 7 
print pi 
restore('pi') 
print pi.n() 
3.14159265358979 
3.14159265358979 
Si se utiliza la función restore() sin parámetros, todas las constantes reasignadas son restauradas 
a sus valores originales. 
Converting pdf to plain text - software Library dll:C# PDF Convert to Text SDK: Convert PDF to txt files in C#.net, ASP.NET MVC, WinForms, WPF application
C# PDF to Text (TXT) Converting Library to Convert PDF to Text
www.rasteredge.com
Converting pdf to plain text - software Library dll:VB.NET PDF Convert to Text SDK: Convert PDF to txt files in vb.net, ASP.NET MVC, WinForms, WPF application
VB.NET Guide and Sample Codes to Convert PDF to Text in .NET Project
www.rasteredge.com
72 
5.6 Raíces 
La función sqrt() puede ser utilizada para obtener la raíz cuadrada de un valor, pero una técnica 
más general es utilizada para obtener las raíces de un valor. Por ejemplo, si uno desea obtener la 
raíz cúbica de 8: 
8 sería elevado a la potencia 1/3: 
8^(1/3) 
Dado el orden de operaciones, el número racional 1/3 necesita ser colocado entre paréntesis para 
que pueda ser evaluado como exponente. 
5.7 Variables simbólicas 
Hasta este punto, todas las variables que hemos utilizado han sido creadas por medio de 
asignación. Por ejemplo, en el siguiente código la variable w es creada y posteriormente se le 
asigna el valor 7: 
w = 7 
Pero, ¿Qué tal si se necesitara trabajar con variables que no tengan asignados ningún valor 
específico? El siguiente código intenta imprimir el valor de la variable z, pero a z no se le ha 
asignado ningún valor todavía, así que ocurre una excepción: 
print z 
Exception (click to the left for traceback): 
... 
NameError: name 'z' is not defined 
En matemáticas, las “Varibles sin asignar” son utilizadas todo el tiempo. Dado que SAGE es un 
software orientado a las matemáticas, tiene la capacidad de trabajar con variables sin asignar. En 
SAGE, las variables sin asignar son llamadas variables simbólicas y son definidas utilizando la 
función var(). Cuando una hoja de trabajo se abre por primera vez, la variable x es definida 
automáticamente para ser una variable simbólica y permanecerá así a menos que se le asigne otro 
valor en el código. 
software Library dll:C# Create PDF from Text to convert txt files to PDF in C#.net, ASP
NET control for batch converting text formats to NET class source code for creating PDF document from Convert plain text to PDF text with multiple fonts, sizes
www.rasteredge.com
software Library dll:VB.NET Create PDF from Text to convert txt files to PDF in vb.net
Able to convert plain text to various fonts, colors and sizes of text content in PDF. Sample code for text to PDF converting in VB.NET programming .
www.rasteredge.com
73 
El siguiente código fue ejecutado en una hoja de trabajo nueva: 
print x 
type(x) 
<class 'sage.calculus.calculus.SymbolicVariable'> 
Noten que la variable x tenía un objeto del tipo SymbolicVariable automáticamente asignado a 
ella por el entorno SAGE. 
Si se necesitaran utilizar también 
z como variables simbólicas, la función var() es necesaria para 
esto. Puede introducirse ya sea como var(‘x,y’) o var(‘x y’). La función var() está diseñada para aceptar 
uno o más nombres de variables dentro de una secuencia y los nombres pueden estar separados ya sea por 
comas o espacios. 
El siguiente programa muestra var() siendo usada para inicializar y y z para ser variables simbólicas: 
var('y,z') 
y,z 
(y, z) 
Después de que una o más variables simbólicas han sido definidas, la función reset() puede ser 
utilizada para deshacer esto: 
reset('y,z') 
y,z 
Exception (click to the left for traceback): 
... 
NameError: name 'y' is not defined 
5.8 Expresiones simbólicas  
Las expresiones que contengan variables simbólicas  son llamadas expresiones simbólicas. En 
el siguiente ejemplo, b es definida como una variable simbólica y posteriormente es utilizada 
para crear la expresión simbólica 2*b: 
var('b') 
type(2*b) 
<class 'sage.calculus.calculus.SymbolicArithmetic'> 
software Library dll:C# Word: How to Extract Text from C# Word in .NET Project
Word text extractor preserves both the plain text as well PDF document, image to pdf files and for capturing, viewing, processing, converting, compressing and
www.rasteredge.com
74 
Como se puede ver en este ejemplo, la expresión simbólica 2*b fue colocada en un objeto del 
tipo SymbolicArithmetic. La expresión también puede ser asignada a una variable: 
m = 2*b 
type(m) 
<class 'sage.calculus.calculus.SymbolicArithmetic'> 
El siguiente programa crea 2 expresiones simbólicas, las asigna a variables y posteriormente 
realiza operaciones en ellas: 
m = 2*b 
n = 3*b 
m+n, m-n, m*n, m/n 
(5*b, -b, 6*b^2, 2/3) 
Aquí está otro ejemplo que multiplica 2 expresiones simbólicas entre ellas: 
m = 5 + b 
n = 8 + b 
y = m*n 
(b + 5)*(b + 8) 
5.9 Expandiendo y factorizando 
Si es necesitada la forma expandida de la expresión de la sección anterior, se obtiene fácilmente 
llamando el método expand() (este ejemplo asume que las celdas en la sección anterior fueron 
ejecutadas): 
z = y.expand() 
b^2 + 13*b + 40 
75 
5.10 Ejemplos variados de expresiones simbólicas. 
var('a,b,c') 
(5*a + b + 4*c) + (2*a + 3*b + c) 
5*c + 4*b + 7*a 
(a + b) - (x + 2*b) 
-x - b + a 
3*a^2 - a*(a -5) 
3*a^2 - (a - 5)*a 
_.factor() 
a*(2*a + 5) 
5.11 Pasando valores a las expresiones simbólicas 
Si se le dan valores a las expresiones simbólicas, estas serán evaluadas y se dará un resultado. Si 
la expresión solo tiene una variable, entonces el valor puede simplemente pasado de la siguiente 
manera: 
a = x^2 
a(5) 
25 
Sin embargo, si la expresión tiene 2 o más variables, cada variable necesita tener un valor 
asignado a ella por nombre: 
var('y') 
a = x^2 + y 
a(x=2, y=3) 
76 
5.12 Ecuaciones simbólicas y la función solve() 
Además de trabajar con expresiones simbólicas, SAGE también es capaz de trabajar con ecuaciones 
simbólicas
var('a') 
type(x^2 == 16*a^2) 
<class 'sage.calculus.equations.SymbolicEquation'> 
Como se puede ver en el ejemplo, la ecuación simbólica x^2 = = 16*a^2 fue colocada en un 
objeto del tipo SymbolicEquation. Una ecuación simbólica necesita utilizar doble signo igual  
‘= =’ para que pueda ser asignada a una variable utilizando un solo signo igual ‘=’ como esta: 
m = x^2 == 16*a^2 
m, type(m) 
(x^2 == 16*a^2, <class 'sage.calculus.equations.SymbolicEquation'>) 
Muchas ecuaciones simbólicas pueden ser resueltas algebraicamente utilizando la función  
solve()
solve(m, a) 
[a == -x/4, a == x/4]
El primer parámetro en la función  solve() acepta una ecuación simbólica y el segundo parámetro acepta 
la variable simbólica a resolver. 
La función solve() también puede resolver ecuaciones simultaneas: 
var('i1,i2,i3,v0') 
a = (i1 - i3)*2 + (i1 - i2)*5 + 10 - 25 == 0 
b = (i2 - i3)*3 + i2*1 - 10 + (i2 - i1)*5 == 0 
c = i3*14 + (i3 - i2)*3 + (i3 - i1)*2 - (-3*v0) == 0
d = v0 == (i2 - i3)*3 
solve([a,b,c,d], i1,i2,i3,v0) 
[[i1 == 4, i2 == 3, i3 == -1, v0 == 12]]
Nota: cuando se pasan mas de 1 ecuación a la función solve(), estas necesitan ser colocadas en una lista. 
77 
5.13 Funciones matemáticas simbólicas 
SAGE tiene la habilidad de definir funciones utilizando la sintaxis matemática. El siguiente 
ejemplo muestra una función f siendo definida que utiliza x como variable: 
f(x) = x^2 
f, type(f) 
(x |--> x^2, 
<class'sage.calculus.calculus.CallableSymbolicExpression'>) 
Los objetos de esta manera son del tipo CallableSymbolicExpression, lo que significa que 
pueden ser llamadas como se muestra en el siguiente ejemplo: 
f(4), f(50), f(.2) 
(16, 2500, 0.040000000000000010) 
Este es un ejemplo que utiliza la expresión de arriba (CallableSymbolicExpresion) dentro de un 
lazo: 
a = 0 
while a <= 9: 
f(a) 
a = a + 1 
16 
25 
36 
49 
64 
81 
78 
El siguiente ejemplo logra el mismo trabajo que el ejemplo anterior, pero utiliza características
de 
lenguaje mas avanzadas: 
a = srange(10) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
for num in a: 
f(num) 
16 
25 
36 
49 
64 
81 
5.14 Encontrando raíces gráfica y numéricamente con el método find_root() 
Algunas veces, las ecuaciones no pueden ser resueltas algebraicamente y la función solve() 
indica esto mostrando una copia de la ecuación que fue ingresada. Esto es mostrado en el 
siguiente ejemplo: 
f(x) = sin(x) - x - pi/2 
eqn = (f == 0) 
solve(eqn, x) 
[x == (2*sin(x) - pi)/2] 
Sin embargo, las ecuaciones que no pueden ser resueltas algebraicamente se pueden resolver 
tanto grafica como numéricamente. El siguiente ejemplo muestra la ecuación anterior siendo 
resuelta gráficamente: 
79 
show(plot(f,-10,10)) 
Esta gráfica indica que la raíz de esta ecuación es un poco mayor que -2.5. 
El siguiente ejemplo muestra la ecuación siendo resuelta de forma más precisa con el método 
find_root()
f.find_root(-10,10) 
-2.309881460010057 
El -10 y +10 que son pasados al método find_root() le dicen el intervalo en el cual debe buscar 
por las raíces. 
80 
5.15 Mostrando objetos matemáticos en la forma tradicional 
Al principio se indico que SAGE es capaz de mostrar objetos matemáticos tanto en forma 
tradicional como forma textual. Hasta este punto, solo hemos estado usando forma textual, la 
cual esta por defecto. Si uno desea mostrar el objeto matemático en la forma tradicional, puede 
utilizarse la función show(). El siguiente ejemplo crea una expresión matemática y 
posteriormente las muestra en forma tradicional y textual. 
var('y,b,c') 
z = (3*y^(2*b))/(4*x^c)^2 
#Mostrar la expresión en forma textual. 
3*y^(2*b)/(16*x^(2*c)) 
#Mostrar la expression en forma tradicional. 
show(z) 
5.15.1 LaTeX es utilizado para  mostrar objetos en la forma  tradicional de 
matemáticas 
LaTex (escrito LaTeX en texto plano, http://es.wikipedia.org/wiki/LaTeX
) es un lenguaje de 
marcado  para  documentos  que  es  capaz  de  trabajar  con  un  amplio  rango  de  símbolos 
matemáticos. Los objetos de SAGE proveerán descripciones en LaTeX de ellos mismos cuando 
los  métodos latex() son  llamados.  La descripción LaTeX de  un objeto  también puede  ser 
obtenida pasándola a la función latex()
a = (2*x^2)/7 
latex(a) 
\frac{{2 \cdot {x}^{2} }}{7} 
Cuando este resultado se le proporciona al software de despliegue LaTeX, generará salidas de 
formas matemáticas tradicionales  similares a la siguiente: 
El paquete jsMath en el cual se hace referencia en el dibujo 2.5 es el software que SAGE 
Notebook utiliza para traducilr las entradas LaTeX a la forma de matemáticas tradicional como 
salida. 
Documents you may be interested
Documents you may be interested