lgebra y Matem tica Discreta - 2012 Sesi n de Pr cticas 1

Post on 29-Jun-2022

1 views 0 download

Transcript of lgebra y Matem tica Discreta - 2012 Sesi n de Pr cticas 1

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Álgebra y Matemática Discreta - 2012

Sesión de Prácticas 1

Leandro Marín

Dpto. de Matemática Aplicada

Facultad de Informática

2012

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

1 Estructuras Algebraicas

2 Listas

3 Los Números Enteros

4 Polinomios

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Programa sage

El programa sage es un paquete matemático de software libreque dispone de muchas funcionalidades. Vamos a empezar lasprácticas con él.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Programa sage

El programa sage es un paquete matemático de software libreque dispone de muchas funcionalidades. Vamos a empezar lasprácticas con él.

Se puede descargar libremente de la direcciónhttp://www.sagemath.org

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Programa sage

El programa sage es un paquete matemático de software libreque dispone de muchas funcionalidades. Vamos a empezar lasprácticas con él.

Se puede descargar libremente de la direcciónhttp://www.sagemath.org

Existen multitud de recursos en internet, desde cursos paraestudiantes preuniversitarios hasta programas a nivel deinvestigación.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

La Estructura como Variable

Tenemos una gran cantidad de estructuras algebraicasdefinidas dentro de sage que podemos utilizar.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

La Estructura como Variable

Tenemos una gran cantidad de estructuras algebraicasdefinidas dentro de sage que podemos utilizar.

Una de las más sencillas es el conjunto de los números enterosZ. En sage este conjunto se denota por ZZ.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

La Estructura como Variable

Tenemos una gran cantidad de estructuras algebraicasdefinidas dentro de sage que podemos utilizar.

Una de las más sencillas es el conjunto de los números enterosZ. En sage este conjunto se denota por ZZ.

Si escribimos

ZZ

el programa nos responderá Integer Ring, es decir anillo delos números enteros.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

La Estructura como Variable

Tenemos una gran cantidad de estructuras algebraicasdefinidas dentro de sage que podemos utilizar.

Una de las más sencillas es el conjunto de los números enterosZ. En sage este conjunto se denota por ZZ.

Si escribimos

ZZ

el programa nos responderá Integer Ring, es decir anillo delos números enteros.

ZZ es una variable más del sistema.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Operaciones con Enteros

Vamos a hacer algunas operaciones básicas en los númerosenteros. La suma, resta y multiplicación se realizan con lossímbolos habituales +, - y *.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Operaciones con Enteros

Vamos a hacer algunas operaciones básicas en los númerosenteros. La suma, resta y multiplicación se realizan con lossímbolos habituales +, - y *.

Si escribimos

a = 6*7*8*9

print a

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Operaciones con Enteros

Vamos a hacer algunas operaciones básicas en los númerosenteros. La suma, resta y multiplicación se realizan con lossímbolos habituales +, - y *.

Si escribimos

a = 6*7*8*9

print a

obtendremos 3024.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

División

La división requiere un poco más de explicación, porquepodemos hacer la siguiente operación:

print a/16

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

División

La división requiere un poco más de explicación, porquepodemos hacer la siguiente operación:

print a/16

y obtenemos 189 porque la división es exacta, pero si hacemos

print a/10

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

División

La división requiere un poco más de explicación, porquepodemos hacer la siguiente operación:

print a/16

y obtenemos 189 porque la división es exacta, pero si hacemos

print a/10

obtenemos 15125

. En este caso la división no es exacta y nos hadejado la operación en forma fraccionaria.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Cociente y Resto

El realidad este operador en los números enteros no es comoen otros lenguajes, el cociente de la división.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Cociente y Resto

El realidad este operador en los números enteros no es comoen otros lenguajes, el cociente de la división.

Para obtener el cociente de la división tenemos que poner

print a // 10

con lo que obtenemos 302.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Cociente y Resto

El realidad este operador en los números enteros no es comoen otros lenguajes, el cociente de la división.

Para obtener el cociente de la división tenemos que poner

print a // 10

con lo que obtenemos 302.

El resto de la división se calcula utilizando el símbolo %.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El conjunto de los números racionales se denota QQ y el de losnúmeros reales RR.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El conjunto de los números racionales se denota QQ y el de losnúmeros reales RR.

El conjunto de los números reales RR utiliza representacionesdecimales finitas del número.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El conjunto de los números racionales se denota QQ y el de losnúmeros reales RR.

El conjunto de los números reales RR utiliza representacionesdecimales finitas del número.

Cuando tenemos un elemento en un conjunto y queremosllevarlo a otro, lo que hacemos es utilizar el nombre de laestructura, así por ejemplo

a = 1/3

b = RR(a)

print a

print b

nos dará los resultados 13

y 0.333333333333333.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

En realidad si escribimos

RR

nos dice Real Field with 53 bits of precision, esdecir, cuerpo de los números reales con 53 bits de precisión.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

En realidad si escribimos

RR

nos dice Real Field with 53 bits of precision, esdecir, cuerpo de los números reales con 53 bits de precisión.

Es una precisión suficientemente buena para la mayoría denuestras necesidades.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

En realidad si escribimos

RR

nos dice Real Field with 53 bits of precision, esdecir, cuerpo de los números reales con 53 bits de precisión.

Es una precisión suficientemente buena para la mayoría denuestras necesidades.

Si en alguna ocasión necesitamos ampliarla (o reducirla) esposible.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Si intentamos forzar a que un elemento esté dentro de unaestructura en la que no puede estar, obtenemos un error, porejemplo, si ponemos ZZ(2/3) lo que obtenemos es un error

---------------------------------------------------------------------------

TypeError Traceback (most recent call last)

/home/leandro/docencia/AMD12/quickref/<ipython console> in <module>()

/usr/local/sage-5.0.beta6/local/lib/python2.7/site-packages/sage/structure/parent.so

/in sage.structure.parent.Parent.__call__ (sage/structure/parent.c:7886)()

/usr/local/sage-5.0.beta6/local/lib/python2.7/site-packages/sage/rings/rational.so

/in sage.rings.rational.Q_to_Z._call_ (sage/rings/rational.c:23746)()

TypeError: no conversion of this rational to integer

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas

Los objetos en sage se pueden agrupar en listas.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas

Los objetos en sage se pueden agrupar en listas.

Una lista no es mas que una estructura en la que tenemosunos objetos en posiciones concretas. Por ejemplo

milista = [1,2,3]

asigna a la variable milista la lista formada por los números1, 2 y 3.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas

Los objetos en sage se pueden agrupar en listas.

Una lista no es mas que una estructura en la que tenemosunos objetos en posiciones concretas. Por ejemplo

milista = [1,2,3]

asigna a la variable milista la lista formada por los números1, 2 y 3.

Los elementos están numerados desde 0, así milista[0 ]tendrá el valor 1, milista[1 ] tendrá el valor 2 ymilista[2 ] tendrá el valor 3.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas

Los objetos en sage se pueden agrupar en listas.

Una lista no es mas que una estructura en la que tenemosunos objetos en posiciones concretas. Por ejemplo

milista = [1,2,3]

asigna a la variable milista la lista formada por los números1, 2 y 3.

Los elementos están numerados desde 0, así milista[0 ]tendrá el valor 1, milista[1 ] tendrá el valor 2 ymilista[2 ] tendrá el valor 3.

Los valores milista[n ] se pueden usar como variablesordinarias y hacer cualquier operación sobre ellas.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Recorriendo Listas

La gran ventaja de tener los números en una lista, es quepodemos recorrer los elementos de la lista.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Recorriendo Listas

La gran ventaja de tener los números en una lista, es quepodemos recorrer los elementos de la lista.

Si ponemos

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Recorriendo Listas

La gran ventaja de tener los números en una lista, es quepodemos recorrer los elementos de la lista.

Si ponemos

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Nos escribirá los elementos 1,16,49 y 1.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

for,in,:,etc.

Hay varios puntos importantes en el código:

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

for,in,:,etc.

Hay varios puntos importantes en el código:

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Utilizamos for para recorrer la lista y decimos cómo queremosllamar a los elementos: los llamaremos x.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

for,in,:,etc.

Hay varios puntos importantes en el código:

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Utilizamos for para recorrer la lista y decimos cómo queremosllamar a los elementos: los llamaremos x.

Por tanto x irá recorriendo cada uno de los valores de la lista.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

for,in,:,etc.

Hay varios puntos importantes en el código:

minuevalista = [1,4,7,-1]

for x in minuevalista:

print x*x

Utilizamos for para recorrer la lista y decimos cómo queremosllamar a los elementos: los llamaremos x.

Por tanto x irá recorriendo cada uno de los valores de la lista.

Después ponemos : y la siguiente línea tiene que estardesplazada a la derecha un número de espacios. Esedesplazamiento hace a sage reconocer que esas intruccionesestán en el bucle.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range

Las listas de números [ 0,1,2,3,...,n-1] se puedengenerar con el comando range(n)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range

Las listas de números [ 0,1,2,3,...,n-1] se puedengenerar con el comando range(n)

Si escribimos range(10) nos devolverá la lista[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range

Las listas de números [ 0,1,2,3,...,n-1] se puedengenerar con el comando range(n)

Si escribimos range(10) nos devolverá la lista[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Podemos usarlo directamente

for j in range(10):

print j

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range

Las listas de números [ 0,1,2,3,...,n-1] se puedengenerar con el comando range(n)

Si escribimos range(10) nos devolverá la lista[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Podemos usarlo directamente

for j in range(10):

print j

Nos escribirá todos los números desde el 0 al 9.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range (II)

Si escribimos range(3,6) nos devolverá [ 3,4,5].

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range (II)

Si escribimos range(3,6) nos devolverá [ 3,4,5].

Notemos que el número 6 no se alcanza, en range(a,b) elprimer valor de la lista será a y el último b − 1.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range (II)

Si escribimos range(3,6) nos devolverá [ 3,4,5].

Notemos que el número 6 no se alcanza, en range(a,b) elprimer valor de la lista será a y el último b − 1.

También podemos hacer listas que en cada paso sumen unacantidad distinta de 1, por ejemplo

range(7,12 ,2)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range (II)

Si escribimos range(3,6) nos devolverá [ 3,4,5].

Notemos que el número 6 no se alcanza, en range(a,b) elprimer valor de la lista será a y el último b − 1.

También podemos hacer listas que en cada paso sumen unacantidad distinta de 1, por ejemplo

range(7,12 ,2)

Nos escribirá [ 7,9,11].

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El comando range (II)

Si escribimos range(3,6) nos devolverá [ 3,4,5].

Notemos que el número 6 no se alcanza, en range(a,b) elprimer valor de la lista será a y el último b − 1.

También podemos hacer listas que en cada paso sumen unacantidad distinta de 1, por ejemplo

range(7,12 ,2)

Nos escribirá [ 7,9,11].

También podemos is hacia abajo, por ejemplorange(10,0,-1)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Comandos para Listas

Hay muchos comandos que podemos usar sobre listas. Vamosa ver algunos:

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Comandos para Listas

Hay muchos comandos que podemos usar sobre listas. Vamosa ver algunos:

Si milista es una variable que contiene una lista, entonces sulongitud es len(milista)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Comandos para Listas

Hay muchos comandos que podemos usar sobre listas. Vamosa ver algunos:

Si milista es una variable que contiene una lista, entonces sulongitud es len(milista)

Si queremos saber el número de veces que un valor aparece enuna lista, milista.count(x) nos dice el número de veces quex aparece en milista (que también puede ser 0)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Comandos para Listas

Hay muchos comandos que podemos usar sobre listas. Vamosa ver algunos:

Si milista es una variable que contiene una lista, entonces sulongitud es len(milista)

Si queremos saber el número de veces que un valor aparece enuna lista, milista.count(x) nos dice el número de veces quex aparece en milista (que también puede ser 0)

El comando sum(milista) nos dice cuanto suman todos loselementos de la lista y prod(milista) su producto.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Una Programación Elegante

Podemos crear listas como sigue:

c = [x^2 for x in range(5)]

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Una Programación Elegante

Podemos crear listas como sigue:

c = [x^2 for x in range(5)]

Esto nos proporciona la lista [ 0, 1, 4, 9, 16] y la asignaa la variable c.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Una Programación Elegante

Podemos crear listas como sigue:

c = [x^2 for x in range(5)]

Esto nos proporciona la lista [ 0, 1, 4, 9, 16] y la asignaa la variable c.

Podemos incluso añadir condiciones:

c = [sqrt(x^2-7) for x in range(5) if x^2-7 > 0]

asignará a c la lista [ sqrt(2), 3].

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números en una Base

Dado un número entero, podemos representarlo en diferentesbases. Habitualmente lo representamos en base 10, pero consage podemos transformarlo en cualquier otra base.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números en una Base

Dado un número entero, podemos representarlo en diferentesbases. Habitualmente lo representamos en base 10, pero consage podemos transformarlo en cualquier otra base.

Si ponemos

a = ZZ(100)

bin(a)

hex(a)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números en una Base

Dado un número entero, podemos representarlo en diferentesbases. Habitualmente lo representamos en base 10, pero consage podemos transformarlo en cualquier otra base.

Si ponemos

a = ZZ(100)

bin(a)

hex(a)

Obtenemos respectivamente las representaciones binarias yhexadecimal del número, 0b1100100 y 64.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas de Cifras

Si queremos la lista de todas las cifras, lo podemos hacer con

lascifras = a.digits(2)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas de Cifras

Si queremos la lista de todas las cifras, lo podemos hacer con

lascifras = a.digits(2)

Las cifras van desde la menos significativa hasta la mássignificativa.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas de Cifras

Si queremos la lista de todas las cifras, lo podemos hacer con

lascifras = a.digits(2)

Las cifras van desde la menos significativa hasta la mássignificativa.

El número de cifras podemos saberlo con len(lascifras) odirectamente a.ndigits(2).

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Listas de Cifras

Si queremos la lista de todas las cifras, lo podemos hacer con

lascifras = a.digits(2)

Las cifras van desde la menos significativa hasta la mássignificativa.

El número de cifras podemos saberlo con len(lascifras) odirectamente a.ndigits(2).

Lo que se ha hecho para la base 2, se puede hacer paracualquier base.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisibilidad

Una de las propiedades más interesantes de los númerosenteros es la divisibilidad.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisibilidad

Una de las propiedades más interesantes de los númerosenteros es la divisibilidad.

Para ver si dos números son divisibles entre sí, podemoscalcular el resto y ver que es cero o utilizar un comandoespecial que nos lo dice:

a = ZZ(10)

b = ZZ(5)

b.divides(a)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisibilidad

Una de las propiedades más interesantes de los númerosenteros es la divisibilidad.

Para ver si dos números son divisibles entre sí, podemoscalcular el resto y ver que es cero o utilizar un comandoespecial que nos lo dice:

a = ZZ(10)

b = ZZ(5)

b.divides(a)

nos devolverá True.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisores de un Número

También podemos calcular la lista de divisores de un número.Nos dará los divisores positivos.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisores de un Número

También podemos calcular la lista de divisores de un número.Nos dará los divisores positivos.

El comando es

150.divisors ()

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisores de un Número

También podemos calcular la lista de divisores de un número.Nos dará los divisores positivos.

El comando es

150.divisors ()

Nos devolverá la lista

[1, 2, 3, 5, 6, 10 , 15 , 25 , 30 , 50 , 75 , 150]

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Divisores de un Número

También podemos calcular la lista de divisores de un número.Nos dará los divisores positivos.

El comando es

150.divisors ()

Nos devolverá la lista

[1, 2, 3, 5, 6, 10 , 15 , 25 , 30 , 50 , 75 , 150]

Esta lista se puede asignar a una variable, recorrerla, ocualquier otra operación que queramos hacerle.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números Primos

Un número es primo si no es 1 y sus únicos divisores son élmismo y la unidad.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números Primos

Un número es primo si no es 1 y sus únicos divisores son élmismo y la unidad.

Podemos preguntarnos si un número es primo de diferentesformas, por ejemplo

1.is_prime ()

2.is_prime ()

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números Primos

Un número es primo si no es 1 y sus únicos divisores son élmismo y la unidad.

Podemos preguntarnos si un número es primo de diferentesformas, por ejemplo

1.is_prime ()

2.is_prime ()

nos devolverán respectivamente False y True.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Números Primos

Un número es primo si no es 1 y sus únicos divisores son élmismo y la unidad.

Podemos preguntarnos si un número es primo de diferentesformas, por ejemplo

1.is_prime ()

2.is_prime ()

nos devolverán respectivamente False y True.

Esto es lo mismo que is_prime(1) y is_prime(2).

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Factorización

Podemos descomponer un número en producto de sus factoresprimos, lo que se conce como factorización.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Factorización

Podemos descomponer un número en producto de sus factoresprimos, lo que se conce como factorización.

Si ponemos por ejemplo

factor(1234567890)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Factorización

Podemos descomponer un número en producto de sus factoresprimos, lo que se conce como factorización.

Si ponemos por ejemplo

factor(1234567890)

Nos devolverá 2 · 32· 5 · 3607 · 3803.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Anillo de Polinomios

Se pueden definir también estructuras más complejas, porejemplo los polinomios.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Anillo de Polinomios

Se pueden definir también estructuras más complejas, porejemplo los polinomios.

Podemos asignar a una variable toda una estructuraalgebraica, por ejemplo:

R = PolynomialRing(QQ ,’x’)

S = PolynomialRing(RR ,’x’)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

El Anillo de Polinomios

Se pueden definir también estructuras más complejas, porejemplo los polinomios.

Podemos asignar a una variable toda una estructuraalgebraica, por ejemplo:

R = PolynomialRing(QQ ,’x’)

S = PolynomialRing(RR ,’x’)

nos asignará a R el conjunto de los polinomios con coeficientesen los números racionales y variable x . En el caso de S seránlos polinomios con coeficientes reales.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios

Con las anteriores definiciones, podemos poner

p = R(x^2-2)

q = S(x^2-2)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios

Con las anteriores definiciones, podemos poner

p = R(x^2-2)

q = S(x^2-2)

Podemos preguntar a sage si p y q son iguales,

p == q

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios

Con las anteriores definiciones, podemos poner

p = R(x^2-2)

q = S(x^2-2)

Podemos preguntar a sage si p y q son iguales,

p == q

Nos devolverá True, es decir, son el mismo polinomio, pero sucomportamiento es diferente.

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios (II)

Si escribimos

factor(p)

factor(q)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios (II)

Si escribimos

factor(p)

factor(q)

Obtenemos respectivamente

(x2− 2)

(x − 1.41421356237310) · (x + 1.41421356237310)

Índice Introducción Estructuras Algebraicas Listas Los Números Enteros Polinomios

Polinomios (II)

Si escribimos

factor(p)

factor(q)

Obtenemos respectivamente

(x2− 2)

(x − 1.41421356237310) · (x + 1.41421356237310)

Eso es porque como polinomio con coeficientes en Q elpolinomio es irreducible, pero como polinomio con coeficientesreales no lo es.