En los siguientes ejemplos verás una pequeña muestra de la gran variedad de herramientas matemáticas que ofrece SageMath. Cada ejemplo va acompañado de una observación sobre la sintaxis del lenguaje de programación Sage. Ya sabes que los lenguajes de programación son muy quisquillosos en ese sentido, así que debes tener siempre en cuenta las reglas de sintaxis o en lugar del resultado esperado aparecerá el temido mensaje de SyntaxError
.
Dado que Sage es un lenguaje muy intuitivo y legible (siempre que sepas algo de inglés), antes de ejecutar los programas intenta adivinar cuál será el resultado. Después pruébalos, modifica los datos, junta instrucciones de varios programas… cacharrea con ellos para aprender qué cosas se pueden hacer y cuáles no. Y cada vez que aparezca un mensaje de error (cosa que sucederá con mucha frecuencia), intenta aprender de él.
Si tecleas el nombre de una función u objeto seguido del signo de interrogación y pulsas el botón
Evaluar
se mostrarán los documentos de la referencia, donde se recoge toda la información relativa a dicho elemento: su sintaxis, los argumentos que acepta, ejemplos, etc. Prueba por ejemplo con plot?
.
Cada instrucción de un programa debe escribirse en una línea diferente. Es decir, hay que pulsar Intro
al terminar de escribir cada instrucción.
Representación gráfica de la parábola y la recta en el intervalo .
xxxxxxxxxx
parabola = plot(x^2 - 2*x + 1, xmin=-2, xmax=4, color='cadetblue')
recta = plot(x + 1, xmin=-2, xmax=4, color='brown')
show(parabola + recta, gridlines=True)
Las variables hay que declararlas antes de utilizarlas. La variable x
, sin embargo, no es necesario declararla.
Resolución del sistema de ecuaciones: .
xxxxxxxxxx
var('y')
ecuacion1 = x^2 + y^2 == 2
ecuacion2 = 2*x + 2*y == 3
solucion = solve([ecuacion1, ecuacion2], x, y)
show(solucion)
Las instrucciones que comienzan con el símbolo #
son comentarios, y no se ejecutan.
Representación gráfica en tres dimensiones de la hélice: para .
xxxxxxxxxx
var('t')
# Ecuaciones paramétricas de la hélice
x = 2*cos(t)
y = 2*sin(t)
z = t/4
# Gráfica de la hélice
helice = parametric_plot3d((x,y,z), (t,0,4*pi))
# Salida por pantalla
show(helice)
Sage es un lenguaje case sensitive. Es decir, distingue mayúsculas de minúsculas.
EjemploCírculo de centro y radio , y circunferencia de centro y radio .
xxxxxxxxxx
# Círculo
centro = (1,1)
radio = 1
circulo = circle(centro, radio, fill=True)
# Circunferencia
Centro = (2,2)
Radio = 2
circunferencia = circle(Centro, Radio)
# Salida por pantalla
show(circulo + circunferencia)
Las funciones de Sage necesitan paréntesis. Dentro de los paréntesis van los argumentos de la función, que se separan mediante comas. Si la función no necesita argumentos, los paréntesis van vacíos.
EjemploLímites de la función cuando tiende a y cuando tiende a .
xxxxxxxxxx
f(x)=(x-1)/(x+1)
# Límites cuando x tiende a -1
limite_izq = limit(f(x), x=-1, dir='-')
limite_der = limit(f(x), x=-1, dir='+')
# Límites cuando x tiende a infinito
limite_masInf = limit(f(x), x=oo)
limite_menosInf = limit(f(x), x=-oo)
# Salida por pantalla
show("f(x)=", f(x))
show("Límite cuando x tiende a -1 por la izquierda:", limite_izq)
show("Límite cuando x tiende a -1 por la derecha:", limite_der)
show("Límite cuando x tiende a más infinito:", limite_masInf)
show("Límite cuando x tiende a menos infinito:", limite_menosInf)
Los elementos que pertenecen a una lista se escriben dentro de corchetes.
EjemploRepresentación del baricentro del triángulo de vértices , y .
xxxxxxxxxx
# Coordenadas del vértice A
xA = -1
yA = 2
A = (xA,yA)
# Coordenadas del vértice B
xB = 2
yB = -3
B = (xB,yB)
# Coordenadas del vértice C
xC = 4
yC = 3
C = (xC,yC)
# Coordenadas del baricentro G
xG = (xA + xB + xC)/3
yG = (yA + yB + yC)/3
G = (xG,yG)
# Baricentro
baricentro = point(G, size=50, color='crimson')
# Vértices
vertices = point([A,B,C], color='black')
# Lados
lados = line([A,B,C,A], color='darkslategray')
# Salida por pantalla
show(baricentro + vertices + lados, gridlines=True)
En general no se debe dejar ningún espacio en blanco antes de una instrucción. Sin embargo, para agrupar varias instrucciones en un bloque estas se deben indentar con cuatro espacios (un tabulador).
EjemploCálculo de seno, coseno y tangente de los ángulos , , , y .
xxxxxxxxxx
for angulo in [0, 30, 45, 60, 90]:
angulo_rad = angulo*pi/180 # Ángulo a radianes
print("Ángulo:", angulo, "grados")
print("-----------------")
print("Seno:", sin(angulo_rad))
print("Coseno:", cos(angulo_rad))
print("Tangente:", tan(angulo_rad))
print()
Recuerda que es necesario que sigas estas reglas para evitar errores cuando estés escribiendo tus programas.