Prácticas de SAGE (caldum) 19 de Enero de 2012

Documentos relacionados
Sistemas de Ecuaciones Lineales

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

Estos apuntes se han sacado de la página de internet de vitutor con pequeñas modificaciones.

SISTEMAS DE ECUACIONES LINEALES

CURSO BÁSICO DE MATEMÁTICAS PARA ESTUDIANTES DE ECONÓMICAS Y EMPRESARIALES

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

MATRICES. Una matriz es un conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Tema 1: Matrices y Determinantes

Se llama adjunto de un elemento de una matriz A, al número resultante de multiplicar por el determinante de la matriz complementaria

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

3. ÁLGEBRA LINEAL // 3.1. SISTEMAS DE

Lo rojo sería la diagonal principal.

Determinantes. Concepto de determinante A cada matriz cuadrada A se le asigna un número denominado determinante de A, denotado por A o por det (A).

Matrices 1. Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Matrices Invertibles y Elementos de Álgebra Matricial

Tema 1: Matrices. El concepto de matriz alcanza múltiples aplicaciones tanto en la representación y manipulación de datos como en el cálculo numérico.

Determinantes. Determinante de orden uno. a 11 = a 11 5 = 5

Definición: Dos matrices A y B son iguales si tienen el mismo orden y coinciden los elementos que ocupan el mismo lugar.

Lección 5.1: Matrices y determinantes. Primeros conceptos. Objetivos de esta lección

TEST DE MATRICES. Dadas A = (-3 4 1/2) y B = (1/3 0-2), cuál es el resultado de multiplicar la matriz A por la traspuesta de B?

Retículos y Álgebras de Boole

APUNTES DE ÁLGEBRA LINEAL TEMA 2. SISTEMAS DE ECUACIONES LINEALES

Algebra lineal y conjuntos convexos

Matrices elementales. Forma normal de Hermite

Sistemas de Ecuaciones Lineales y Matrices

Tema 1: MATRICES. OPERACIONES CON MATRICES

BLOQUE DE ÁLGEBRA: TEMA 1: MATRICES.

Conjuntos y matrices. Sistemas de ecuaciones lineales

MATRICES. Se simboliza tal matriz por y se le llamará una matriz x o matriz de orden x (que se lee por ).

Resumen 3: Matrices, determinantes y sistemas de ecuaciones

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Se denomina matriz a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo:

Matrices. Concepto de matriz Se denomina matriz a todo conjunto de números o expresiones ordenados en filas y columnas.

Matrices escalonadas y escalonadas reducidas

1 ÁLGEBRA DE MATRICES

Tema 5: Sistemas de ecuaciones lineales.

I. Operaciones con matrices usando Mathematica

Programación I: Matrices - Arreglos bidimensionales

RECONOCER EL GRADO, EL TÉRMINO Y LOS COEFICIENTES DE UN POLINOMIO

Matrices, Determinantes y Sistemas Lineales.

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21

Matriz sobre K = R o C de dimensión m n

Tema 4: Matrices y Determinantes. Algunas Notas sobre Matrices y Determinantes. Álgebra Lineal. Curso

Sistemas de ecuaciones lineales

Sistemas de ecuaciones lineales

SISTEMAS DE ECUACIONES LINEALES Y MATRICES Dos ecuaciones lineales con dos

DETERMINANTES Profesor: Fernando Ureña Portero

Matrices y determinantes

Las operaciones con números irracionales

MATEMÁTICAS APLICADAS A LAS C.C. SOCIALES

Sistemas de ecuaciones lineales

Tema 1. Álgebra lineal. Matrices

TEMA 4: Sistemas de ecuaciones lineales II

SISTEMAS DE ECUACIONES LINEALES. Método de reducción o de Gauss. 1º DE BACHILLERATO DPTO DE MATEMÁTICAS COLEGIO MARAVILLAS AUTORA: Teresa González.

La Lección de hoy es sobre Escribir la Ecuación de una Línea Paralela a Una Linea Recta que Pasa Por Un Punto Dado.

Matrices y Determinantes.

Capítulo 7: Sistemas de ecuaciones lineales

La lección de hoy es sobre Simplificar Expresiones Radicales. El cuál es la expectativa para el aprendizaje del estudiante S.L.E LA.1.A1.

de la forma ), i =1,..., m, j =1,..., n, o simplemente por (a i j ).

MATEMÁTICAS 2º BACH TECNOL. MATRICES. Profesor: Fernando Ureña Portero MATRICES

DISEÑO DE PRESENTACIONES EN LA ENSEÑANZA. Diapositivas de diagrama

Guía de uso de DERIVE. 2) Botones de acceso rápido Al colocar el cursor sobre el botón aparece un recuadro con su función

Determinante de una matriz

El determinante de una matriz se escribe como. Para una matriz, el valor se calcula como:

DOCENTE: JESÚS E. BARRIOS P.

Ecuaciones matriciales AX = B y XA = B. Cálculo de la matriz inversa

Programación Lineal. El método simplex

!DETERMINANTES. Tema 3.- DETERMINANTES !MATRICES EQUIVALENTES POR FILAS!RANGO DE UNA MATRIZ. APLICACIONES. Un poco de historia

EJERCICIOS RESUELTOS DE MATRICES

Herramientas Calculadora matricial Instrucciones. Calculadora matricial Contenido Zonas de la calculadora Matrices...

Si recuerdas esto, será suficiente información para resolver este problema, que usa el triangulo derecho de 45, 45, 90, grados.

ECUACIONES DE PRIMER GRADO CON UNA INCÓGNITA

Una matriz es una tabla ordenada (por filas y columnas) de escalares a i j de la forma: a

Desigualdades con Valor absoluto

ÁLGEBRA DE MATRICES. Al consejero A no le gusta ninguno de sus colegas como presidente.

Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan el mismo lugar en ambas son iguales

MATRICES. Entonces, A y B son matrices cuadradas de orden 3 y 2 respectivamente.

Números reales Conceptos básicos Algunas propiedades

Ing. Ramón Morales Higuera

Índice Proposiciones y Conectores Lógicos Tablas de Verdad Lógica de Predicados Inducción

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

7ª Práctica. Matlab página 1 EJERCICIO 1. ORDENAR UN VECTOR CON EL MÉTODO DE LA BURBUJA...1

RESUMEN PARA EL ESTUDIO

Operaciones elementales

Matriz A = Se denomina MATRIZ a todo conjunto de números o expresiones dispuestos en forma rectangular, formando filas y columnas.

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

TEMA 1 CONJUNTOS NUMÉRICOS

Definición 1. Dado un conjunto C una aplicación definida por : C C C

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

Sistemas de ecuaciones lineales

1 diremos que es la altura de X, y el ancho de 1. Seria, 1 por X, que sería X.

La lección de hoy es sobre cómo encontrar el Punto Medio de un Segmento. Es cuál es la expectativa para el aprendizaje del estudiante CGT.5.G.1.

1. Sistemas de ecuaciones lineales

f: D IR IR x f(x) v. indep. v. dependiente, imagen de x mediante f, y = f(x). A x se le llama antiimagen de y por f, y se denota por x = f -1 (y).

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

Tema 2: Determinantes

Tema 2: Teorema de estructura de los grupos abelianos finitamente generados.

La Lección de hoy es sobre las Matrices: Suma, Resta, y Multiplicación Escalar.

1. El sistema de los números reales

Transcripción:

Prácticas de SAGE (caldum) 19 de Enero de 2012 1. Introducción En este ejercicio vamos a ver las posibilidades de programación de SAGE haciendo una implementación del algoritmo de reducción de Gauss de matrices. Es probablemente el algoritmo más conocido por los estudiantes de cualquier curso básico de álgebra lineal. Iremos definiendo una serie de funciones que nos permitirán resolver el problema. 2. Base Teórica La base teórica de este ejercicio se puede ver en http://webs.um.es/leandro en el ebook sobre reducción de matrices por filas. 3. Matrices en SAGE Para definir una matriz en sage necesitamos tres datos fundamentales: el cuerpo sobre el que está definida (empezaremos utilizando los números racionales), la dimensión y las entradas que tiene en cada posición. Por ejemplo, para hacer una matriz de 2 filas y 3 columnas sobre Q con entradas aleatorias entremos en el entorno sage y escribamos: random_matrix(qq,2,3) Para introducir las diferentes entradas de la matriz y asignar por ejemplo dicha matriz a la variable A hacemos lo siguiente: A = Matrix(QQ,[[1,2,3],[4,5,6]]) Para ver la matriz A, simplemente escribimos A o bien print A.str() Es posible introducir matrices sin especificar el cuerpo, por ejemplo: B = Matrix([[1,2,3],[4,5,6]]) 1

producirá un resultado similar al anterior sin imprimimos los resultados. en el segundo caso, sage deduce el cuerpo (o el anillo) base a partir del anillo base de los elementos introducidos. Podemos ver la diferencia poniendo los comandos: A.base_ring() B.base_ring() Los elementos de una matriz se empiezan a numerar desde 0 y se acceden poniendo la fila y columna entre corchetes: B = Matrix([[1,2,3],[4,5,6]]) B[0,0] == 1 Nos debería responder True. 4. Operaciones Elementales Las operaciones elementales sobre una matriz en sage se realizan del siguiente modo: 1. Intercambio de dos filas: Para intercambiar la fila i y la fija j de una matriz A ponemos A.swap_rows(i,j) 2. Multiplicar una fila por una constante. Si quieremos multiplicar la fila i por la constante x escribimos A.rescale_row(i,x) 3. Para sumar a una fila i, la fila j multiplicada por x escribimos A.add_multiple_of_row(i,j,x) Ejercicio 4.1. Entra en el entorno sage e introduce la matriz A = 4 5 6 7 8 9 y realiza las siguientes operaciones elementales el en orden indicado: 1. Intercambia la fila 0 y la fila 2 2. Multiplica la fila 0 por 1/7 3. Suma a la fila 3 la fila 0 multiplicada por 1 4. Multiplica la fila 2 por 6 Escribe la matriz que resulta de realizar estas operaciones en el cuadernillo de prácticas.

5. Buscando los Elementos Pivote Para realizar el algoritmo de reducción de Gauss es necesario buscar en cada fila, cual el el primer elemento no nulo (si existe), así como detectar cuando una fila es totalmente nula. Este primer elemento no nulo lo llamaremos elemento pivote y vamos a hacer una función que nos lo calcule. Para poder definir esta función necesitamos algunas herramientas básicas: 1. Lazos for. Si queremos recorrer un conjunto de valores, podemos hacerlo poniendo for e indicando el conjunto sobre el que recorre los valores la variable. Por ejemplo, si queremos ir desde 0 hasta 6 podemo describir este conjunto como range(7) (teclea range(7) y mira el resultado. Si queremos que x recorra todos los valores en este rango escribiríamos for x in range(7): print x*x Este ejemplo sencillo nos escribe el cuadrado de todos los valores en este rango. 2. Definición de funciones: Si queremos definir una función f que se le pase un parámetro x y que nos devuelva por ejemplo x 2 +1 escribimos def f(x): return x*x+1 Ejercicio 5.1. Calcula una función que llamarás piv y que se le pasará como parámetro una matriz A y un índice i que corresponderá a una fila. La función debe devolver 1 si la fila i es nula y si no lo es, nos debe devolver el índice correspondiente a la primera entrada no nula empezando a contar desde 0. Realiza el ejercicio primer para matrices con 3 columnas y luego utiliza el valor A.ncols() que te proporciona el número de columnas para hacer una función que resuelva el problema para una matriz cualquiera. Escribe en tu cuadernillo de prácticas la función implementada. 6. Normalizando el pivote y haciendo ceros Una vez detectado cual el el pivote de una fila concreta i, vamos a hacer 1 dicho pivote con una operación elemental y luego eliminar todos los elementos que hay encima y debajo del pivote. Para ello necesitamos comprobar condiciones lógicas y realizar operaciones condicionados a

ellas. Eso se hace con if. Así, si tenemos que realizar una operación f(a) si una cierta variable p positiva escribimos if(p>0): f(a) En caso de que haya que hacer varias operaciones, como siempre las ponemos todas seguidas respetando la indentación. Ejercicio 6.1. Dada una matriz A y una fila i, busca el primer elemento no nulo de dicha fila. Si existe y no es uno, conviértelo en 1 multiplicando toda la fila por el valor adecuado utilizando la operación elemental de reescalado. Una vez convertido en 1 el pivote, para cada elemento de la columna distinto de 0 y distinto de él mismo, conviértelo en 0 sumando a la fila correspondiente, la fila i multiplicada por el negativo del elemento que queremos anular. Cuenta en una variable oper el número de operaciones reales que realizas y cada vez que hagas una, escribe la matriz resultante. Entendemos como operaciones reales aquellas que cambian la matriz, por ejemplo, si reescalamos una fila multiplicándola por 1, en realidad no cambiamos la matriz, esa no es una operación real, como tampoco lo es sumas a una fila, el contenido de otra multiplicado por 0. Introduce la matriz A = 4 5 6 7 8 9 y realiza las operaciones elementales correspondientea a fila 1 (recuerda que el primer índice es el 0, por lo tanto la fila 1 es la segunda). Escribe en tu cuadernillo de prácticas el resultado que da la función después de normalizar el pivote de dicha fila y eliminar todos los elementos no nulos de su columna. Escribe también el número de operaciones elementales realizadas. 7. Terminando el proceso Para terminar el proceso de reducción y una vez que hemos pasado fila por fila haciendo los pivotes y eliminando todos los elementos no nulos, tenemos que reordenar las filas para poner los pivotes de cada fila más a la derecha que los de la fila anterior y también poner las filas de ceros en la parte inferior. Para ello tendrás que utilizar un algoritmo de ordenación.

Ejercicio 7.1. Escribe un programa que dada una matriz, haga su reducida por filas completa escribiendo, cada vez que se realiza una operación elemental, la matriz resultante. Para ello probablemente necesites la función A.nrows() que te dice el número de filas de la matriz. Introduce la matriz A = 4 5 6 7 8 9 y escribe en tu cuadernillo de prácticas la matriz que resulta de realizar exactamente 7 operaciones elementales. Escribe también cuales son estas operaciones. 8. Punto Extra Ejercicio 8.1. Estudia los cambios que serían necesarios para que el programa funcionara para matrices sobre un cuerpo arbitrario y realiza pruebas con matrices sobre el cuerpo GF(5) y GF(8, a ) reduciendo las matrices: 2 4 1 3 0 2 3 0 4 1 3 4 1 1 4 1 1 4 3 0 a2 +a+1 a 2 +a 1 a a a a 2 +1 1 a 2