Aprender a programar con python – How to Think Like a Computer Scientist: Learning with Python


How to Think Like a Computer Scientist: Learning with Python

Chapter 1 — The way of the program

Chapter 2 — Variables, expressions, and statements

Chapter 3 — Functions

Chapter 4 — Conditionals

Chapter 5 — Fruitful functions

Chapter 6 — Iteration

Chapter 7 — Strings

Chapter 8 — Case Study: Catch

Chapter 9 — Lists

Chapter 10 — Modules and files

Chapter 11 — Recursion and exceptions

Chapter 12 — Dictionaries

Chapter 13 — Classes and objects

Appendix A —
Configuring Ubuntu for Python Development

GNU Free Document License

Index

fuente> wikipedia

La Computación Científica (o ciencia computacional) es el campo de estudio relacionado con la construcción de modelos matemáticos y técnicas numéricas para resolver problemas científicos, de ciencias sociales y problemas de ingeniería. Típicamente es la aplicación de modelado numérico y otras formas de cálculo de problemas en varias disciplinas científicas.

Este campo es distinto a la informática (el estudio matemático de la computación, computadores y el procesamiento de información). También es diferente a la teoría y experimentación, que son las formas tradicionales de la ciencia y la ingeniería. El enfoque de la computación científica es para ganar entendimiento, principalmente a través del análisis de modelos matemáticos implementados en computadores.

Científicos e ingenieros desarrollan software, aplicaciones informáticas para modelar sistemas que están siendo estudiados, y correr estos programas con diferentes conjuntos de entradas. Por lo general, estos modelos requieren una gran cantidad de cálculos (usualmente de punto flotante) y son a menudo ejecutados en supercomputadores o plataformas de computación distribuida.

El análisis numérico es un pilar fundamental de técnicas utilizadas en las ciencias computacionales.

Aplicaciones de computación científica

Problemas en el dominio de la computación científica incluyen:

Simulaciones numéricas

Las simulaciones numéricas tienen diferentes objetivos dependiendo de la naturaleza de la tarea a ser simulada:

  • Reconstruir y comprender los eventos conocidos (e.g. terremotos, maremotos y otros desastres naturales).
  • Predecir el futuro o situaciones no observadas (e.g. tiempo atmosférico, comportamiento de partículas subatómicas).

Modelos apropiados y análisis de datos

  • Sintonizar apropiadamente los modelos o resolver ecuaciones para reflejar ciertas observaciones, sujetas a las restricciones del modelo (e.g. exploración geofísica de petróleo, lingüística computacional).
  • Usar teoría de grafos para modelar redes, especialmente las conexiones individuales, organizaciones y sitios web.

Optimización

  • Optimizar escenarios conocidos (e.g. técnicas y procesos de fabricación, interfaces de ingeniería).

Métodos y algoritmos

Los algoritmos y métodos matemáticos usados en computación científica son variados. Los métodos comúnmente aplicados son:

  • Análisis numérico.
  • Aplicación de series de Taylor como series convergentes y asintóticas.
  • Cálculo de derivadas mediante diferenciación automática.
  • Cálculo de derivadas mediante diferencias finitas.
  • Métodos aproximados de diferencias de alto orden mediante series de Taylor y la extrapolación de Richardson.
  • Métodos de integración sobre una malla uniforme: regla del rectángulo, regla del trapecio, regla del punto medio, regla de Simpson.
  • Método de Runge-Kutta para resolver ecuaciones diferenciales ordinarias.
  • Método de Monte Carlo.
  • Álgebra lineal numérica.
  • Cálculo de los factores LU vía eliminación Gaussiana.
  • Factorización de Cholesky.
  • Transformada de Fourier discreta y sus aplicaciones.
  • Método de Newton.
  • Métodos de time-stepping para sistemas dinámicos.

Los lenguajes de programación comúnmente usados para los aspecto más matemáticos de las aplicaciones de la computación científica incluyen a Fortran, MATLAB, Scilab, GNU Octave, COMSOL Multiphysics y PDL. Los aspectos más computacionales son tratados a menudo con C y Fortran.

Los programas de aplicación de la computación científica a menudo modelan cambios en las condiciones del mundo real, tales como el tiempo atmosférico, el flujo de aire alrededor de un avión, el movimiento de las estrellas en una galaxia, un dispositivo explosivo, entre otros. Estos programas deberían crear una ‘malla lógica’ en la memoria del computador, donde cada ítem corresponda a un área en el espacio y contenga información acerca del espacio relevante para el modelo. Por ejemplo, en modelos para el tiempo atmosférico, cada ítem podría ser un kilómetro cuadrado; con la altitud del suelo, dirección actual del viento, humedad ambiental, temperatura, presión, etc.. El programa debería calcular el probable siguiente estado basado en el estado actual, simulada en medidas de tiempo, resolviendo ecuaciones que describen cómo operan los sistemas; y repetir el proceso para calcular el siguiente estado.

El término científico computacional es usado para describir a alguien experto en computación científica. Esta persona es generalmente un científico, un ingeniero o un matemático aplicado que aplica computación de alto rendimiento en diferentes formas para avanzar en el estado del arte de su respectiva disciplina de la física, química o ingeniería. Científicos computacionales han cada vez más impactado en otras áreas como la economía, biología y medicina.

La computación científica es hoy en día considerada como el tercer modo de ciencia, complementando y añadiendo a la experimentación/observación y teoría.

Educación

La computación científica es más estudiada por medio de la matemática aplicada o programas de las ciencias de la computación, o dentro de un estándar matemático, ciencias, o programas de ingeniería. En algunas instituciones un especialización en computación científica puede ser obtenida como un “minor” dentro de otro programa (el cual puede estar en muchos niveles). Sin embargo, hay cada vez más muchos bachiller y programas de magíster en computación científica. Algunas universidades también ofrecen doctorados en ciencias computacionales, ingeniería computacional, ciencias computacionales e ingeniería o computación científica.

Hay también programas programas como el de física computacional, química computacional, entre otros.

Campos relacionados

  • Bioinformática.
  • Quiminformática.
  • Quimiometría.
  • Química computacional.
  • Biología computacional.
  • Matemática computacional.
  • Mecánica computacional.
  • Física computacional.
  • Ingeniería computacional.
  • Computación de alto rendimiento.
  • Electromagnetismo computacional.
  • Dinámica de fluidos computacional.
  • Economía computacional.
  • Simulación medioambiental.
  • Modelamiento financiero.
  • Sistema de Información Geográfica.
  • Aprendizaje Automático.
  • Análisis de red.
  • Predicción numérica de tiempo atmosférico.
  • Reconocimiento de patrones.
Blogged with the Flock Browser

Tags: , ,

Publicado el 15 octubre 2008 en Programación y etiquetado en . Guarda el enlace permanente. Deja un comentario.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: