Difference between revisions of "Análisis numérico I"

From Supercomputación y Cálculo Científico UIS
 
(13 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
     <div class="col-md-14">
 
     <div class="col-md-14">
 
         <div class="well well-midnight">
 
         <div class="well well-midnight">
                 <h5>Nombre del curso - Código del curso</h5>
+
                 <h5>Análisis numérico I - 22962</h5>
 
         </div>
 
         </div>
 
     </div>
 
     </div>
Line 28: Line 28:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
             <p></p>
+
             <p>Este curso es una continuación del curso de Analisis Numérico dictado por el profesor Alfonso Mendoza Castellanos. </p>
 
         </div>
 
         </div>
 
     </div>
 
     </div>
Line 39: Line 39:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
<ol>
+
            <ol>
<li>Error y Algoritmos Iterativos</li>
+
                <li>Error y Algoritmos Iterativos</li>
<li>Raices de Ecuaciones</li>
+
                <li>Raices de Ecuaciones</li>
<li>Solucion de Sistemas Lineales</li>
+
                <li>Solucion de Sistemas Lineales</li>
<li>Aproximacion</li>
+
                <li>Aproximacion</li>
<li>Interpolacion</li>
+
                <li>Interpolacion</li>
<li>Diferenciacion</li>
+
                <li>Diferenciacion</li>
<li>Integracion</li>
+
                <li>Integracion</li>
</ol>
+
            </ol>
 
         </div>
 
         </div>
 
     </div>
 
     </div>
Line 58: Line 58:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
 
+
            <ol>
<ol>
+
                <li>Curso Téorico Práctico</li>
<li>Curso Téorico Práctico</li>
+
                <li>Evaluaciones</li>
<li>Evaluaciones</li>
+
                <li>Lecturas Sugeridas</li>
<li>Lecturas Sugeridas</li>
+
                <li>Sesiones Prácticas </li>
<li>Sesiones Prácticas </li>
+
            </ol>
</ol>
 
 
 
 
         </div>
 
         </div>
 
     </div>
 
     </div>
Line 76: Line 74:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
<ol>
+
            <ol>
<li>[Métodos Numéricos]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/E00S59E2Sz58Y7Q Métodos Numéricos]</li>
<li>[Ejemplo del Método de Bairstow]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/K8QqpBhEkcWEHnL Ejemplo del Método de Bairstow]</li>
<li>[Jacobi y Ejercicio de Clase]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/ckDtB7Hol5Woerd Jacobi y Ejercicio de Clase]</li>
<li>[Aplicaciones Varias Analisis Numérico]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/QDe74GljhQAcvRU Aplicaciones Varias Analisis Numérico]</li>
<li>[Integracion Numérica, Primeros Métodos]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/J4JhF8zOYug0z9x Integracion Numérica, Primeros Métodos]</li>
<li>[Diferenciación e Integración]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/xNvy45SW35WuJI7 Diferenciación e Integración]</li>
<li>[Interpolaciones]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/YfLZHa8KoPSf6tH Interpolaciones]</li>
<li>[Ecuaciones Diferenciales (Euler y Runge Kutta)(Codigo de Prueba: Archivo:Diff.c )]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/MfKFhBOb5WfBp2m Ecuaciones Diferenciales (Euler y Runge Kutta)(Codigo de Prueba: Archivo:Diff.c )]</li>
<li>[Complejidad]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/JvVVk9alTGL5R2k Complejidad]</li>
<li>[Técnicas de programación]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/caAmpfCHhSjp2tJ Técnicas de programación]</li>
<li>[Lenguajes Interpretados]</li>
+
                <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/EhRvMpT3STI2UPa Lenguajes Interpretados]</li>
</ol>
+
</ol>        
 
 
       
 
 
         </div>
 
         </div>
 
     </div>
 
     </div>
Line 101: Line 97:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
 
 
 
             <div class="col-md-6">
 
             <div class="col-md-6">
 
                 <div class="panel panel-midnight-border">
 
                 <div class="panel panel-midnight-border">
Line 109: Line 103:
 
                     </div>
 
                     </div>
 
                     <div class="panel-body">                         
 
                     <div class="panel-body">                         
 
+
                        <ul>
<ul>
+
                            <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/fUmhG9UHFQgAPNh Tema 1]</li>
<li>Tema 1</li>
+
                            <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/qI0DAulHq0VrHzR Tema 2]</li>
<li>Tema 2</li>
+
                            <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/rnjaTETvxN3jLtU Solución recomendada]</li>
<li>Solución recomendada</li>
+
                        </ul>
</ul>
 
 
 
 
                     </div>
 
                     </div>
 
                     <div class="panel-footer">Evaluación 1</div>
 
                     <div class="panel-footer">Evaluación 1</div>
Line 127: Line 119:
 
                     </div>
 
                     </div>
 
                     <div class="panel-body">
 
                     <div class="panel-body">
<ul>
+
                        <ul>
<li>Tema único</li>
+
                            <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/P7vbJxHdBzoHaV7 Tema único]</li>
<li>Datos</li>
+
                            <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/75NubLz0Fw3NB5d Datos]</li>
</ul>
+
                        </ul>
 
 
 
                     </div>
 
                     </div>
 
                     <div class="panel-footer">Evaluación 2</div>
 
                     <div class="panel-footer">Evaluación 2</div>
Line 142: Line 133:
 
                         <h3 class="panel-title">Trabajo Final</h3>
 
                         <h3 class="panel-title">Trabajo Final</h3>
 
                     </div>
 
                     </div>
 
 
                     <div class="panel-body">
 
                     <div class="panel-body">
<ul>
+
                        <ul>
<li>Grupos de Tres participantes (Mínimo dos, pero ninguno individual).</li>
+
                            <li>Grupos de Tres participantes (Mínimo dos, pero ninguno individual).</li>
<li>Solución de la propuesta (Prototipo o Demo)</li>
+
                            <li>Solución de la propuesta (Prototipo o Demo)</li>
<li>Presentación de 15 minutos</li>
+
                            <li>Presentación de 15 minutos</li>
<li>Articulo (Máximo 6 paginas) </li>           
+
                            <li>Articulo (Máximo 6 paginas) </li>           
</ul>
+
                            </ul>
 
 
 
                     </div>
 
                     </div>
 
                     <div class="panel-footer">Trabajo Final</div>
 
                     <div class="panel-footer">Trabajo Final</div>
Line 167: Line 156:
 
         </div>
 
         </div>
 
         <div class="panel-body">
 
         <div class="panel-body">
             <p></p>          
+
             <ol>
 +
                <li>[http://numericalmethods.eng.usf.edu/ Transforming Numerical Methods Education for the STEM Undergraduate]</li>
 +
                <li>[http://math.fullerton.edu/mathews/ Complex and Numerical Analysis Project]</li>
 +
            </ol>
 +
        </div>
 +
    </div>
 +
</div>
 +
 
 +
<div class="col-md-14">
 +
    <div class="panel panel-success-white-border">
 +
        <div class="panel-heading">
 +
            <h3 class="panel-title">SESIONES PRÁCTICAS </h3>
 +
        </div>
 +
        <div class="panel-body">
 +
            <ol>
 +
                <li>
 +
                    <p><b>Conociendo la Plataforma</b></p>
 +
                    <p>En esta sesión, se explorara la plataforma. Primero debe descargarse el cliente ssh en el enlace que se encuentra al final de esta explicación. Posteriormente, interactuando con el wiki, se iniciará visitando los enlaces: [http://www.sc3.uis.edu.co/zona-de-usuarios/carta-de-uso/ Carta de uso]  e [http://www.sc3.uis.edu.co/zona-de-usuarios/procedimiento-de-ingreso/ Inicio de usuarios], siguiendo los pasos que alli se presentan. Finalmente, se deberá navegar por el Portal de Usuarios y explorar las posibilidades que allí se presentan. </p>
 +
                    <p>Clientes ssh</p>
 +
                    <ul>
 +
                        <li>[http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html Putty]</li>
 +
                        <li>[http://mobaxterm.mobatek.net/ MobaXterm.]</li>
 +
                    </ul>
 +
                </li>
 +
                <li>
 +
                    <p><b>Primeras Implementaciones</b></p>
 +
                    <p>En esta sesion, se desarrollaran algunas implementaciones de los métodos numéricos vistos en clase, para resolver algunos problemas especificos [http://www.sc3.uis.edu.co/owncloud/index.php/s/EGOJ5GEnZQ6F8CH Taller]</p>
 +
                </li>
 +
                <li>
 +
                    <p><b>Gauss Seidel Vs. Jacobi</b></p>
 +
                    <p>En esta sesion se observaran las diferencias entre Gauss Seidel y Jacobi. Si bien, cada uno se puede usar para resolver sistemas de ecuaciones lineales, cada uno tiene sus particularidades. Al resolver el problema dejado en clase por Jacobi y por Gauss Seidel, que observan? Que es lo interesante en diferencia de los resultados obtenidos y del método? </p>
 +
                    <p>[http://www.sc3.uis.edu.co/owncloud/index.php/s/MuPIsU42uQDOz5G Taller]</p>
 +
                    <p>[http://www.lawebdelprogramador.com/codigo/C_Visual_C/364-Implementacion_del_metodo_de_Gauss_Seidel_en_C++.html# El codigo implementado en C]</p>
 +
                    <p>[http://math.fullerton.edu/mathews/n2003/GaussSeidelMod.html Comparacion de los dos métodos]</p>
 +
                </li>
 +
                <li>
 +
                <p><b>Analizando problemas reales y planteando soluciones</b></p>
 +
                <p>Teniendo en cuenta los ejercicios tratados en la clase pasada, realizados por estudiantes de ingenieria quimica, implemente y plantée la solucion que se consideré pertinente o la misma que dieron los estudiantes de ingenieria quimica, pero observando</p>
 +
                    <ul>
 +
                        <li>Eficiencia Computacional medida: Si es en Linux, usando el comando htop o top para medir el uso de los recursos. </li>
 +
                        <li>Factibilidad y Optimidad: La Factibilidad se refieré a implementar algo lo mas facil posible, con los minimos recursos posibles, en el menor tiempo posible. En el caso de este ejercicio, suponiendo un uso factible de la solucion dada por los estudiantes, que hay que hacer para que sea optima?</li>
 +
                        <li>Condiciones de Falla: Exponga las fallas operativas del mismo que usted logré determinar o preveer en el tiempo del laboratorio (condiciones de bloqueo, errores matematicos, errores de pantalla, portabilidad, etc). </li>
 +
                    </ul>
 +
                    <p></p>
 +
                </li>
 +
                <li>
 +
                    <p><b>Integración y Diferenciación</b></p>
 +
                    <p>Revise las diapositivas de la clase y realice los ejercicios de solo aquellas que tienen la etiqueta roja con amarillo. Responda unicamente las preguntas dadas y enviélo en unico documento en un archivo pdf o rtf que contenga: El código o los códigos de la solucion planteada (No olvide enunciar los encabezados de la pregunta) y los resultados obtenidos. La respuesta a las preguntas dadas, se haran al azar en los ultimos diez minutos del curso.</p>
 +
                </li>
 +
                <li>
 +
                    <p><b>Comparando Rendimientos: Códigos Secuenciales Vs. Paralelos</b></p>
 +
                    <p>Un ejemplo típico de adaptación de un código serial a uno paralelo es el cálculo de PI usando la regla de trapecio. En esta práctica haremos una breve pasada por una aplicación "banal" de análisis numérico sobre tres posibilidades tecnológicas diferentes. [http://www.sc3.uis.edu.co/owncloud/index.php/s/Q1EJI7bmM5mOfzo Presentación]</p>
 +
                    <p>Los Códigos en</p>
 +
                    <ul>
 +
                        <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/dDXNRallzfbuZfT C (Serial)]</li>
 +
                        <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/6uEhxPLAc2fEtMN C + OpenMP]</li>
 +
                        <li>[http://www.sc3.uis.edu.co/owncloud/index.php/s/JyRythhIgmhtAZN C + MPI]</li>
 +
                    </ul>
 +
                </li>
 +
                <li>
 +
                    <p><b>Integracion con Trapecios</b></p>
 +
                    <p>Código</p>
 +
                    <p>
 +
                        {{Command|<nowiki>
 +
                            public class Integral {
 +
                                private double a,b;
 +
                                public double integral(double a,double b){
 +
                                    double area=0;
 +
                                    this.a=a;
 +
                                    this.b=b;
 +
                                    area=(b-a)*(f(a)+f(b))/2;
 +
                                    return area;
 +
                                }
 +
                                public double error(){
 +
                                double error=0;
 +
                                error=-(Math.pow((this.b-this.a),3)/12)*(2*((f(b)-f(a))/(b-a)));
 +
                                return error;
 +
                            }
 +
                            public double f(double x){
 +
                                double fx=0;
 +
                                fx=0.2+25*x-200*Math.pow(x, 2)+675*Math.pow(x, 3)-900*Math.pow(x,4)+400*Math.pow(x, 5);
 +
                                return fx;
 +
                            }
 +
                            public static void main(String[] args){
 +
                                Integral iew Integral();
 +
                                System.out.println(i.integral(0, 0.8));
 +
                                System.out.println(i.error());
 +
                            }
 +
                        }
 +
                        </nowiki>}}
 +
                    </p>
 +
                    <p>A realizar: Usando 5 y 10 trapecios, comparar el error con el codigo original. </p>
 +
                    </li>
 +
                    <li>
 +
                        <p><b>Jugando y Explorando Splines</b></p>
 +
                        <p></p>
 +
                        <ul>
 +
                            <li>Visite el sitio: http://www.cse.unsw.edu.au/~lambert/splines/</li>
 +
                            <li>Observe cada uno de los Splines propuestos.</li>
 +
                            <li>Descargue alguno de los códigos fuentes y observe e identifique las partes criticas del programa, consumo de recursos del código: pasos a realizar que involucran procesador, almacenamiento de datos temporales de Lecto/Escritura que involucran memoria.</li>
 +
                            <li>Proponga el seudocódigo o diagrama de flujo del código seleccionado</li>
 +
                        </ul>
 +
                    </li>
 +
                </ol>
 
         </div>
 
         </div>
 
     </div>
 
     </div>
 
</div>
 
</div>

Latest revision as of 15:56, 28 April 2015


Logo_sc33.png

Análisis numérico I - 22962

Profesor

Carlos Jaime Barrios Hernandez, PhD. - (cbarrios@uis.edu.co)

PRESENTACION

Este curso es una continuación del curso de Analisis Numérico dictado por el profesor Alfonso Mendoza Castellanos.

Contenido

  1. Error y Algoritmos Iterativos
  2. Raices de Ecuaciones
  3. Solucion de Sistemas Lineales
  4. Aproximacion
  5. Interpolacion
  6. Diferenciacion
  7. Integracion

ASPECTOS METODOLOGICOS

  1. Curso Téorico Práctico
  2. Evaluaciones
  3. Lecturas Sugeridas
  4. Sesiones Prácticas

EVALUACIONES

Evaluación 1

Evaluación 2

Trabajo Final

  • Grupos de Tres participantes (Mínimo dos, pero ninguno individual).
  • Solución de la propuesta (Prototipo o Demo)
  • Presentación de 15 minutos
  • Articulo (Máximo 6 paginas)

SESIONES PRÁCTICAS

  1. Conociendo la Plataforma

    En esta sesión, se explorara la plataforma. Primero debe descargarse el cliente ssh en el enlace que se encuentra al final de esta explicación. Posteriormente, interactuando con el wiki, se iniciará visitando los enlaces: Carta de uso e Inicio de usuarios, siguiendo los pasos que alli se presentan. Finalmente, se deberá navegar por el Portal de Usuarios y explorar las posibilidades que allí se presentan.

    Clientes ssh

  2. Primeras Implementaciones

    En esta sesion, se desarrollaran algunas implementaciones de los métodos numéricos vistos en clase, para resolver algunos problemas especificos Taller

  3. Gauss Seidel Vs. Jacobi

    En esta sesion se observaran las diferencias entre Gauss Seidel y Jacobi. Si bien, cada uno se puede usar para resolver sistemas de ecuaciones lineales, cada uno tiene sus particularidades. Al resolver el problema dejado en clase por Jacobi y por Gauss Seidel, que observan? Que es lo interesante en diferencia de los resultados obtenidos y del método?

    Taller

    El codigo implementado en C

    Comparacion de los dos métodos

  4. Analizando problemas reales y planteando soluciones

    Teniendo en cuenta los ejercicios tratados en la clase pasada, realizados por estudiantes de ingenieria quimica, implemente y plantée la solucion que se consideré pertinente o la misma que dieron los estudiantes de ingenieria quimica, pero observando

    • Eficiencia Computacional medida: Si es en Linux, usando el comando htop o top para medir el uso de los recursos.
    • Factibilidad y Optimidad: La Factibilidad se refieré a implementar algo lo mas facil posible, con los minimos recursos posibles, en el menor tiempo posible. En el caso de este ejercicio, suponiendo un uso factible de la solucion dada por los estudiantes, que hay que hacer para que sea optima?
    • Condiciones de Falla: Exponga las fallas operativas del mismo que usted logré determinar o preveer en el tiempo del laboratorio (condiciones de bloqueo, errores matematicos, errores de pantalla, portabilidad, etc).

  5. Integración y Diferenciación

    Revise las diapositivas de la clase y realice los ejercicios de solo aquellas que tienen la etiqueta roja con amarillo. Responda unicamente las preguntas dadas y enviélo en unico documento en un archivo pdf o rtf que contenga: El código o los códigos de la solucion planteada (No olvide enunciar los encabezados de la pregunta) y los resultados obtenidos. La respuesta a las preguntas dadas, se haran al azar en los ultimos diez minutos del curso.

  6. Comparando Rendimientos: Códigos Secuenciales Vs. Paralelos

    Un ejemplo típico de adaptación de un código serial a uno paralelo es el cálculo de PI usando la regla de trapecio. En esta práctica haremos una breve pasada por una aplicación "banal" de análisis numérico sobre tres posibilidades tecnológicas diferentes. Presentación

    Los Códigos en

  7. Integracion con Trapecios

    Código

    public class Integral { private double a,b; public double integral(double a,double b){ double area=0; this.a=a; this.b=b; area=(b-a)*(f(a)+f(b))/2; return area; } public double error(){ double error=0; error=-(Math.pow((this.b-this.a),3)/12)*(2*((f(b)-f(a))/(b-a))); return error; } public double f(double x){ double fx=0; fx=0.2+25*x-200*Math.pow(x, 2)+675*Math.pow(x, 3)-900*Math.pow(x,4)+400*Math.pow(x, 5); return fx; } public static void main(String[] args){ Integral iew Integral(); System.out.println(i.integral(0, 0.8)); System.out.println(i.error()); } }

    A realizar: Usando 5 y 10 trapecios, comparar el error con el codigo original.

  8. Jugando y Explorando Splines

    • Visite el sitio: http://www.cse.unsw.edu.au/~lambert/splines/
    • Observe cada uno de los Splines propuestos.
    • Descargue alguno de los códigos fuentes y observe e identifique las partes criticas del programa, consumo de recursos del código: pasos a realizar que involucran procesador, almacenamiento de datos temporales de Lecto/Escritura que involucran memoria.
    • Proponga el seudocódigo o diagrama de flujo del código seleccionado