{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "HB8QFl5o17b8" }, "source": [ "# Python for Signal Processing\n", "## SciPy - Library of scientific algorithms for Python\n", "Danilo Greco, PhD - danilo.greco@uniparthenope.it - University of Naples Parthenope" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The line \"%matplotlib inline\" is a command used in Jupyter notebooks to ensure that any plots generated by Matplotlib are displayed directly in the notebook, rather than in a separate window or file. This line is not valid Python code but rather a command specific to the Jupyter notebook environment.\n", "\n", "The following two lines import the Matplotlib library, which is a data visualization library in Python, and the Image module from the IPython.display library, which is used to display image files within the notebook. These imports are required in order to create and display plots using Matplotlib in the notebook\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "jNSHxmkZ17b9" }, "outputs": [], "source": [ "# what is this line all about?\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "from IPython.display import Image" ] }, { "cell_type": "markdown", "metadata": { "id": "Ts1mUMqO17cC" }, "source": [ "## Introduction" ] }, { "cell_type": "markdown", "metadata": { "id": "L-SCd35L17cD" }, "source": [ "The SciPy framework builds on top of the low-level NumPy framework for multidimensional arrays, and provides a large number of higher-level scientific algorithms. Some of the topics that SciPy covers are:\n", "\n", "* Special functions ([scipy.special](http://docs.scipy.org/doc/scipy/reference/special.html))\n", "* Integration ([scipy.integrate](http://docs.scipy.org/doc/scipy/reference/integrate.html))\n", "* Optimization ([scipy.optimize](http://docs.scipy.org/doc/scipy/reference/optimize.html))\n", "* Interpolation ([scipy.interpolate](http://docs.scipy.org/doc/scipy/reference/interpolate.html))\n", "* Fourier Transforms ([scipy.fftpack](http://docs.scipy.org/doc/scipy/reference/fftpack.html))\n", "* Signal Processing ([scipy.signal](http://docs.scipy.org/doc/scipy/reference/signal.html))\n", "* Linear Algebra ([scipy.linalg](http://docs.scipy.org/doc/scipy/reference/linalg.html))\n", "* Sparse Eigenvalue Problems ([scipy.sparse](http://docs.scipy.org/doc/scipy/reference/sparse.html))\n", "* Statistics ([scipy.stats](http://docs.scipy.org/doc/scipy/reference/stats.html))\n", "* Multi-dimensional image processing ([scipy.ndimage](http://docs.scipy.org/doc/scipy/reference/ndimage.html))\n", "* File IO ([scipy.io](http://docs.scipy.org/doc/scipy/reference/io.html))\n", "\n", "Each of these submodules provides a number of functions and classes that can be used to solve problems in their respective topics.\n", "\n", "In this lecture we will look at how to use some of these subpackages.\n", "\n", "To access the SciPy package in a Python program, we start by importing everything from the `scipy` module.\n", "\n", "The line \"from scipy import *\" imports all the public modules and functions of the Scipy library into the current Python namespace. Scipy is a Python library that provides functionality for scientific computing and technical computing, including modules for optimization, integration, interpolation, signal and image processing, linear algebra, and more.\n", "\n", "Using the \"*\" symbol to import all modules and functions from a library is generally discouraged as it can cause namespace pollution and conflicts with other imported modules. It's better to only import the specific modules and functions needed for a given task, like \"from scipy.optimize import minimize\" for optimization or \"from scipy.signal import fftconvolve\" for signal processing" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "VpPaCWhc17cH" }, "outputs": [], "source": [ "from scipy import *" ] }, { "cell_type": "markdown", "metadata": { "id": "6oJiWVZC17cI" }, "source": [ "If we only need to use part of the SciPy framework we can selectively include only those modules we are interested in. For example, to include the linear algebra package under the name `la`, we can do:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "6jkU4nNH17cJ" }, "outputs": [], "source": [ "import scipy.linalg as la" ] }, { "cell_type": "markdown", "metadata": { "id": "5NO_RIX517cL" }, "source": [ "## Special functions" ] }, { "cell_type": "markdown", "metadata": { "id": "U1L2bJIJ17cM" }, "source": [ "A large number of mathematical special functions are important for many computional physics problems. SciPy provides implementations of a very extensive set of special functions. For details, see the list of functions in the reference documention at http://docs.scipy.org/doc/scipy/reference/special.html#module-scipy.special. \n", "\n", "To demonstrate the typical usage of special functions we will look in more detail at the Bessel functions:\n", "\n", "The code imports the \"jn\", \"yn\", \"jn_zeros\", and \"yn_zeros\" functions from the \"scipy.special\" module, which is a part of the Scipy library. These functions are used to evaluate Bessel functions and their zeroes.\n", "\n", "Bessel functions are a family of special functions that arise in a wide range of mathematical and physical problems, particularly in wave phenomena such as vibrations, diffraction, and propagation. The \"jn\" and \"yn\" functions are Bessel functions of the first and second kind, respectively, with real-valued order. These functions are defined by a series expansion involving trigonometric and exponential functions and have many applications in physics and engineering.\n", "\n", "The \"jn_zeros\" and \"yn_zeros\" functions return the zeros of the \"jn\" and \"yn\" functions, respectively. These zeros are important in a variety of problems, such as finding the resonance frequencies of vibrating systems, calculating diffraction patterns, and solving partial differential equations." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "_wFcHYVm17cN" }, "outputs": [], "source": [ "#\n", "# The scipy.special module includes a large number of Bessel-functions\n", "# Here we will use the functions jn and yn, which are the Bessel functions \n", "# of the first and second kind and real-valued order. We also include the \n", "# function jn_zeros and yn_zeros that gives the zeroes of the functions jn\n", "# and yn.\n", "#\n", "from scipy.special import jn, yn, jn_zeros, yn_zeros" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code imports the \"jn\" and \"yn\" functions from the \"scipy.special\" module to evaluate Bessel functions of the first and second kind.\n", "\n", "The variable \"n\" is set to 0, which is the order of the Bessel function. The variable \"x\" is initially set to 0.0 for the Bessel function of the first kind, and then to 1.0 for the Bessel function of the second kind.\n", "\n", "The first print statement uses the \"jn\" function to evaluate the Bessel function of the first kind, Jn(x), with n=0 and x=0.0, and prints the result in a formatted string using the \"%\" operator. The result is the value of J0(0), which is equal to 1.\n", "\n", "The second print statement uses the \"yn\" function to evaluate the Bessel function of the second kind, Yn(x), with n=0 and x=1.0, and prints the result in a similar formatted string. The result is the value of Y0(1), which is approximately -0.7812.\n", "\n", "Overall, this code demonstrates the use of the \"jn\" and \"yn\" functions to evaluate Bessel functions in Python using Scipy." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "id": "vWgUYUB_17cN", "outputId": "c147f267-6a01-4839-8892-e4c04376695c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "J_0(0.000000) = 1.000000\n", "Y_0(1.000000) = 0.088257\n" ] } ], "source": [ "from scipy.special import jn, yn\n", "\n", "n = 0 # order\n", "x = 0.0\n", "\n", "# Bessel function of first kind\n", "print(\"J_%d(%f) = %f\" % (n, x, jn(n, x)))\n", "\n", "x = 1.0\n", "# Bessel function of second kind\n", "print(\"Y_%d(%f) = %f\" % (n, x, yn(n, x)))\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code uses the NumPy and Matplotlib libraries, as well as the \"jn\" function from the Scipy library, to generate a plot of Bessel functions of the first kind.\n", "\n", "The \"np.linspace\" function creates an array of 100 equally spaced values between 0 and 10, which will be used as the x-values for the plot.\n", "\n", "The \"plt.subplots\" function creates a new figure and a set of subplots, returning a tuple containing the figure and the axis object(s). The \"ax.plot\" function is then called in a loop over the range 0 to 3, with each iteration plotting a different Bessel function of the first kind, Jn(x), for the current value of n. The label for each plot is set using a formatted string with the value of n.\n", "\n", "After the loop completes, the \"ax.legend\" function adds a legend to the plot indicating which line corresponds to which Bessel function. Finally, the \"plt.show\" function displays the plot.\n", "\n", "Overall, this code demonstrates how to use the \"jn\" function from the Scipy library to plot Bessel functions of the first kind in Python using Matplotlib." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "Tue4Fawk17cP", "outputId": "4cbd050f-b8c9-47e4-876b-b555ab5968dc" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.special import jn\n", "\n", "x = np.linspace(0, 10, 100)\n", "\n", "fig, ax = plt.subplots()\n", "for n in range(4):\n", " ax.plot(x, jn(n, x), label=r\"$J_{%d}(x)$\" % n)\n", "ax.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code uses the \"jn_zeros\" function from the Scipy library to compute the first 4 zeros of the Bessel function of the first kind, J0(x).\n", "\n", "The variable \"n\" is set to 0, which is the order of the Bessel function. The variable \"m\" is set to 4, which is the number of zeros to compute.\n", "\n", "The \"jn_zeros\" function returns an array containing the requested number of zeros of the Bessel function, ordered from smallest to largest. In this case, the result is an array of length 4 containing the first 4 zeros of J0(x), which are approximately 2.4048, 5.5201, 8.6537, and 11.7915.\n", "\n", "Overall, this code demonstrates how to use the \"jn_zeros\" function from the Scipy library to compute the zeros of a Bessel function in Python." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "tGa-oOuA17cP", "outputId": "f39b9570-44b0-4ea0-ce51-9a0957df440d" }, "outputs": [ { "data": { "text/plain": [ "array([ 2.40482556, 5.52007811, 8.65372791, 11.79153444])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# zeros of Bessel functions\n", "n = 0 # order\n", "m = 4 # number of roots to compute\n", "jn_zeros(n, m)" ] }, { "cell_type": "markdown", "metadata": { "id": "_kD347wk17cQ" }, "source": [ "## Integration" ] }, { "cell_type": "markdown", "metadata": { "id": "B-M2Nc6217cQ" }, "source": [ "### Numerical integration: quadrature" ] }, { "cell_type": "markdown", "metadata": { "id": "7uZh-i_z17cQ" }, "source": [ "Numerical evaluation of a function of the type\n", "\n", "$\\displaystyle \\int_a^b f(x) dx$\n", "\n", "is called *numerical quadrature*, or simply *quadature*. SciPy provides a series of functions for different kind of quadrature, for example the `quad`, `dblquad` and `tplquad` for single, double and triple integrals, respectively.\n", "\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "x6H_61BO17cR" }, "outputs": [], "source": [ "from scipy.integrate import quad, dblquad, tplquad" ] }, { "cell_type": "markdown", "metadata": { "id": "RXZxzBir17cR" }, "source": [ "The `quad` function takes a large number of optional arguments, which can be used to fine-tune the behaviour of the function (try `help(quad)` for details).\n", "\n", "The basic usage is as follows:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "id": "TlbL_sqx17cS" }, "outputs": [], "source": [ "# define a simple function for the integrand\n", "def f(x):\n", " return x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This code uses the \"quad\" function from the Scipy library to compute the definite integral of the function f(x) = x^2 over the interval [0, 1].\n", "\n", "The lower and upper limits of the interval are set to 0 and 1, respectively, using the variables \"x_lower\" and \"x_upper\".\n", "\n", "The function \"f(x)\" is defined using a \"def\" statement, which returns the value of x^2 for any input x.\n", "\n", "The \"quad\" function takes the integrand function, the lower and upper limits of integration, and optionally some additional arguments, and returns a tuple containing the value of the definite integral and an estimate of the absolute error.\n", "\n", "The results are printed to the console using a print statement that displays the value of the integral and the absolute error.\n", "\n", "Overall, this code demonstrates how to use the \"quad\" function from the Scipy library to numerically evaluate a definite integr" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "id": "CW0lRkfL17cS", "outputId": "714c4307-a3ff-4a74-b563-b2b5f93dc7c0" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "integral value = 0.33333333333333337 , absolute error = 3.700743415417189e-15\n" ] } ], "source": [ "from scipy.integrate import quad\n", "\n", "x_lower = 0 # the lower limit of x\n", "x_upper = 1 # the upper limit of x\n", "\n", "def f(x):\n", " return x**2 # Define the integrand function\n", "\n", "val, abserr = quad(f, x_lower, x_upper)\n", "\n", "print(\"integral value =\", val, \", absolute error =\", abserr) # Use parentheses for print statement in Python 3\n" ] }, { "cell_type": "markdown", "metadata": { "id": "4Ek_cy8j17cT" }, "source": [ "If we need to pass extra arguments to integrand function we can use the `args` keyword argument:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code utilizes the quad function from the scipy.integrate library to perform numerical integration on a given function. The function in this code is integrand(x, n), which calculates the Bessel function of the first kind and order n for a given value of x. The code specifies the lower and upper limits of integration as x_lower and x_upper, respectively. Then, the quad function is called with the integrand function, lower and upper limits, and additional argument of n=3. The quad function returns two values: the estimated value of the integral and the absolute error between the result and the true value of the integral. Finally, the resulting values are printed to the console using the print function." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "id": "pe8ctlqL17cU", "outputId": "777be83b-5ce6-436e-910e-f3fea6616742" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7366751370811073 9.389126882496403e-13\n" ] } ], "source": [ "from scipy.integrate import quad\n", "from scipy.special import jn\n", "\n", "def integrand(x, n):\n", " \"\"\"\n", " Bessel function of first kind and order n. \n", " \"\"\"\n", " return jn(n, x)\n", "\n", "x_lower = 0 # the lower limit of x\n", "x_upper = 10 # the upper limit of x\n", "\n", "val, abserr = quad(integrand, x_lower, x_upper, args=(3,))\n", "\n", "print(val, abserr) # Use parentheses for print statement in Python 3\n" ] }, { "cell_type": "markdown", "metadata": { "id": "mCgFmjKL17cV" }, "source": [ "For simple functions we can use a lambda function (name-less function) instead of explicitly defining a function for the integrand:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code uses the quad function from the scipy.integrate library to compute the definite integral of the function exp(-x ** 2) over the interval [-inf, inf]. The quad function requires an integrand function, limits of integration, and optional additional arguments. In this case, the integrand function is defined using a lambda expression.\n", "\n", "The quad function returns two values: the estimated value of the integral val and the absolute error abserr. These values are printed to the console using the print function.\n", "\n", "Finally, the code computes the analytical solution of the integral, which is sqrt(pi), and prints it to the console. This is done for comparison with the numerical solution obtained using the quad function.\n", "\n", "Overall, this code demonstrates how to use the quad function to numerically integrate a function in Python." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "id": "E8RpPa-W17cW", "outputId": "5f62f832-4650-46e3-edc2-5f6ffbddeea4" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "numerical = 1.7724538509055159 1.4202636780944923e-08\n", "analytical = 1.7724538509055159\n" ] } ], "source": [ "from scipy.integrate import quad\n", "from numpy import exp, inf, pi, sqrt\n", "\n", "val, abserr = quad(lambda x: exp(-x ** 2), -inf, inf)\n", "\n", "print(\"numerical =\", val, abserr)\n", "\n", "analytical = sqrt(pi)\n", "print(\"analytical =\", analytical)\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "8PE5wPVD17cX" }, "source": [ "As show in the example above, we can also use 'Inf' or '-Inf' as integral limits.\n", "\n", "Higher-dimensional integration works in the same way:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "id": "pXVt67uH17cX", "outputId": "fdc4809b-1a95-4146-a89c-be70bc350017" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.7853981633974476 1.3753098510218528e-08\n" ] } ], "source": [ "from scipy.integrate import dblquad\n", "from numpy import exp\n", "\n", "def integrand(x, y):\n", " return exp(-x**2-y**2)\n", "\n", "x_lower = 0 \n", "x_upper = 10\n", "y_lower = 0\n", "y_upper = 10\n", "\n", "val, abserr = dblquad(integrand, x_lower, x_upper, lambda x: y_lower, lambda x: y_upper)\n", "\n", "print(val, abserr) # Use parentheses for print statement in Python 3" ] }, { "cell_type": "markdown", "metadata": { "id": "FTb-u0wq17cY" }, "source": [ "Note how we had to pass lambda functions for the limits for the y integration, since these in general can be functions of x." ] }, { "cell_type": "markdown", "metadata": { "id": "w-BgdltD17cY" }, "source": [ "## Ordinary differential equations (ODEs)" ] }, { "cell_type": "markdown", "metadata": { "id": "g76G4KWz17cZ" }, "source": [ "SciPy provides two different ways to solve ODEs: An API based on the function `odeint`, and object-oriented API based on the class `ode`. Usually `odeint` is easier to get started with, but the `ode` class offers some finer level of control.\n", "\n", "Here we will use the `odeint` functions. For more information about the class `ode`, try `help(ode)`. It does pretty much the same thing as `odeint`, but in an object-oriented fashion.\n", "\n", "To use `odeint`, first import it from the `scipy.integrate` module" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "id": "E8eFrsm517cZ" }, "outputs": [], "source": [ "from scipy.integrate import odeint, ode" ] }, { "cell_type": "markdown", "metadata": { "id": "B2S3MEUx17ca" }, "source": [ "A system of ODEs are usually formulated on standard form before it is attacked numerically. The standard form is:\n", "\n", "$y' = f(y, t)$\n", "\n", "where \n", "\n", "$y = [y_1(t), y_2(t), ..., y_n(t)]$ \n", "\n", "and $f$ is some function that gives the derivatives of the function $y_i(t)$. To solve an ODE we need to know the function $f$ and an initial condition, $y(0)$.\n", "\n", "Note that higher-order ODEs can always be written in this form by introducing new variables for the intermediate derivatives.\n", "\n", "Once we have defined the Python function `f` and array `y_0` (that is $f$ and $y(0)$ in the mathematical formulation), we can use the `odeint` function as:\n", "\n", " y_t = odeint(f, y_0, t)\n", "\n", "where `t` is and array with time-coordinates for which to solve the ODE problem. `y_t` is an array with one row for each point in time in `t`, where each column corresponds to a solution `y_i(t)` at that point in time. \n", "\n", "We will see how we can implement `f` and `y_0` in Python code in the examples below." ] }, { "cell_type": "markdown", "metadata": { "id": "689oGf5p17cb" }, "source": [ "#### Example: double pendulum" ] }, { "cell_type": "markdown", "metadata": { "id": "VocqfwQd17cb" }, "source": [ "Let's consider a physical example: The double compound pendulum, described in some detail here: http://en.wikipedia.org/wiki/Double_pendulum" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "id": "3WOrp7He17cb", "outputId": "79e2a2bc-acaf-4408-cbf1-ee96935657b1" }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image(url='http://upload.wikimedia.org/wikipedia/commons/c/c9/Double-compound-pendulum-dimensioned.svg')" ] }, { "cell_type": "markdown", "metadata": { "id": "0-LJiMGr17cc" }, "source": [ "The equations of motion of the pendulum are given on the wiki page:\n", "\n", "${\\dot \\theta_1} = \\frac{6}{m\\ell^2} \\frac{ 2 p_{\\theta_1} - 3 \\cos(\\theta_1-\\theta_2) p_{\\theta_2}}{16 - 9 \\cos^2(\\theta_1-\\theta_2)}$\n", "\n", "${\\dot \\theta_2} = \\frac{6}{m\\ell^2} \\frac{ 8 p_{\\theta_2} - 3 \\cos(\\theta_1-\\theta_2) p_{\\theta_1}}{16 - 9 \\cos^2(\\theta_1-\\theta_2)}.$\n", "\n", "${\\dot p_{\\theta_1}} = -\\frac{1}{2} m \\ell^2 \\left [ {\\dot \\theta_1} {\\dot \\theta_2} \\sin (\\theta_1-\\theta_2) + 3 \\frac{g}{\\ell} \\sin \\theta_1 \\right ]$\n", "\n", "${\\dot p_{\\theta_2}} = -\\frac{1}{2} m \\ell^2 \\left [ -{\\dot \\theta_1} {\\dot \\theta_2} \\sin (\\theta_1-\\theta_2) + \\frac{g}{\\ell} \\sin \\theta_2 \\right]$\n", "\n", "To make the Python code simpler to follow, let's introduce new variable names and the vector notation: $x = [\\theta_1, \\theta_2, p_{\\theta_1}, p_{\\theta_2}]$\n", "\n", "${\\dot x_1} = \\frac{6}{m\\ell^2} \\frac{ 2 x_3 - 3 \\cos(x_1-x_2) x_4}{16 - 9 \\cos^2(x_1-x_2)}$\n", "\n", "${\\dot x_2} = \\frac{6}{m\\ell^2} \\frac{ 8 x_4 - 3 \\cos(x_1-x_2) x_3}{16 - 9 \\cos^2(x_1-x_2)}$\n", "\n", "${\\dot x_3} = -\\frac{1}{2} m \\ell^2 \\left [ {\\dot x_1} {\\dot x_2} \\sin (x_1-x_2) + 3 \\frac{g}{\\ell} \\sin x_1 \\right ]$\n", "\n", "${\\dot x_4} = -\\frac{1}{2} m \\ell^2 \\left [ -{\\dot x_1} {\\dot x_2} \\sin (x_1-x_2) + \\frac{g}{\\ell} \\sin x_2 \\right]$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code defines a function dx that describes the dynamics of a physical pendulum. The pendulum is assumed to be a simple pendulum consisting of a mass m attached to a rigid rod of length L. The constants g, L, and m are defined at the beginning of the code.\n", "\n", "The dx function takes two arguments: an array x that contains the values of the four variables that describe the state of the pendulum, and a scalar t that represents time (although the time variable is not used in this code). The four variables in x are:\n", "\n", " x1: the angular displacement of the pendulum from its equilibrium position (in radians)\n", " x2: the angular displacement of a secondary pendulum (in radians)\n", " x3: the angular velocity of the pendulum (in radians per second)\n", " x4: the angular velocity of the secondary pendulum (in radians per second)\n", "\n", "The function dx first extracts the values of the four variables from the input array x. It then computes the derivatives of these variables, which describe how the state of the pendulum changes over time.\n", "\n", "The computation of the derivatives is based on the equations of motion for a physical pendulum. These equations take into account the gravitational force acting on the mass, the torque exerted by the rod, and the conservation of angular momentum. The exact form of the equations used in this code is not explained here, but it can be found in many textbooks on classical mechanics.\n", "\n", "The function dx returns a list containing the computed derivatives of the four variables, in the same order as the input array x. This list represents the rate of change of the state of the pendulum over time, and is used by numerical integration methods to simulate the motion of the pendulum." ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "id": "O_5W03YU17cc" }, "outputs": [], "source": [ "# Define constants\n", "g = 9.81\n", "L = 0.5\n", "m = 0.1\n", "\n", "# Define the function dx that describes the pendulum ODE\n", "def dx(x, t):\n", " \"\"\"\n", " The right-hand side of the pendulum ODE\n", " \"\"\"\n", " # Extract the variables from the input array x\n", " x1, x2, x3, x4 = x[0], x[1], x[2], x[3]\n", " \n", " # Compute the derivatives of the variables\n", " dx1 = 6.0/(m*L**2) * (2 * x3 - 3 * cos(x1-x2) * x4)/(16 - 9 * cos(x1-x2)**2)\n", " dx2 = 6.0/(m*L**2) * (8 * x4 - 3 * cos(x1-x2) * x3)/(16 - 9 * cos(x1-x2)**2)\n", " dx3 = -0.5 * m * L**2 * ( dx1 * dx2 * sin(x1-x2) + 3 * (g/L) * sin(x1))\n", " dx4 = -0.5 * m * L**2 * (-dx1 * dx2 * sin(x1-x2) + (g/L) * sin(x2))\n", " \n", " # Return the derivatives as a list\n", " return [dx1, dx2, dx3, dx4]\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code simulates the motion of a double pendulum using numerical integration. The motion of the double pendulum is governed by a system of ordinary differential equations (ODEs), which are solved using the odeint function from the SciPy library.\n", "\n", "The code first imports the math library to access the value of pi, and chooses an initial state for the double pendulum. The initial state is represented by an array x0 that contains the values of four variables: the angular displacements and velocities of the two pendulum masses. The angles are measured in radians.\n", "\n", "The code then defines a time coordinate t using the linspace function from the NumPy library. The linspace function creates an array of 250 evenly spaced points between 0 and 10 seconds, which will be used to simulate the motion of the pendulum.\n", "\n", "The code defines a function dx (not shown) that describes the dynamics of the double pendulum, similar to the previous code. This function takes as input an array x containing the state of the system, and returns the derivatives of the four variables.\n", "\n", "The odeint function is then used to solve the ODE problem for the chosen initial state and time coordinate. The odeint function takes as input the function dx, the initial state x0, and the time coordinate t, and returns an array x containing the values of the four variables at each time point.\n", "\n", "Finally, the code plots the angular displacements of the two pendulum masses as a function of time, and the positions of the two masses in space. The positions are computed from the angular displacements using trigonometric functions (sin and cos). The positions are plotted in two dimensions using the plot function from Matplotlib. The positions of the two masses are represented by two different colors (red and blue), and the limits of the y-axis and x-axis are set to make the visualization more informative. The resulting plot shows the complex and chaotic motion of the double pendulum over time." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "id": "pR-qWKmM17cd" }, "outputs": [], "source": [ "# Import the math library to use the value of pi\n", "import math\n", "\n", "# Choose an initial state\n", "x0 = [math.pi/4, math.pi/2, 0, 0]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "id": "2I8qwyHV17cd" }, "outputs": [], "source": [ "# Import the linspace function from the numpy library\n", "from numpy import linspace\n", "\n", "# Time coordinate to solve the ODE for: from 0 to 10 seconds\n", "t = linspace(0, 10, 250)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "id": "2295XuFr17cd" }, "outputs": [], "source": [ "from scipy.integrate import odeint\n", "from numpy import cos, sin\n", "\n", "# solve the ODE problem\n", "x = odeint(dx, x0, t)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "id": "87DYEHC_17ce", "outputId": "66bc9a73-546a-49d4-b526-6d6de481d485" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the angles as a function of time\n", "\n", "fig, axes = plt.subplots(1,2, figsize=(12,4))\n", "axes[0].plot(t, x[:, 0], 'r', label=\"theta1\")\n", "axes[0].plot(t, x[:, 1], 'b', label=\"theta2\")\n", "\n", "\n", "x1 = + L * sin(x[:, 0])\n", "y1 = - L * cos(x[:, 0])\n", "\n", "x2 = x1 + L * sin(x[:, 1])\n", "y2 = y1 - L * cos(x[:, 1])\n", " \n", "axes[1].plot(x1, y1, 'r', label=\"pendulum1\")\n", "axes[1].plot(x2, y2, 'b', label=\"pendulum2\")\n", "axes[1].set_ylim([-1, 0])\n", "axes[1].set_xlim([1, -1]);" ] }, { "cell_type": "markdown", "metadata": { "id": "vLv2MH9817ce" }, "source": [ "Simple annimation of the pendulum motion. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code is simulating a double pendulum system and plotting the angles and positions of the pendulums over time. Here's an explanation of the code:\n", "\n", "1. Import the math library: The `math` library is imported to use the value of pi (`math.pi`).\n", "\n", "2. Choose an initial state: The variable `x0` represents the initial state of the system. It is a list containing four values: `[math.pi/4, math.pi/2, 0, 0]`. These values represent the initial angles and angular velocities of the two pendulums.\n", "\n", "3. Import necessary functions and libraries: The `linspace` function from the `numpy` library is imported. It is used to generate a time coordinate `t` that ranges from 0 to 10 seconds with 250 evenly spaced points.\n", "\n", "4. Import additional functions: The `odeint` function from the `scipy.integrate` module is imported. It is used to solve the ordinary differential equation (ODE) problem.\n", "\n", "5. Solve the ODE problem: The `odeint` function is called to solve the ODE problem. It takes three arguments: the derivative function `dx`, the initial state `x0`, and the time coordinate `t`. The result is stored in the `x` variable, which represents the angles and angular velocities of the pendulums over time.\n", "\n", "6. Plot the angles and positions: The code creates a figure with two subplots using `plt.subplots(1, 2, figsize=(12, 4))`. The first subplot (`axes[0]`) plots the angles of the pendulums (`x[:, 0]` represents the first angle and `x[:, 1]` represents the second angle) against time (`t`). The second subplot (`axes[1]`) plots the positions of the pendulums using the angles and lengths.\n", "\n", "7. Calculate the positions of the pendulums: The variables `x1` and `y1` represent the x and y coordinates of the first pendulum, respectively. The variables `x2` and `y2` represent the x and y coordinates of the second pendulum, respectively. These positions are calculated using the angles and lengths of the pendulums.\n", "\n", "8. Plot the positions: The positions of the pendulums are plotted on the second subplot (`axes[1]`) using `axes[1].plot(x1, y1, 'r', label=\"pendulum1\")` and `axes[1].plot(x2, y2, 'b', label=\"pendulum2\")`. The plot limits for the y-axis (`axes[1].set_ylim([-1, 0])`) and x-axis (`axes[1].set_xlim([1, -1])`) are also set.\n", "\n", "The code simulates the motion of a double pendulum system and visualizes the angles and positions of the pendulums over time." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "id": "yKLsJAM817cf" }, "outputs": [], "source": [ "from IPython.display import display, clear_output\n", "import time" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "id": "Zt4qBrtf17cf", "outputId": "5f929ac3-a4f8-446f-82b0-5eef528cbda2" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "from numpy import cos, sin\n", "\n", "fig, ax = plt.subplots(figsize=(4, 4))\n", "\n", "for t_idx, tt in enumerate(t[:200]):\n", " x1 = + L * sin(x[t_idx, 0])\n", " y1 = - L * cos(x[t_idx, 0])\n", "\n", " x2 = x1 + L * sin(x[t_idx, 1])\n", " y2 = y1 - L * cos(x[t_idx, 1])\n", "\n", " ax.clear()\n", " ax.plot([0, x1], [0, y1], 'r.-')\n", " ax.plot([x1, x2], [y1, y2], 'b.-')\n", " ax.set_ylim([-1.5, 0.5])\n", " ax.set_xlim([1, -1])\n", "\n", " plt.show()\n", " plt.pause(0.1)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This Python code is using the `matplotlib` library to create an animation of a double pendulum system. Here's an explanation of the code:\n", "\n", "1. Import necessary functions and libraries: The `display` and `clear_output` functions are imported from the `IPython.display` module. These functions are used to clear the output and display the animation in a Jupyter notebook environment. The `time` module is imported to use the `sleep` function for adding delays between frames. The `matplotlib.pyplot` module is imported as `plt` for creating the plot.\n", "\n", "2. Create the figure and axes: The code creates a figure and axes using `plt.subplots(figsize=(4, 4))`. The figure size is set to 4x4.\n", "\n", "3. Animation loop: The code enters a loop that iterates over the first 200 time steps (`t[:200]`). This determines the number of frames in the animation.\n", "\n", "4. Calculate the positions of the pendulums: Inside the loop, the positions of the pendulums are calculated using the current angles (`x[t_idx, 0]` and `x[t_idx, 1]`) and the length of the pendulum (`L`). The variables `x1` and `y1` represent the x and y coordinates of the first pendulum, respectively. The variables `x2` and `y2` represent the x and y coordinates of the second pendulum, respectively.\n", "\n", "5. Clear the axes and plot the pendulums: The `ax.clear()` function is called to clear the axes for each frame. Then, the positions of the pendulums are plotted using `ax.plot()` to draw lines connecting the points. The first `plot()` call connects the origin `(0, 0)` to the position of the first pendulum `(x1, y1)` with a red line. The second `plot()` call connects the position of the first pendulum `(x1, y1)` to the position of the second pendulum `(x2, y2)` with a blue line.\n", "\n", "6. Set plot limits and display the animation: The limits for the y-axis (`ax.set_ylim([-1.5, 0.5])`) and x-axis (`ax.set_xlim([1, -1])`) are set to ensure the pendulums stay within the plot area. Then, the current plot is displayed using `plt.show()`. The `plt.pause(0.1)` function adds a short delay of 0.1 seconds between frames to create a smooth animation.\n", "\n", "The code creates a dynamic animation that visualizes the motion of a double pendulum system by continuously updating and displaying the plot as the angles change over time." ] }, { "cell_type": "markdown", "metadata": { "id": "qMgslf1O17cg" }, "source": [ "#### Example: Damped harmonic oscillator" ] }, { "cell_type": "markdown", "metadata": { "id": "43-yoHAc17cg" }, "source": [ "ODE problems are important in computational physics, so we will look at one more example: the damped harmonic oscillation. This problem is well described on the wiki page: http://en.wikipedia.org/wiki/Damping\n", "\n", "The equation of motion for the damped oscillator is:\n", "\n", "$\\displaystyle \\frac{\\mathrm{d}^2x}{\\mathrm{d}t^2} + 2\\zeta\\omega_0\\frac{\\mathrm{d}x}{\\mathrm{d}t} + \\omega^2_0 x = 0$\n", "\n", "where $x$ is the position of the oscillator, $\\omega_0$ is the frequency, and $\\zeta$ is the damping ratio. To write this second-order ODE on standard form we introduce $p = \\frac{\\mathrm{d}x}{\\mathrm{d}t}$:\n", "\n", "$\\displaystyle \\frac{\\mathrm{d}p}{\\mathrm{d}t} = - 2\\zeta\\omega_0 p - \\omega^2_0 x$\n", "\n", "$\\displaystyle \\frac{\\mathrm{d}x}{\\mathrm{d}t} = p$\n", "\n", "In the implementation of this example we will add extra arguments to the RHS function for the ODE, rather than using global variables as we did in the previous example. As a consequence of the extra arguments to the RHS, we need to pass an keyword argument `args` to the `odeint` function:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "id": "O0s4JOjq17cg" }, "outputs": [], "source": [ "def dy(y, t, zeta, w0):\n", " \"\"\"\n", " The right-hand side of the damped oscillator ODE\n", " \"\"\"\n", " x, p = y[0], y[1]\n", " \n", " dx = p\n", " dp = -2 * zeta * w0 * p - w0**2 * x\n", "\n", " return [dx, dp]" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "id": "KjEtGBix17cg" }, "outputs": [], "source": [ "# initial state: \n", "y0 = [1.0, 0.0]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "id": "bFbBlCoY17ch" }, "outputs": [], "source": [ "# time coodinate to solve the ODE for\n", "t = linspace(0, 10, 1000)\n", "w0 = 2*pi*1.0" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "id": "ZC_dxdSb17ch" }, "outputs": [], "source": [ "# solve the ODE problem for three different values of the damping ratio\n", "\n", "y1 = odeint(dy, y0, t, args=(0.0, w0)) # undamped\n", "y2 = odeint(dy, y0, t, args=(0.2, w0)) # under damped\n", "y3 = odeint(dy, y0, t, args=(1.0, w0)) # critial damping\n", "y4 = odeint(dy, y0, t, args=(5.0, w0)) # over damped" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "id": "_TRAq56g17ch", "outputId": "f8007c68-4ebc-4f99-b5a8-35ef793f1e9a" }, "outputs": [ { "data": { "image/png": "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TqcTISEh8Hq9vt0/d+7cwa+//oqysrKg5CIiIqKRJahfyra2tuLevXtobW3FwMCA71C4adOmYdy4cQAebd8tLS3FihUroNPp4HK54Ha74XA44HA44Ha7YbFYkJOTA+DRqZEfffQRtm3bhsjISERERGD79u1ITEz07aoiIiKi0S2oBc6nn36KEydO+J4/npW5fPkyFi9eDODR7paOjg7fe3bu3Imenh5s2rQJ9+/fx7x581BVVeV3VsbBgwcxZswYrF69Gj09PViyZAmOHz8Og8EQzB+HRogNGzZgw4YNsmMQEZFEw16DowKuwaGRgNciEZG/4azBeaW2iRMREREFAgucpwjUeSxEL4vXIBHRyxsZJz9pyGg0Qq/X+05YNRqNI+bobVKDEAJ9fX34559/oNfrR8zpxERErxIWOP+h1+tht9tx584dv2P6ibRmsVhgs9meebgjERENjQXOEIxGI2w2G/r7+5W9Qzm92gwGA8aMGcPZQyKil8QC5yl0Oh1CQkKUvIU8ERGR6jj3TURERMphgUNERETKYYFDREREyhmVa3AeH97c2dkpOQkRERG9qMfj9ovchGFUFjhdXV0AgNjYWMlJiIiIaLi6uroQHh7+zPeMyntRDQ4O4vbt2wgLCwv4NtzOzk7Exsbi1q1bz71PBr089rM22M/aYD9rh32tjWD1sxACXV1diI6Ofu4ZYaNyBkev1yMmJiaonzF+/Hj+8miA/awN9rM22M/aYV9rIxj9/LyZm8e4yJiIiIiUwwKHiIiIlMMCJ8BMJhOKi4thMplkR1Ea+1kb7GdtsJ+1w77WxqvQz6NykTERERGpjTM4REREpBwWOERERKQcFjhERESkHBY4REREpBwWOAF0+PBh2O12hIaGwul04sqVK7IjKae0tBRz5sxBWFgYoqKisHz5cvzxxx+yYymvtLQUOp0OLpdLdhTl/P3338jNzUVkZCQsFgvefPNN1NXVyY6llP7+fuzduxd2ux1msxlTp07F559/jsHBQdnRRrSamhpkZ2cjOjoaOp0O3377rd/rQgh89tlniI6OhtlsxuLFi9HY2KhZPhY4AXLmzBm4XC7s2bMH9fX1WLBgAd599120trbKjqaU6upq5Ofn46effoLX60V/fz+ysrLQ3d0tO5qyamtr4fF48MYbb8iOopz79+8jPT0dISEhuHjxIn777TccOHAAEyZMkB1NKfv27cPRo0dRUVGB33//HWVlZdi/fz8OHTokO9qI1t3djaSkJFRUVAz5ellZGcrLy1FRUYHa2lpYrVZkZmb67gcZdIICYu7cuWLjxo1+bfHx8WLXrl2SEo0ObW1tAoCorq6WHUVJXV1dwuFwCK/XKxYtWiQKCgpkR1JKUVGRyMjIkB1DecuWLRN5eXl+bStXrhS5ubmSEqkHgDh79qzv+eDgoLBareKLL77wtT18+FCEh4eLo0ePapKJMzgB0NfXh7q6OmRlZfm1Z2Vl4ccff5SUanTo6OgAAEREREhOoqb8/HwsW7YMb7/9tuwoSjp37hxSUlKwatUqREVFITk5GV999ZXsWMrJyMjADz/8gKamJgDAzz//jKtXr+K9996TnExdLS0tuHv3rt+4aDKZsGjRIs3GxVF5s81Aa29vx8DAACZNmuTXPmnSJNy9e1dSKvUJIVBYWIiMjAzMmjVLdhzlnD59GtevX0dtba3sKMpqbm7GkSNHUFhYiN27d+PatWvYunUrTCYTPvzwQ9nxlFFUVISOjg7Ex8fDYDBgYGAAJSUlWLt2rexoyno89g01Lt68eVOTDCxwAkin0/k9F0I80UaBs3nzZvzyyy+4evWq7CjKuXXrFgoKClBVVYXQ0FDZcZQ1ODiIlJQUuN1uAEBycjIaGxtx5MgRFjgBdObMGZw8eRKnTp1CQkICGhoa4HK5EB0djfXr18uOpzSZ4yILnACYOHEiDAbDE7M1bW1tT1SvFBhbtmzBuXPnUFNTg5iYGNlxlFNXV4e2tjY4nU5f28DAAGpqalBRUYHe3l4YDAaJCdUwefJkzJw5069txowZ+PrrryUlUtOOHTuwa9curFmzBgCQmJiImzdvorS0lAVOkFitVgCPZnImT57sa9dyXOQanAAwGo1wOp3wer1+7V6vF2lpaZJSqUkIgc2bN+Obb77BpUuXYLfbZUdS0pIlS3Djxg00NDT4HikpKfjggw/Q0NDA4iZA0tPTnzjmoKmpCVOmTJGUSE3//vsv9Hr/4c5gMHCbeBDZ7XZYrVa/cbGvrw/V1dWajYucwQmQwsJCrFu3DikpKUhNTYXH40Frays2btwoO5pS8vPzcerUKXz33XcICwvzzZqFh4fDbDZLTqeOsLCwJ9Y1jR07FpGRkVzvFECffPIJ0tLS4Ha7sXr1aly7dg0ejwcej0d2NKVkZ2ejpKQENpsNCQkJqK+vR3l5OfLy8mRHG9EePHiAP//80/e8paUFDQ0NiIiIgM1mg8vlgtvthsPhgMPhgNvthsViQU5OjjYBNdmrNUp8+eWXYsqUKcJoNIrZs2dz63IQABjyUVlZKTua8rhNPDjOnz8vZs2aJUwmk4iPjxcej0d2JOV0dnaKgoICYbPZRGhoqJg6darYs2eP6O3tlR1tRLt8+fKQf4/Xr18vhHi0Vby4uFhYrVZhMpnEwoULxY0bNzTLpxNCCG1KKSIiIiJtcA0OERERKYcFDhERESmHBQ4REREphwUOERERKYcFDhERESmHBQ4REREphwUOERERKYcFDhERESmHBQ4REREphwUOERERKYcFDhERESmHBQ4REREp53/AdBiszG/ozAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.plot(t, y1[:,0], 'k', label=\"undamped\", linewidth=0.25)\n", "ax.plot(t, y2[:,0], 'r', label=\"under damped\")\n", "ax.plot(t, y3[:,0], 'b', label=r\"critical damping\")\n", "ax.plot(t, y4[:,0], 'g', label=\"over damped\")\n", "ax.legend();" ] }, { "cell_type": "markdown", "metadata": { "id": "2g5ymw4c17ch" }, "source": [ "## Fourier transform" ] }, { "cell_type": "markdown", "metadata": { "id": "_GRAlhGr17ci" }, "source": [ "Fourier transforms are one of the universal tools in computational physics, which appear over and over again in different contexts. SciPy provides functions for accessing the classic [FFTPACK](http://www.netlib.org/fftpack/) library from NetLib, which is an efficient and well tested FFT library written in FORTRAN. The SciPy API has a few additional convenience functions, but overall the API is closely related to the original FORTRAN library.\n", "\n", "To use the `fftpack` module in a python program, include it using:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "id": "7iJl-lYm17cj" }, "outputs": [], "source": [ "from numpy.fft import fftfreq\n", "from scipy.fftpack import *\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": { "id": "mT2GF8Bv17cj" }, "source": [ "To demonstrate how to do a fast Fourier transform with SciPy, let's look at the FFT of the solution to the damped oscillator from the previous section:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "id": "If3MYJkL17cj" }, "outputs": [], "source": [ "N = len(t)\n", "dt = t[1]-t[0]\n", "\n", "# calculate the fast fourier transform\n", "# y2 is the solution to the under-damped oscillator from the previous section\n", "F = fft(y2[:,0]) \n", "\n", "# calculate the frequencies for the components in F\n", "w = fftfreq(N, dt)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "id": "lb7CO4PV17cj", "outputId": "aca52f7b-35b1-4ca6-f84c-b5843c47b085" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(9,3))\n", "ax.plot(w, abs(F));" ] }, { "cell_type": "markdown", "metadata": { "id": "t2F6FL5e17ck" }, "source": [ "Since the signal is real, the spectrum is symmetric. We therefore only need to plot the part that corresponds to the postive frequencies. To extract that part of the `w` and `F` we can use some of the indexing tricks for NumPy arrays that we saw in Lecture 2:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "id": "hH2XgxXG17ck" }, "outputs": [], "source": [ "import numpy as np\n", "\n", "indices = np.where(w > 0) # select only indices for elements that corresponds to positive frequencies\n", "w_pos = w[indices]\n", "F_pos = F[indices]" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "id": "B833frDD17cl", "outputId": "98469b09-cd05-4b30-e09e-ad3fc0707723" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(9,3))\n", "ax.plot(w_pos, abs(F_pos))\n", "ax.set_xlim(0, 5);" ] }, { "cell_type": "markdown", "metadata": { "id": "XsICPOOA17cl" }, "source": [ "As expected, we now see a peak in the spectrum that is centered around 1, which is the frequency we used in the damped oscillator example." ] }, { "cell_type": "markdown", "metadata": { "id": "3EZmiWMF17cl" }, "source": [ "## Linear algebra" ] }, { "cell_type": "markdown", "metadata": { "id": "zdzyH1Dg17cm" }, "source": [ "The linear algebra module contains a lot of matrix related functions, including linear equation solving, eigenvalue solvers, matrix functions (for example matrix-exponentiation), a number of different decompositions (SVD, LU, cholesky), etc. \n", "\n", "Detailed documetation is available at: http://docs.scipy.org/doc/scipy/reference/linalg.html\n", "\n", "Here we will look at how to use some of these functions:\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "Y78vvFZI17cn" }, "source": [ "### Linear equation systems" ] }, { "cell_type": "markdown", "metadata": { "id": "Y6hxBCwk17co" }, "source": [ "Linear equation systems on the matrix form\n", "\n", "$A x = b$\n", "\n", "where $A$ is a matrix and $x,b$ are vectors can be solved like:" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "id": "EwabIpEA17co" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Solution vector x:\n", "[-4. 4.5]\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Define the coefficient matrix A and the constant vector b\n", "A = np.array([[1, 2], [3, 4]])\n", "b = np.array([5, 6])\n", "\n", "# Solve the linear equation system using numpy.linalg.solve()\n", "x = np.linalg.solve(A, b)\n", "\n", "# Print the solution vector x\n", "print(\"Solution vector x:\")\n", "print(x)\n" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "id": "1eF9N58m17cp", "outputId": "e4a2a650-2dde-4903-884d-928fe3fbfca7" }, "outputs": [ { "data": { "text/plain": [ "array([0., 0.])" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# check if the solution is correct\n", "np.dot(A, x) - b\n" ] }, { "cell_type": "markdown", "metadata": { "id": "zVicwnH117cq" }, "source": [ "We can also do the same with\n", "\n", "$A X = B$\n", "\n", "where $A, B, X$ are matrices:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "id": "Geh_ZBaH17cq" }, "outputs": [], "source": [ "from numpy.random import rand\n", "\n", "A = rand(3, 3)\n", "B = rand(3, 3)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "id": "uply5P0d17cq" }, "outputs": [], "source": [ "X = np.linalg.solve(A, B)\n", "#X = solve(A, B)" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "id": "fvGWoVH017cr", "outputId": "407a4044-a777-44ed-82e4-2fe975dd5043" }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.32118833, 0.8620497 , -0.22020307],\n", " [ 1.72179091, 4.01699039, -0.30902004],\n", " [ 0.49628324, -2.52594578, 1.17026577]])" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "id": "UTl72B4x17cr", "outputId": "9eb29752-939f-4cf3-bc5d-361673404f9c" }, "outputs": [ { "data": { "text/plain": [ "1.5808842555343036e-16" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "# check\n", "# norm(np.dot(A, X) - B)\n", "np.linalg.norm((np.dot(A, X) - B))" ] }, { "cell_type": "markdown", "metadata": { "id": "YUfJIRq-17cr" }, "source": [ "### Eigenvalues and eigenvectors" ] }, { "cell_type": "markdown", "metadata": { "id": "FWa0wl3B17cr" }, "source": [ "The eigenvalue problem for a matrix $A$:\n", "\n", "$\\displaystyle A v_n = \\lambda_n v_n$\n", "\n", "where $v_n$ is the $n$th eigenvector and $\\lambda_n$ is the $n$th eigenvalue.\n", "\n", "To calculate eigenvalues of a matrix, use the `eigvals` and for calculating both eigenvalues and eigenvectors, use the function `eig`:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "id": "ZkL0jTIF17cs" }, "outputs": [], "source": [ "import numpy as np\n", "evals = np.linalg.eigvals(A)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "id": "lAN5IraQ17cs", "outputId": "a576eb57-9c52-4301-d268-033186d93fe9" }, "outputs": [ { "data": { "text/plain": [ "array([-0.4523527 , 0.83254018, 0.17552916])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "id": "ldDAxP6_17cs" }, "outputs": [], "source": [ "evals, evecs = np.linalg.eig(A)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "id": "hgRtqEI617cs", "outputId": "8acdbd2f-f97d-4740-b67d-0c93133ac89d" }, "outputs": [ { "data": { "text/plain": [ "array([-0.4523527 , 0.83254018, 0.17552916])" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evals" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "id": "iHXDhSCg17ct", "outputId": "299151fd-dc15-4257-874e-85f7a8a42d9f" }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.49708336, -0.43595505, -0.24773936],\n", " [-0.8666753 , -0.62852181, -0.52502302],\n", " [ 0.0422145 , -0.64413005, 0.8142334 ]])" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "evecs" ] }, { "cell_type": "markdown", "metadata": { "id": "-84olrki17ct" }, "source": [ "The eigenvectors corresponding to the $n$th eigenvalue (stored in `evals[n]`) is the $n$th *column* in `evecs`, i.e., `evecs[:,n]`. To verify this, let's try mutiplying eigenvectors with the matrix and compare to the product of the eigenvector and the eigenvalue:" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "id": "skX_7DPq17ct", "outputId": "fd504b80-798f-485c-ed6e-9521b0086574" }, "outputs": [ { "data": { "text/plain": [ "4.002966042486721e-16" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "n = 1\n", "\n", "np.linalg.norm(np.dot(A, evecs[:,n]) - evals[n] * evecs[:,n])" ] }, { "cell_type": "markdown", "metadata": { "id": "48U_uUmU17cu" }, "source": [ "There are also more specialized eigensolvers, like the `eigh` for Hermitian matrices. " ] }, { "cell_type": "markdown", "metadata": { "id": "m5TwOmf217cu" }, "source": [ "### Matrix operations" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "id": "ALlqcczb17cu", "outputId": "0465e2fb-12fe-42ed-dca4-5abe0636d444" }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.28806954, 1.39686419, -0.7450367 ],\n", " [ 4.4994462 , 0.2661113 , -2.13290519],\n", " [-2.61530351, -1.19100445, 4.13335708]])" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the matrix inverse\n", "np.linalg.inv(A)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "id": "ksNuyRPN17cu", "outputId": "9e2b574c-468c-49cf-e611-37b3e7209663" }, "outputs": [ { "data": { "text/plain": [ "-0.06610459771703978" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# determinant\n", "np.linalg.det(A)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "id": "zZn91TkO17cv", "outputId": "5b85853f-a608-4494-df2a-813ba55f6259" }, "outputs": [ { "data": { "text/plain": [ "(1.0052264819416696, 1.0917342054984123)" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "# norms of various orders\n", "np.linalg.norm(A, ord=2), np.linalg.norm(A, ord=np.Inf)" ] }, { "cell_type": "markdown", "metadata": { "id": "oykJnNxL17cv" }, "source": [ "### Sparse matrices" ] }, { "cell_type": "markdown", "metadata": { "id": "iCNwbaND17cv" }, "source": [ "Sparse matrices are often useful in numerical simulations dealing with large systems, if the problem can be described in matrix form where the matrices or vectors mostly contains zeros. Scipy has a good support for sparse matrices, with basic linear algebra operations (such as equation solving, eigenvalue calculations, etc.).\n", "\n", "There are many possible strategies for storing sparse matrices in an efficient way. Some of the most common are the so-called coordinate form (COO), list of list (LIL) form, and compressed-sparse column CSC (and row, CSR). Each format has some advantanges and disadvantages. Most computational algorithms (equation solving, matrix-matrix multiplication, etc.) can be efficiently implemented using CSR or CSC formats, but they are not so intuitive and not so easy to initialize. So often a sparse matrix is initially created in COO or LIL format (where we can efficiently add elements to the sparse matrix data), and then converted to CSC or CSR before used in real calculations.\n", "\n", "For more information about these sparse formats, see e.g. http://en.wikipedia.org/wiki/Sparse_matrix\n", "\n", "When we create a sparse matrix we have to choose which format it should be stored in. For example, " ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "id": "xKOEV9gj17cw" }, "outputs": [], "source": [ "from scipy.sparse import *" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "id": "SmF9znaK17cw", "outputId": "e99a1623-f603-4305-9d6d-512a0f77c8fd" }, "outputs": [ { "data": { "text/plain": [ "array([[1, 0, 0, 0],\n", " [0, 3, 0, 0],\n", " [0, 1, 1, 0],\n", " [1, 0, 0, 1]])" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from numpy import array\n", "# dense matrix\n", "M = array([[1,0,0,0], [0,3,0,0], [0,1,1,0], [1,0,0,1]]); M" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "id": "HROCbFib17cw", "outputId": "ab42c96f-69c2-48c1-fd5b-43038b8b2931" }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# convert from dense to sparse\n", "A = csr_matrix(M); A" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "id": "R9tmb6xB17cx", "outputId": "daae390d-af29-40af-9a53-47999411b9e8" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1, 0, 0, 0],\n", " [0, 3, 0, 0],\n", " [0, 1, 1, 0],\n", " [1, 0, 0, 1]], dtype=int32)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# convert from sparse to dense\n", "A.todense()" ] }, { "cell_type": "markdown", "metadata": { "id": "kRaU_NYA17cx" }, "source": [ "More efficient way to create sparse matrices: create an empty matrix and populate with using matrix indexing (avoids creating a potentially large dense matrix)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "id": "C6UfyWvr17cy", "outputId": "2545bb3f-2212-49f9-db04-bd28166c382d" }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in List of Lists format>" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = lil_matrix((4,4)) # empty 4x4 sparse matrix\n", "A[0,0] = 1\n", "A[1,1] = 3\n", "A[2,2] = A[2,1] = 1\n", "A[3,3] = A[3,0] = 1\n", "A" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "id": "5Rh_Bf0A17cz", "outputId": "f97a0424-d741-44d1-f08e-d2fe651ca33f" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1., 0., 0., 0.],\n", " [0., 3., 0., 0.],\n", " [0., 1., 1., 0.],\n", " [1., 0., 0., 1.]])" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense()" ] }, { "cell_type": "markdown", "metadata": { "id": "o4zK1eC_17cz" }, "source": [ "Converting between different sparse matrix formats:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "id": "Wf8psiX017cz", "outputId": "e0d9946d-9c83-4aa3-e4f1-18008805dcd4" }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in List of Lists format>" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "id": "I5QS8Xbe17c0", "outputId": "8678e2ee-41f5-4510-83e2-d905f38171c3" }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Row format>" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = csr_matrix(A); A" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "id": "TdALoKGL17c0", "outputId": "b8fb9ba3-048a-4b66-ede0-6a1fba3ebaef" }, "outputs": [ { "data": { "text/plain": [ "<4x4 sparse matrix of type ''\n", "\twith 6 stored elements in Compressed Sparse Column format>" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A = csc_matrix(A); A" ] }, { "cell_type": "markdown", "metadata": { "id": "J8HmFtGH17c1" }, "source": [ "We can compute with sparse matrices like with dense matrices:" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "id": "jSLM7_Xq17c1", "outputId": "9cc768a9-f88b-4794-e71f-8146bb13e8cd" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1., 0., 0., 0.],\n", " [0., 3., 0., 0.],\n", " [0., 1., 1., 0.],\n", " [1., 0., 0., 1.]])" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense()" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "id": "l1ygyk5i17c2", "outputId": "b5ec0eaf-4817-4077-a736-63d2865eb9c8" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1., 0., 0., 0.],\n", " [0., 9., 0., 0.],\n", " [0., 4., 1., 0.],\n", " [2., 0., 0., 1.]])" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(A * A).todense()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "id": "59v5wXPP17c2", "outputId": "68a31cb0-f747-41ae-8735-527fff44e42e" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1., 0., 0., 0.],\n", " [0., 3., 0., 0.],\n", " [0., 1., 1., 0.],\n", " [1., 0., 0., 1.]])" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.todense()" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "id": "b4LgdlTT17c3", "outputId": "647930d7-3498-48c5-cb01-779c5e249fc9" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1., 0., 0., 0.],\n", " [0., 9., 0., 0.],\n", " [0., 4., 1., 0.],\n", " [2., 0., 0., 1.]])" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A.dot(A).todense()" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "id": "oXDUCuJ817c4", "outputId": "ad8dca55-ea81-4919-b5d0-2c65f331d349" }, "outputs": [ { "data": { "text/plain": [ "array([[1],\n", " [2],\n", " [3],\n", " [4]])" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "v = array([1,2,3,4])[:,None]; v" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "id": "7TwWxmAz17c4", "outputId": "ff0ef14a-42cf-48fa-8848-24f476aef5b9" }, "outputs": [ { "data": { "text/plain": [ "array([[1.],\n", " [6.],\n", " [5.],\n", " [5.]])" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# sparse matrix - dense vector multiplication\n", "A * v" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "id": "ekNvoDVo17c4", "outputId": "bba21d0e-ec8c-4f9f-b3e9-735f354c7512" }, "outputs": [ { "data": { "text/plain": [ "matrix([[1.],\n", " [6.],\n", " [5.],\n", " [5.]])" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# same result with dense matrix - dense vector multiplcation\n", "A.todense() * v" ] }, { "cell_type": "markdown", "metadata": { "id": "O9oIwlkq17c5" }, "source": [ "## Optimization" ] }, { "cell_type": "markdown", "metadata": { "id": "iD2Hy2hP17c5" }, "source": [ "Optimization (finding minima or maxima of a function) is a large field in mathematics, and optimization of complicated functions or in many variables can be rather involved. Here we will only look at a few very simple cases. For a more detailed introduction to optimization with SciPy see: http://scipy-lectures.org/\n", "\n", "To use the optimization module in scipy first include the `optimize` module:" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "id": "IObZ3nUq17c5" }, "outputs": [], "source": [ "from scipy import optimize" ] }, { "cell_type": "markdown", "metadata": { "id": "iHcKFY3G17c6" }, "source": [ "### Finding a minima" ] }, { "cell_type": "markdown", "metadata": { "id": "63UehDYF17c6" }, "source": [ "Let's first look at how to find the minima of a simple function of a single variable:" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "id": "piAXfDcb17c7" }, "outputs": [], "source": [ "def f(x):\n", " return 4*x**3 + (x-2)**2 + x**4" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "id": "PGh-Z9jM17c7", "outputId": "16d7ff1e-d85c-4ba6-eafb-17f7c17cdc4e" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "x = linspace(-5, 3, 100)\n", "ax.plot(x, f(x));" ] }, { "cell_type": "markdown", "metadata": { "id": "4yU9eYiZ17c7" }, "source": [ "We can use the `fmin_bfgs` function to find the minima of a function:" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "id": "E85t8hS017c7", "outputId": "a5c61feb-1afe-4c58-e49f-26fbe00c1308" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: -3.506641\n", " Iterations: 5\n", " Function evaluations: 16\n", " Gradient evaluations: 8\n" ] }, { "data": { "text/plain": [ "array([-2.67298155])" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x_min = optimize.fmin_bfgs(f, -2)\n", "x_min " ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "id": "VfyI-Ktw17c8", "outputId": "d9af3d24-b2ac-4b02-de9c-eb05b65d5dec" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Optimization terminated successfully.\n", " Current function value: 2.804988\n", " Iterations: 3\n", " Function evaluations: 10\n", " Gradient evaluations: 5\n" ] }, { "data": { "text/plain": [ "array([0.46961745])" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fmin_bfgs(f, 0.5) " ] }, { "cell_type": "markdown", "metadata": { "id": "72MRG2FS17c9" }, "source": [ "We can also use the `brent` or `fminbound` functions. They have a bit different syntax and use different algorithms. " ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "id": "GBlvyF0O17c9", "outputId": "14f409f5-cffd-49a4-9b51-a410d567ba0a" }, "outputs": [ { "data": { "text/plain": [ "0.46961743402759754" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.brent(f)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "id": "Td2RQFpQ17c9", "outputId": "23d4456f-5363-403c-80a2-abe7325e54ef" }, "outputs": [ { "data": { "text/plain": [ "-2.6729822917513886" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fminbound(f, -4, 2)" ] }, { "cell_type": "markdown", "metadata": { "id": "3BfWL-he17c9" }, "source": [ "### Finding a solution to a function" ] }, { "cell_type": "markdown", "metadata": { "id": "UUTei8wE17c-" }, "source": [ "To find the root for a function of the form $f(x) = 0$ we can use the `fsolve` function. It requires an initial guess: " ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "id": "x2tbzE0017c-" }, "outputs": [], "source": [ "import numpy as np\n", "omega_c = 3.0\n", "def f(omega):\n", " # a transcendental equation: resonance frequencies of a low-Q SQUID terminated microwave resonator\n", " return np.tan(2*pi*omega) - omega_c/omega" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "id": "Q1kXOuf517c-", "outputId": "7c2ced5e-1fa0-4815-a50b-7e7ff7ced3a4" }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\GRCDNL71D14D969B\\AppData\\Local\\Temp\\ipykernel_20212\\2076174413.py:5: RuntimeWarning: divide by zero encountered in true_divide\n", " return np.tan(2*pi*omega) - omega_c/omega\n" ] }, { "data": { "text/plain": [ "(-5.0, 5.0)" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10, 4))\n", "x = np.linspace(0, 3, 1000)\n", "y = f(x)\n", "mask = np.where(abs(y) > 50)\n", "x[mask] = y[mask] = np.nan # get rid of vertical line when the function flip sign\n", "ax.plot(x, y)\n", "ax.plot([0, 3], [0, 0], 'k')\n", "ax.set_ylim(-5, 5)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "omega_c = 3.0\n", "\n", "def f(omega):\n", " # A transcendental equation: resonance frequencies of a low-Q SQUID terminated microwave resonator\n", " return np.tan(2 * np.pi * omega) - omega_c / omega\n", "\n", "fig, ax = plt.subplots(figsize=(10, 4))\n", "\n", "x = np.linspace(0.01, 3, 1000) # Modify the range to exclude 0 (to avoid division by zero)\n", "y = f(x)\n", "mask = np.where(np.abs(y) > 50)\n", "x[mask] = y[mask] = np.nan # Remove vertical line when the function flips sign\n", "\n", "ax.plot(x, y)\n", "ax.plot([0, 3], [0, 0], 'k')\n", "ax.set_ylim(-5, 5)\n", "\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "id": "ofzhxoo917c_", "outputId": "4f7ff8fc-faae-4d9e-88cb-2f38e379b4e4" }, "outputs": [ { "data": { "text/plain": [ "array([0.23743014])" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 0.1)" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "id": "zikzjtas17c_", "outputId": "a14ef945-b3e6-4eb1-e9d9-2ee91dac3040" }, "outputs": [ { "data": { "text/plain": [ "array([0.71286972])" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 0.6)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "id": "Biu21dBz17dA", "outputId": "c3f73917-5b9b-4c00-edd3-e97580e36b1b" }, "outputs": [ { "data": { "text/plain": [ "array([1.18990285])" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "optimize.fsolve(f, 1.1)" ] }, { "cell_type": "markdown", "metadata": { "id": "HC_wDSMU17dA" }, "source": [ "## Interpolation" ] }, { "cell_type": "markdown", "metadata": { "id": "yZyROgdW17dA" }, "source": [ "Interpolation is simple and convenient in scipy: The `interp1d` function, when given arrays describing X and Y data, returns and object that behaves like a function that can be called for an arbitrary value of x (in the range covered by X), and it returns the corresponding interpolated y value:" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "id": "bN6OHWcy17dA" }, "outputs": [], "source": [ "from scipy.interpolate import *" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "id": "nxcSix8l17dB" }, "outputs": [], "source": [ "from scipy.interpolate import interp1d\n", "import numpy as np\n", "def f(x):\n", " return sin(x)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "id": "ovWa5n5a17dB" }, "outputs": [], "source": [ "n = np.arange(0, 10)\n", "x = np.linspace(0, 9, 100)\n", "\n", "y_meas = f(n) + 0.1 * np.random.randn(len(n)) # simulate measurement with noise\n", "y_real = f(x)\n", "\n", "linear_interpolation = interp1d(n, y_meas)\n", "y_interp1 = linear_interpolation(x)\n", "\n", "cubic_interpolation = interp1d(n, y_meas, kind='cubic')\n", "y_interp2 = cubic_interpolation(x)\n" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "id": "R2n_LPZP17dC", "outputId": "bbf90a6f-d9d1-467c-f779-f76f9aafa815" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10,4))\n", "ax.plot(n, y_meas, 'bs', label='noisy data')\n", "ax.plot(x, y_real, 'k', lw=2, label='true function')\n", "ax.plot(x, y_interp1, 'r', label='linear interp')\n", "ax.plot(x, y_interp2, 'g', label='cubic interp')\n", "ax.legend(loc=3);" ] }, { "cell_type": "markdown", "metadata": { "id": "vDT6td7R17dD" }, "source": [ "## Statistics" ] }, { "cell_type": "markdown", "metadata": { "id": "TE9U7RO017dD" }, "source": [ "The `scipy.stats` module contains a large number of statistical distributions, statistical functions and tests. For a complete documentation of its features, see http://docs.scipy.org/doc/scipy/reference/stats.html.\n", "\n", "There is also a very powerful python package for statistical modelling called statsmodels. See http://statsmodels.sourceforge.net for more details." ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "id": "WuhMvDnv17dD" }, "outputs": [], "source": [ "from scipy import stats\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "id": "HRSssE0r17dE" }, "outputs": [], "source": [ "# create a (discrete) random variable with Poissonian distribution\n", "\n", "X = stats.poisson(3.5) # photon distribution for a coherent state with n=3.5 photons" ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "id": "CF1FIDum17dF", "outputId": "92e1d184-9f06-4328-825f-360397dc0e29" }, "outputs": [ { "data": { "image/png": "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6ZL6TVlZmW6++WalpaVp9OjRmjt3rj777DPTZRlTVlYml8ulkpIS06X0q2PHjulHP/qRRowYodTUVP3d3/2damtrTZfVL86dO6enn35aOTk5SklJ0bXXXqtVq1apu7vbdGl9Zvfu3br77rsVCATkcrn0zjvvRL3vOI6effZZBQIBpaSk6Pbbb9fhw4fNFNsHLtf/zs5OLV++XDfccIOuueYaBQIB3X///Tp+/Li5guPs6/7+v+qhhx6Sy+XS2rVr+60+AspfVVVVqaSkRCtXrtTBgwc1ffp0FRYWqr6+3nRp/aK6ulpLly7V73//e4VCIZ07d04FBQU6ffq06dL63b59+1RZWam//du/NV1Kvzp58qSmTZum5ORk/ed//qeOHDmin//8530+a7MtXnjhBa1fv17r1q3Tp59+qhdffFEvvfSS/vVf/9V0aX3m9OnTuvHGG7Vu3bpe33/xxRe1Zs0arVu3Tvv27VNGRoZmzZqltra2fq60b1yu/2fOnNGBAwf0L//yLzpw4IC2bdumzz//XPfcc4+BSvvG1/39X/DOO+/ov//7v69oevq4cuA4juP8/d//vVNcXBy17rrrrnNWrFhhqCKzmpubHUlOdXW16VL6VVtbmzN+/HgnFAo5M2bMcB577DHTJfWb5cuXO7feeqvpMoy56667nAceeCBq3fe//33nRz/6kaGK+pck5+2334687u7udjIyMpznn38+su4vf/mL4/P5nPXr1xuosG9d3P/efPjhh44k5+jRo/1TVD+6VP+//PJL52/+5m+cTz75xMnOznZefvnlfquJERRJHR0dqq2tVUFBQdT6goIC7d2711BVZrW2tkqShg8fbriS/rV06VLdddddmjlzpulS+t327duVl5enH/zgBxo9erSmTJmif/u3fzNdVr+59dZb9V//9V/6/PPPJUkfffSRPvjgA82ZM8dwZWbU1dWpqakp6nPR6/VqxowZCf256HK5EmZUsbu7W0VFRXrqqac0adKkft+/0acZ26KlpUVdXV09HlTo9/t7PNAwETiOo2AwqFtvvVWTJ082XU6/eeONN3TgwAHt27fPdClG/O///q8qKioUDAb14x//WB9++KEeffRReb1e3X///abL63PLly9Xa2urrrvuOrndbnV1demnP/2p/uEf/sF0aUZc+Ozr7XPx6NGjJkoy6i9/+YtWrFihBQsWJMwDBF944QUlJSXp0UcfNbJ/AspXuFyuqNeO4/RYlwgefvhhffzxx/rggw9Ml9JvGhoa9Nhjj2nnzp0aOnSo6XKM6O7uVl5enlavXi1JmjJlig4fPqyKioqECChVVVXavHmztmzZokmTJunQoUMqKSlRIBDQwoULTZdnDJ+L5y+Y/eEPf6ju7m6Vl5ebLqdf1NbW6pVXXtGBAweM/X1zikfSyJEj5Xa7e4yWNDc39/jtYbB75JFHtH37du3atUtjx441XU6/qa2tVXNzs3Jzc5WUlKSkpCRVV1fr1VdfVVJSkrq6ukyX2OfGjBmj66+/PmrdxIkTE+ZC8aeeekorVqzQD3/4Q91www0qKirS448/rrKyMtOlGZGRkSFJCf+52NnZqXnz5qmurk6hUChhRk/27Nmj5uZmZWVlRT4Tjx49qieeeELjxo3rlxoIKJI8Ho9yc3MVCoWi1odCIU2dOtVQVf3LcRw9/PDD2rZtm37zm98oJyfHdEn96s4779Qf/vAHHTp0KLLk5eXpH//xH3Xo0CG53W7TJfa5adOm9bi1/PPPPzf+AM/+cubMGQ0ZEv2R6Ha7B/VtxpeTk5OjjIyMqM/Fjo4OVVdXJ8zn4oVw8sc//lHvv/++RowYYbqkflNUVKSPP/446jMxEAjoqaee0nvvvdcvNXCK56+CwaCKioqUl5en/Px8VVZWqr6+XsXFxaZL6xdLly7Vli1b9Ktf/UppaWmR35p8Pp9SUlIMV9f30tLSelxvc80112jEiBEJcx3O448/rqlTp2r16tWaN2+ePvzwQ1VWVqqystJ0af3i7rvv1k9/+lNlZWVp0qRJOnjwoNasWaMHHnjAdGl95tSpU/riiy8ir+vq6nTo0CENHz5cWVlZKikp0erVqzV+/HiNHz9eq1evVmpqqhYsWGCw6vi5XP8DgYDuu+8+HThwQP/xH/+hrq6uyOfi8OHD5fF4TJUdN1/3939xIEtOTlZGRoYmTJjQPwX22/1CA8Brr73mZGdnOx6Px7npppsS6hZbSb0uv/jFL0yXZkyi3WbsOI7z7rvvOpMnT3a8Xq9z3XXXOZWVlaZL6jfhcNh57LHHnKysLGfo0KHOtdde66xcudJpb283XVqf2bVrV6//7xcuXOg4zvlbjZ955hknIyPD8Xq9zm233eb84Q9/MFt0HF2u/3V1dZf8XNy1a5fp0uPi6/7+L9bftxm7HMdx+icKAQAAXBmuQQEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOv8PlG3dMnEZxgcAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n = np.arange(0,15)\n", "\n", "fig, axes = plt.subplots(3,1, sharex=True)\n", "\n", "# plot the probability mass function (PMF)\n", "axes[0].step(n, X.pmf(n))\n", "\n", "# plot the cumulative distribution function (CDF)\n", "axes[1].step(n, X.cdf(n))\n", "\n", "# plot histogram of 1000 random realizations of the stochastic variable X\n", "axes[2].hist(X.rvs(size=1000));" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "id": "npWjjOsJ17dG" }, "outputs": [], "source": [ "# create a (continous) random variable with normal distribution\n", "Y = stats.norm()" ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "id": "Tgdnn-_B17dG", "outputId": "9a41349c-d0c4-42d3-8989-a26ee16a96c1" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = linspace(-5,5,100)\n", "\n", "fig, axes = plt.subplots(3,1, sharex=True)\n", "\n", "# plot the probability distribution function (PDF)\n", "axes[0].plot(x, Y.pdf(x))\n", "\n", "# plot the cumulative distribution function (CDF)\n", "axes[1].plot(x, Y.cdf(x));\n", "\n", "# plot histogram of 1000 random realizations of the stochastic variable Y\n", "axes[2].hist(Y.rvs(size=1000), bins=50);" ] }, { "cell_type": "markdown", "metadata": { "id": "NUjCL2gx17dP" }, "source": [ "Statistics:" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "id": "XRRXjLzv17dP", "outputId": "520ba692-990e-4099-e044-310e8aed3dd7" }, "outputs": [ { "data": { "text/plain": [ "(3.5, 1.8708286933869707, 3.5)" ] }, "execution_count": 86, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X.mean(), X.std(), X.var() # Poisson distribution" ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "id": "OE1X7vQL17dQ", "outputId": "2d5fe555-3a64-4382-e341-5519aff40877" }, "outputs": [ { "data": { "text/plain": [ "(0.0, 1.0, 1.0)" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y.mean(), Y.std(), Y.var() # normal distribution" ] }, { "cell_type": "markdown", "metadata": { "id": "MeqXLO3u17dQ" }, "source": [ "### Statistical tests" ] }, { "cell_type": "markdown", "metadata": { "id": "KvcaJz6M17dQ" }, "source": [ "Test if two sets of (independent) random data come from the same distribution:" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "id": "bqHac_jt17dR", "outputId": "72ed7052-e089-4273-b622-298a2ca9f7a1" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "t-statistic = 0.6107449422247573\n", "p-value = 0.5414379157478935\n" ] } ], "source": [ "t_statistic, p_value = stats.ttest_ind(X.rvs(size=1000), X.rvs(size=1000))\n", "\n", "print (\"t-statistic =\", t_statistic)\n", "print (\"p-value =\", p_value)" ] }, { "cell_type": "markdown", "metadata": { "id": "PImZxLb917dR" }, "source": [ "Since the p value is very large we cannot reject the hypothesis that the two sets of random data have *different* means." ] }, { "cell_type": "markdown", "metadata": { "id": "aKwtFf0V17dS" }, "source": [ "To test if the mean of a single sample of data has mean 0.1 (the true mean is 0.0):" ] }, { "cell_type": "code", "execution_count": 89, "metadata": { "id": "IffuSieH17dS", "outputId": "36af4ca2-8555-4391-a215-fce97570322b" }, "outputs": [ { "data": { "text/plain": [ "Ttest_1sampResult(statistic=-2.2020936504351876, pvalue=0.027886579982653724)" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stats.ttest_1samp(Y.rvs(size=1000), 0.1)" ] }, { "cell_type": "markdown", "metadata": { "id": "V8XVOd2s17dT" }, "source": [ "Low p-value means that we can reject the hypothesis that the mean of Y is 0.1." ] }, { "cell_type": "code", "execution_count": 90, "metadata": { "id": "w5ENPX6j17dT", "outputId": "5ed4d583-3f8b-4658-ee3b-f0f9c8b4693d" }, "outputs": [ { "data": { "text/plain": [ "0.0" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y.mean()" ] }, { "cell_type": "code", "execution_count": 91, "metadata": { "id": "_CL9UW8g17dU", "outputId": "22f1cdd7-2d06-4e32-cd99-a3103b94e093" }, "outputs": [ { "data": { "text/plain": [ "Ttest_1sampResult(statistic=-1.9082022858564973, pvalue=0.056651499384144655)" ] }, "execution_count": 91, "metadata": {}, "output_type": "execute_result" } ], "source": [ "stats.ttest_1samp(Y.rvs(size=1000), Y.mean())" ] }, { "cell_type": "markdown", "metadata": { "id": "X6vOb3iO17dU" }, "source": [ "## Further reading" ] }, { "cell_type": "markdown", "metadata": { "id": "JoUwYpwo17dV" }, "source": [ "* http://www.scipy.org - The official web page for the SciPy project.\n", "* https://docs.scipy.org/doc/scipy/reference/ - A tutorial on how to get started using SciPy. \n", "* https://github.com/scipy/scipy/ - The SciPy source code. " ] }, { "cell_type": "markdown", "metadata": { "id": "JVJk2V7817dV" }, "source": [ "## Versions" ] }, { "cell_type": "code", "execution_count": 92, "metadata": { "id": "XYG5CTNw17dV", "outputId": "a51360ce-d7c1-4d53-8702-e1990c02980c" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: version_information in c:\\users\\grcdnl71d14d969b\\anaconda3\\lib\\site-packages (1.0.4)\n" ] }, { "data": { "application/json": { "Software versions": [ { "module": "Python", "version": "3.9.16 64bit [MSC v.1916 64 bit (AMD64)]" }, { "module": "IPython", "version": "8.12.0" }, { "module": "OS", "version": "Windows 10 10.0.22621 SP0" }, { "module": "numpy", "version": "1.21.6" }, { "module": "matplotlib", "version": "3.5.2" }, { "module": "scipy", "version": "1.9.1" } ] }, "text/html": [ "
SoftwareVersion
Python3.9.16 64bit [MSC v.1916 64 bit (AMD64)]
IPython8.12.0
OSWindows 10 10.0.22621 SP0
numpy1.21.6
matplotlib3.5.2
scipy1.9.1
Wed May 24 16:13:53 2023 ora legale Europa occidentale
" ], "text/latex": [ "\\begin{tabular}{|l|l|}\\hline\n", "{\\bf Software} & {\\bf Version} \\\\ \\hline\\hline\n", "Python & 3.9.16 64bit [MSC v.1916 64 bit (AMD64)] \\\\ \\hline\n", "IPython & 8.12.0 \\\\ \\hline\n", "OS & Windows 10 10.0.22621 SP0 \\\\ \\hline\n", "numpy & 1.21.6 \\\\ \\hline\n", "matplotlib & 3.5.2 \\\\ \\hline\n", "scipy & 1.9.1 \\\\ \\hline\n", "\\hline \\multicolumn{2}{|l|}{Wed May 24 16:13:53 2023 ora legale Europa occidentale} \\\\ \\hline\n", "\\end{tabular}\n" ], "text/plain": [ "Software versions\n", "Python 3.9.16 64bit [MSC v.1916 64 bit (AMD64)]\n", "IPython 8.12.0\n", "OS Windows 10 10.0.22621 SP0\n", "numpy 1.21.6\n", "matplotlib 3.5.2\n", "scipy 1.9.1\n", "Wed May 24 16:13:53 2023 ora legale Europa occidentale" ] }, "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ "!pip install version_information\n", "\n", "%reload_ext version_information\n", "\n", "%version_information numpy, matplotlib, scipy" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.16" } }, "nbformat": 4, "nbformat_minor": 1 }