Вы находитесь на странице: 1из 11

Mdulo Scipy

Scipy es una herramienta el cual provee una paquete de funciones matemticas las cuales las podemos orientar a la solucin de problemas en ingeniera. Esta es una coleccin de algoritmos matemticos y funciones las cuales fueron construidas en una extensin Numpy(numpy es otro mdulo de python) para Python. Con la utilizacin de SciPy es un lenguaje de programacin el cual da la posibilidad de realizar aplicaciones cientficas. Para poder utilizarla hay que importarla de la siguiente manera. As este modulo posee 17 paquetes los cuales a la hora de desear utilizarlos hay que importar cada uno de estos paquetes independientemente de la siguiente forma.

Las principales funciones que se pueden realizar a partir del mdulo de SciPy son: Integrales Optimizaciones Interpolacin Anlisis de signos Algebra lineal Estadsticas Anlisis de imgenes multidimensionales Archivos de IO

plt, gplt, xplt: graphics special: Special Functions linalg: Linear algebra routines o sparse: Sparse matrix o cluster: Vector Quantization / Kmeans fftpack: Discrete Fourier Transform algorithms optimize: Optimization Tools interpolate: Interpolation Tools integrate: Integration routines ga: Genetic Algorithms stats: Statistical Functions cow: Cluster Of Workstations signal: Signal Processing Tools io: Data input and output

1.

Integration (scipy.integrate)

El quad funcin se proporciona para integrar una funcin de una variable entre dos puntos. Los puntos pueden ser (inf) para indicar los lmites infinitos. Por ejemplo, supongamos que queremos integrar una funcin: (2.5, x). A lo largo del intervalo [0, 4.5]

Puede ser calculado utilizando quad. De la siguiente forma:

2.

Optimization (optimize)
a. Nelder-Mead Simplex algorithm (fmin)
El algoritmo simplex es probablemente la forma ms sencilla de reducir al mnimo un muy buen comportamiento de funciones. El algoritmo simplex slo requiere evaluaciones de la funcin y es una buena opcin para los problemas de minimizacin simple. Sin embargo, debido a que no utiliza ningn tipo de evaluaciones degradado, puede tomar ms tiempo para encontrar el mnimo. Para demostrar la funcin de minimizacin de considerar el problema de minimizar la funcin de las variables Rosenbrock:

Hay varios algoritmos de optimizacin clsica proporcionada por SciPy en el paquete de scipy.optimize.

b. Broyden-Fletcher-Goldfarb-Shanno (fmin_bfgs)

algorithm

Con el fin de converger con mayor rapidez a la solucin, esta rutina utiliza el gradiente de la funcin objetivo. Si el gradiente no es dado por el usuario, entonces se calcula utilizando la primera diferencias. El BroydenFletcher-Goldfarb-Shanno (BFGS) mtodo normalmente requiere menos llamadas a funciones que el algoritmo simplex, incluso cuando el gradiente debe ser estimado. Para demostrar este algoritmo, la funcin Rosenbrock vuelva a ser utilizado. El gradiente de la funcin Rosenbrock es el vector:

La firma llamando para el algoritmo de minimizacin BFGS es similar a fmin con la adicin del argumento fprime. Un ejemplo de uso de fmin_bfgs se muestra en el siguiente ejemplo lo que minimiza la funcin Rosenbrock:

c. El mtodo que requiere el menor nmero de llamadas a funcin y por lo


tanto a menudo el mtodo ms rpido para reducir al mnimo las funciones de muchas variables es fmin_ncg. Este mtodo es un mtodo modificado de Newton y utiliza un algoritmo de gradiente conjugado (aproximadamente) invertir el local de Hessen. el mtodo de Newton se basa en el ajuste de la funcin a nivel local a una forma cuadrtica.

3.

Interpolation (scipy.interpolate)

Hay dos centros de interpolacin general disponible en SciPy. La primera instalacin es una clase de interpolacin que realiza la interpolacin lineal 1dimensional. La segunda instalacin se basa en la FITPACK biblioteca FORTRAN y proporciona funciones de 1 - y 2-dimensional (suavizado) interpolacin spline cbicas.

a. Linear 1-d interpolation (interp1d)


La clase interp1d en scipy.interpolate es un mtodo conveniente para crear una funcin basada en puntos fijos de datos que se puede evaluar en cualquier lugar dentro del dominio definido por los datos proporcionados mediante la interpolacin lineal. Una instancia de esta clase se crea haciendo pasar el 1-d vectores que figuren los datos. La instancia de esta clase define un mtodo __call__ y, por consiguiente, tratarse como una funcin que interpola entre los valores de los datos conocidos para obtener valores desconocidos (tambin tiene un docstring para obtener ayuda). Comportamiento en el lmite se puede especificar en el momento de instancias. El siguiente ejemplo muestra su uso.

Output

b. (interpolate.splXXX)
Interpolacin Spline requiere dos pasos esenciales: (1) una representacin de la curva de spline se calcula, y (2) la spline se evala en los puntos deseados. Para encontrar la representacin spline, hay dos diferentes era representar una curva y obtener (suavizado) coeficientes spline: directa y paramtricamente. El mtodo directo se encuentra la representacin spline de una curva en un plano de dos dimensiones utilizando el splrep funcin. Los dos primeros argumentos son los nicos necesarios, y dotar a dichos componentes y de la curva. La produccin normal es un 3-tupla, que contiene el nudo-puntos, los coeficientes y el orden de la spline. El orden predeterminado es spline cbicos, pero esto se puede cambiar con la palabra clave de entrada, k.

Output

4. Algebra lineal
Cuando SciPy se construye utilizando la optimizacin ATLAS LAPACK y bibliotecas BLAS, tiene muy rpida capacidad de lgebra lineal. Si usted cava lo suficientemente profundo, todas las primas y las bibliotecas lapack blas estn disponibles para su uso para la velocidad an ms. En esta seccin, algunas ms fciles de usar interfaces de estas rutinas se describen. Todas estas rutinas de lgebra lineal esperar que un objeto que se puede convertir en una matriz de dos dimensiones. La salida de estas rutinas es tambin una matriz de dos dimensiones. Hay una clase matriz definida en Numpy, que puede iniciarse con una matriz apropiada Numpy para conseguir objetos para los que la multiplicacin es multiplicacin matriz-en lugar del predeterminado, multiplicacin elemento por elemento.

5.

Statistics
SciPy tiene un enorme nmero de rutinas estadsticas bsicas con mayor facilidad aadida por el usuario final (si se crea un favor contribuya l). Todas las funciones

estadsticas se encuentran en la sub-scipy.stats paquete y una lista bastante completa de estas funciones se puede obtener utilizando informacin (estadsticas).
>>> n_sample = 500 >>> np.random.seed(87655678) # fix the seed for replicability >>> rvs = normdiscrete.rvs(size=n_sample) >>> rvsnd = rvs >>> f, l = np.histogram(rvs, bins=gridlimits) >>> sfreq = np.vstack([gridint, f, probs*n_sample]).T >>> print sfreq [[ -1.00000000e+01 0.00000000e+00 2.95019349e-02] [ -9.00000000e+00 0.00000000e+00 1.32294142e-01] [ -8.00000000e+00 0.00000000e+00 5.06497902e-01] [ -7.00000000e+00 2.00000000e+00 1.65568919e+00] [ -6.00000000e+00 1.00000000e+00 4.62125309e+00] [ -5.00000000e+00 9.00000000e+00 1.10137298e+01] [ -4.00000000e+00 2.60000000e+01 2.24137683e+01] [ -3.00000000e+00 3.70000000e+01 3.89503370e+01] [ -2.00000000e+00 5.10000000e+01 5.78004747e+01] [ -1.00000000e+00 7.10000000e+01 7.32455414e+01] [ 0.00000000e+00 7.40000000e+01 7.92618251e+01] [ 1.00000000e+00 8.90000000e+01 7.32455414e+01] [ 2.00000000e+00 5.50000000e+01 5.78004747e+01] [ 3.00000000e+00 5.00000000e+01 3.89503370e+01] [ 4.00000000e+00 1.70000000e+01 2.24137683e+01] [ 5.00000000e+00 1.10000000e+01 1.10137298e+01] [ 6.00000000e+00 4.00000000e+00 4.62125309e+00] [ 7.00000000e+00 3.00000000e+00 1.65568919e+00] [ 8.00000000e+00 0.00000000e+00 5.06497902e-01] [ 9.00000000e+00 0.00000000e+00 1.32294142e-01] [ 1.00000000e+01 0.00000000e+00 2.95019349e-02]]

6. Multi-dimensional processing (ndimage)

image

El procesamiento de imgenes y el anlisis se consideran generalmente como operaciones con matrices de dos dimensiones de valores. Sin embargo, hay una serie de campos donde las imgenes de mayor dimensionalidad debe ser analizada. Buenos ejemplos de estos son imgenes mdicas y de imgenes biolgicas. numpy se adapta muy bien para este tipo de aplicaciones debido a su propia naturaleza multidimensional. Los paquetes scipy.ndimage proporciona una serie de procesamiento de imgenes en general y las funciones de anlisis que estn diseados para operar con matrices de dimensionalidad arbitraria. Los paquetes en la actualidad cuenta con funciones para lineales y no lineales

de filtrado, la morfologa binaria, interpolacin B-spline, y las mediciones de objetos.

INSTRUCCIONES DE INSTALACIN
1. Ingresar al link http://www.scipy.org/ 2. Hacer click en el logo de:

3. Hacer click en donde dice SourceForge download site for scipy.

4. Luego hacer click en:

5. Hacer click en sabe cuando aparezca esta ventana en la pantalla, y guardarlo en el lugar deseado.

6. Despus hacer click en run cuando se haya terminado de bajar

7. Cuando salga la pantalla de Scipy seguir los pasos para la finalizacin de la instalacin.

RECURSOS PARA APRENDER A UTILIZARLO


TUTORIALES > La fuente principal es http://www.scipy.org/ > Se puede utilizar el tutorial de esta pgina: http://docs.scipy.org/doc/scipy/reference/tutorial/index.html En el cual se da una introduccin a este mdulo, y se explican todas las funciones bsicas y las funciones matemticas que se pueden realizar en este mdulo. > En esta pagina http://chemistrydaily.com/chemistry/SciPy se conoce el mdulo Scipy en aplicaciones en la qumica. Se presentan los mdulos, ejemplos, etc. > Estos cuatro videos en serie muestran un tutorial de interpolacin en Scipy: Video 1: http://www.youtube.com/watch?v=sNxW40hHSZU&feature=related Video 2: http://www.youtube.com/watch?v=bPmj4byYbhg&feature=related Video 3: http://www.youtube.com/watch?v=_cJLVhdj0j4&feature=related Video 4: http://www.youtube.com/watch?v=n6hjRTZgZ3I&feature=related

UTILIDAD DEL MDULO EN LA CARRERA


"El mdulo SciPy les puede servir para maximizar y minimizar volmes, tambin pueden aplicarlo a negocios, minimizando costos y maximiando ganancias" -Ronald CurtisModelos Matemticos. Desde el ambito de la qumica este mdulo puede ser utilizado, para realizar las grficas de las sustancias polares, y ver la diferencia, logrando tener presete que sustancia es ms polar y cul menos. Tambin al momento de llevar el curso de ecuaciones diferenciales, sera un metodo muy aplicable para poder realizar las graficas de derivadas. Juan Francisco Garca, estudiante de quinto ao de Ingeniera Qumica.

GLOSARIO
Ecuaciones diferenciales: Es una ecuacin en la que aparecen derivadas o diferenciales. Es ordinaria, cuando la ecuacin contiene solo derivadas de una funcin de una variable. Y cuando contiene derivadas parciales, es una ecuacin diferencial. Derivadas: esta mide la variacin de y, cuando hay una pequea variacin de x.

Por lo tanto, para que exista la derivada de una funcin en un punto, tiene que existir ese lmite. Cuando no existe este lmite, se dice que la funcin no es derivable en ese punto. Funcin de Rosenbrock: f x, y1x2 100 y x2

Tiene un mnimo global en (x,y) = (1,1) donde f(x,y) = 0. Un diverso coeficiente del segundo trmino se da a veces, pero ste no afecta la posicin del mnimo global. Es una funcin convexa utilizada como problema de la prueba para los algoritmos de la optimizacin. Tambin se conoce como Valle de Rosenbrock. Se usa frecuentemente para probar el funcionamiento de los algoritmos de la optimizacin. El mnimo global est dentro de un valle plano formado largo, estrecho, parablico. Interpolacin: consiste en hallar un dato dentro de un intervalo en el que conocemos los valores en los extremos. El problema es cuando no conocemos una serie de puntos de la interpolacin (xo, yo), (x1, y1),........., (xn, yn) Con esto se pide hallar el valor de un punto x de la funcin.

Paquete: Es un conjunto de clases e interfaces relacionadas, generalmente entre s de alguna manera.

Mdulo: es un software que agrupa un conjunto de subprogramas y estructuras de datos.

Вам также может понравиться