Descomposición L/U de una Matriz en Python (Programa anexo)
Descomposición L/U de una Matriz en Python (Programa anexo)Por: KnX.
«Esto es sin duda cierto, es absolutamente paradójico, no podemos comprenderlo y no sabemos lo que significa, pero lo hemos demostrado y, por lo tanto, sabemos que debe ser verdad.» Charles Sanders Peirce
Aparentemente las matemáticas son así, aveces nos es difícil comprenderlas y aunque han estado a nuestro lado toda la vida las ignoramos. Ya ha pasado un tiempo desde que me he alejado parcialmente (no puedes evitarlo, siempre están allí) del mundo matemático para dedicarme en su gran mayoría concretamente a la informática, sin embargo, los 3 años que estube dedicado a ella logre adquirir una visión yo diría privilegiada de como se ve la matemática desde un punto de vista matemático y menos calculista. Digo menos calculista porque como muchos se estarán de acuerdo conmigo las matemáticas más que un grupo de números es una forma de pensar.
No es mi intención hacer un ensayo de las matemáticas ni mucho menos, concentremonos ahora en el tema en si de este post.
Buscando en mis ficheros no etiquetados me he encontrado con este programa que desarrolle hace un tiempo atrás , se trata de un programa que escribí en Python para descomponer una matriz de números en sus factores LU. ¿Qué?, bueno voy tratar de explicarlo en breves palabras quizá a alguien le es de utilidad.
Supongamos una matriz pero que sea cuadrada, vale decir el mismo numero de filas y de columnas escribamos esta matriz como producto de dos matrices las que llamaremos L y U respectivamente (ya explicaré más abajo porque se eligió estos nombres) entonces:…………………………………
(Bajar PDF para seguir leyendo)
abajo dejo el programa y el pdf con su source.
CiberBingo y Tómbola
CiberBingo y Tómbola
2 Visiones distintas del mismo problema
El problema nació en el verano del 2008, mientras la familia se reunía para jugar un entretenido juego de bingo surge la idea (inicialmente mía creo) de realizar un programa de computadora que realizara la misma función que el sorteo en forma manual. Mientras jugábamos se extraviaron algunos números en la tómbola los cuales no pudieron entrar en el próximo sorteo y fueron reemplazados por unos momentaneos de papel, obviamente los cuales no produjeron el mismo efecto de ahí la necesidad de digitalizar el problema.
Inicialmente la idea era sencilla, desarrollar un programa que simulara el proceso. Cantidad de programadores disponibles 2 con lo cual un pensamiento lógico llevaría a dividir las tareas para el desarrollo, sin embargo luego de varias conversaciones sin llegar a un acuerdo cada programador decide actuar por su lado y comienza a crearse un especie de competencia por quién desarrolla primero el programa y de mejor forma.
A continuación una descripción formal del problema, resultado obtenido y una pequeña comparación entre las aplicaciones , decida usted cuál es la mejor.
Objetivo: Crear aplicación en Java que implemente el juego típico de Bingo, emulando una tómbola, bolas, un medio para saber la bola sorteada, el cartón del jugador y todos los elementos típicos de un Bingo.
Especificaciones: El sorteo de las bolas debe ser totalmente aleatorio.
Comparación Básica entre las aplicaciones
CiberBingo | Tómbola | |
Librerias gráficas utilizada | Swing | Swing |
Visor de última bola | Si | Si |
Orientación a objetos | Si | Si |
Nivel de Oreintación a objetos (si aplica) | 3 Clases | 6 C lases |
Funcionalidades Disponibles | Sortear
Nuevo Juego Guardar Partida Recuperar Partida Sortear Automáticamente Cantador Virtual (Idea Original) |
Sortear
Sortear automaticamente Predicción de ganador Mostrar/Ocultar Log Mostrar última bola sorteada Mostrar panel bolitas Cantador Virtual Configurar Colores |
Función de aleatoridad | Math.random()*76; | Math.random()*100; |
Orden de código | Buena | Regular |
Simplicidad de código | Regular | Buena |
Cantidad de formularios utilizados | 2 | 3 |
IDE Utilizado | NetBeans 6 | NetBeans 5.0 |
Licencia | GPL | GPL |
Ventajas comparativas según cada programador
Tómbola (GPL)
“La principal ventaja de tómbola es la buena interacción con el usuario y capacidad de configurar casi todo. Además el diseño es fácilmente adaptable a ser utilizado por otra aplicación.”
CiberBingo(?)
“ …………………………….”
Resultado final (decida usted)
Actualización: Entre uno de los tantos movimientos que ha tenido este sitio, hemos perdido el codigo fuente de ciberbingo 1.0 ; Prometemos volver a ponerlo aquí si es que algún nos topamos con algún backup del mismo.