day1/cheatsheet6.tex
author Puneeth Chaganti <punchagan@gmail.com>
Sat, 01 May 2010 16:30:45 +0530
changeset 396 502d4d151fa2
parent 341 7ae88b9da553
child 438 8af5dfa5432b
permissions -rwxr-xr-x
Added four_plot.py to exercise folder.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     1
\documentclass[12pt]{article}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     2
\title{Solving Equations \& ODEs}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
     3
\author{FOSSEE}
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     4
\usepackage{listings}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     5
\lstset{language=Python,
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     6
    basicstyle=\ttfamily,
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     7
commentstyle=\itshape\bfseries,
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     8
showstringspaces=false,
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
     9
}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    10
\newcommand{\typ}[1]{\lstinline{#1}}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    11
\usepackage[english]{babel}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    12
\usepackage[latin1]{inputenc}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    13
\usepackage{times}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    14
\usepackage[T1]{fontenc}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    15
\usepackage{ae,aecompl}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    16
\usepackage{mathpazo,courier,euler}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    17
\usepackage[scaled=.95]{helvet}
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
    18
\usepackage{amsmath}
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    19
\begin{document}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    20
\date{}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    21
\vspace{-1in}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    22
\begin{center}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    23
\LARGE{Solving Equations \& ODEs}\\
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    24
\large{FOSSEE}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    25
\end{center}
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    26
\section{Solving linear equations}
340
347ff2714deb Minor edits to correct spellings.
Santosh G. Vattam <vattam.santosh@gmail.com>
parents: 328
diff changeset
    27
Consider following sets of equations:\\
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    28
  \begin{align*}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    29
    3x + 2y - z  & = 1 \\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    30
    2x - 2y + 4z  & = -2 \\
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
    31
    -x + \frac{1}{2}y -z & = 0
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    32
  \end{align*}\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    33
The matrix representation is:\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    34
\begin{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    35
$A*x = B$
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    36
\end{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    37
Where A is coefficient matrix(in this case 3x3)\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    38
B is constant matrix(1x3)\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    39
x is the required solution.\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    40
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    41
In []: A = array([[3,2,-1], [2,-2,4], [-1, 0.5, -1]])
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    42
In []: B = array([[1], [-2], [0]])
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    43
In []: x = solve(A, B)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    44
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    45
Solve the equation $A x = B$ for $x$.\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    46
To check whether solution is correct try this:
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    47
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    48
In []: Ax = dot(A,x)  #Matrix multiplication of A and x(LHS)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    49
In []: allclose(Ax, B)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    50
Out[]: True
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    51
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    52
\typ{allclose} Returns \typ{True} if two arrays(in above case Ax and B) are element-wise equal within a tolerance. 
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    53
\newpage
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
    54
\section{Finding roots}
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    55
\subsection{Polynomials}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    56
\begin{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    57
  $x^2+6x+13=0$
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    58
\end{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    59
to find roots, pylab provides \typ{roots} function.
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    60
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    61
In []: coeffs = [1, 6, 13] #list of all coefficients
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    62
In []: roots(coeffs)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    63
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    64
\subsection{functions}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    65
Functions can be defined and used by following syntax:
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    66
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    67
def func_name(arg1, arg2):
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    68
    #function code
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    69
    return ret_value
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    70
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    71
A simple example can be
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    72
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    73
def expression(x):
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    74
    y = x*sin(x)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    75
    return y
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    76
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    77
Above function when called with a argument, will return $xsin(x)$ value for that argument.
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    78
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    79
In [95]: expression(pi/2)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    80
Out[95]: 1.5707963267948966
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    81
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    82
In [96]: expression(pi/3)
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    83
Out[96]: 0.90689968211710881
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    84
\end{lstlisting}
330
46533051b9d3 commited changes made for scipy and cheatsheats.
Shantanu <shantanu@fossee.in>
parents: 328
diff changeset
    85
\subsection{Roots of non-linear equations}
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    86
For Finding the roots of a non linear equation(defined as $f(x)=0$), around a starting estimate we use \typ{fsolve}:\\
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    87
\typ{In []: from scipy.optimize import fsolve}\\
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
    88
\typ{fsolve} is not a part of \typ{pylab}, instead is a function in the \textbf{optimize} module of \textbf{scipy}, and hence we \textbf{import} it.\\
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    89
%\typ{fsolve} takes first argument as name of function, which evaluates $f(x)$, whose roots one wants to find. And second argument is starting estimate, around which roots are found.
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    90
For illustration, we want to find roots of equation:
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    91
\begin{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    92
  $f(x)=sin(x)+cos(x)^2$
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    93
\end{center}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    94
So just like we did above, we define a function:
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    95
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    96
In []: def f(x):
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    97
   ....:        return sin(x)+cos(x)**2
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    98
   ....: 
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
    99
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   100
Now to find roots of this non linear equation, around a initial estimate value, say 0, we use \typ{fsolve} in following way:
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   101
\begin{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   102
In []: fsolve(f, 0) #arguments are function name and estimate
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   103
Out[]: -0.66623943249251527
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   104
\end{lstlisting}
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   105
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   106
\section{ODE}
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   107
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   108
We wish to solve an (a system of) Ordinary Differential Equation. For this purpose, we shall use \typ{odeint}.\\
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   109
\typ{In []: from scipy.integrate import odeint}\\
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   110
\typ{odeint} is a function in the \textbf{integrate} module of \textbf{scipy}.\\
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   111
As an illustration, let us solve the ODE below:\\
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   112
$\frac{dy}{dt} = ky(L-y)$, L = 25000, k = 0.00003, y(0) = 250\\
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   113
We define a function (as below) that takes $y$ and time as arguments and returns the right hand side of the ODE.
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   114
\begin{lstlisting}
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   115
In []: def f(y, t):
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   116
  ....     k, L = 0.00003, 25000
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   117
  ....     return k*y*(L-y)
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   118
  ....
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   119
\end{lstlisting}
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   120
Next we define the time over which we wish to solve the ODE. We also note the initial conditions given to us.
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   121
\begin{lstlisting}
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   122
In []: t = linspace(0, 12, 61)
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   123
In []: y0 = 250
317
0eca6c542fce Modified cheat sheet of session 1 and session 6 day 1.
Shantanu <shantanu@fossee.in>
parents: 295
diff changeset
   124
\end{lstlisting}
323
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   125
To solve the ODE, we call the \typ{odeint} function with three arguments - the function \typ{f}, initial conditions and the time vector. 
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   126
\begin{lstlisting}
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   127
In []: y = odeint(f, y0, t)
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   128
\end{lstlisting}
4e44d7741c94 Added ODE section to cheatsheet6, day1.
Puneeth Chaganti <punchagan@fossee.in>
parents: 317
diff changeset
   129
Note: To solve a system of ODEs, we need to change the function to return the right hand side of all the equations and the system and the pass the required number of initial conditions to the \typ{odeint} function.
321
8bf99f747817 Modified cheat sheet of session 1 day 2.
Shantanu <shantanu@fossee.in>
parents: 317
diff changeset
   130
\section{Links and References}
8bf99f747817 Modified cheat sheet of session 1 day 2.
Shantanu <shantanu@fossee.in>
parents: 317
diff changeset
   131
\begin{itemize}
328
4075482a9770 Minor edits to remove errors.
Santosh G. Vattam <vattam.santosh@gmail.com>
parents: 324
diff changeset
   132
\item Documentation for Numpy and Scipy is available at:\\ http://docs.scipy.org/doc/
4075482a9770 Minor edits to remove errors.
Santosh G. Vattam <vattam.santosh@gmail.com>
parents: 324
diff changeset
   133
  \item For "recipes" or worked examples of commonly-done tasks in SciPy explore: \\ http://www.scipy.org/Cookbook/
321
8bf99f747817 Modified cheat sheet of session 1 day 2.
Shantanu <shantanu@fossee.in>
parents: 317
diff changeset
   134
\end{itemize}
295
39d7c4e14585 Added all day 1 cheatsheets.
Madhusudan.C.S <madhusudancs@gmail.com>
parents:
diff changeset
   135
\end{document}