diff -r 25b18b51be41 -r 2214b5dba4d4 day1quiz2.tex --- a/day1quiz2.tex Tue Dec 29 19:02:01 2009 +0530 +++ b/day1quiz2.tex Tue Dec 29 19:25:11 2009 +0530 @@ -35,12 +35,13 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Title page -\title[Basic Python]{Python: Quiz} +\title[Basic Python]{Python for science and engineering: Day 1, Quiz 2} \author[FOSSEE Team] {FOSSEE} \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} -\date[] {11, October 2009\\Day 2} +\date[] {\today \\ +Day 1, quiz 2} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -54,125 +55,243 @@ \frametitle{Write your details...} On the top right hand corner please write down the following: \begin{itemize} - \item Name: - \item Affliation: - \item Occupation: + \item Name: + \item University/College/Company: + \item Student/Teacher/Professional: \end{itemize} \end{frame} +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% \begin{lstlisting} +%% In []: x = array([[1,2,3,4], +%% [3,4,2,5]]) +%% \end{lstlisting} +%% What is the \lstinline+shape+ of this array? +%% \end{frame} + + +\begin{frame}[fragile] +\frametitle{\incqno } +\begin{lstlisting} + In []: x = array([[1,2,3,4]]) +\end{lstlisting} +How to change the third element (i.e.\ 3) of \lstinline+x+ to 0? +\end{frame} + \begin{frame}[fragile] \frametitle{\incqno } \begin{lstlisting} - >>> x = array([[1,2,3,4],[3,4,2,5]]) - >>> x.shape - (2, 4) + In []: x = array([[1,2,3,4], + [3,4,2,5]]) +\end{lstlisting} +How do you get the following slice of \lstinline+x+? +\begin{lstlisting} +array([[2,3], + [4,2]]) \end{lstlisting} -Change the shape of \lstinline+x+ to (4,2) \end{frame} + +%% \begin{frame} +%% \frametitle{\incqno } +%% The file \lstinline+datafile.txt+ contains 3 columns of data. What +%% command will you use to read the entire data file into an array? +%% \end{frame} + +%% \begin{frame} +%% \frametitle{\incqno } + +%% If the contents of the file \lstinline+datafile.txt+ is read into an +%% $N\times3$ array called \lstinline+data+, how would you obtain the third +%% column of this data? + +%% \end{frame} + \begin{frame}[fragile] \frametitle{\incqno } \begin{lstlisting} - >>> x = array([[1,2,3,4]]) + In []: x = array(([1,2,3,4], + [2,3,4,5])) + In []: x[-2][-3] = 4 + In []: print x \end{lstlisting} -How to change the third element of \lstinline+x+ to 0? +What will be printed? \end{frame} -\begin{frame}[fragile] + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% \begin{lstlisting} +%% In []: x = arange(0, 1, 0.25) +%% In []: print x +%% \end{lstlisting} +%% What will be printed? +%% \end{frame} + + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% \begin{lstlisting} +%% from scipy.integrate import quad +%% def f(x): +%% res = x*cos(x) + +%% quad(f, 0, 1) +%% \end{lstlisting} + +%% What changes will you make to the above code to make it work? +%% \end{frame} + +%% \begin{frame} +%% \frametitle{\incqno } +%% What two commands will you use to create and evaluate a spline given +%% some data? +%% \end{frame} + +\begin{frame} \frametitle{\incqno } -What would be the result? -\begin{lstlisting} - >>> y = arange(3) - >>> x = linspace(0,3,3) - >>> x-y -\end{lstlisting} +What command will you use if you wish to integrate a system of ODEs? +\end{frame} + +\begin{frame} +\frametitle{\incqno } +How do you calculate the roots of the polynomial, $y = 1 + 6x + 8x^2 + +x^3$? +\end{frame} + +\begin{frame} +\frametitle{\incqno } + +Two arrays \lstinline+a+ and \lstinline+b+ are numerically almost equal, what command +do you use to check if this is true? + \end{frame} \begin{frame}[fragile] \frametitle{\incqno } \begin{lstlisting} - >>> x = array([0, 1, 2, 3]) - >>> x.shape = 2,2 - >>> x - array([[0, 1], - [2, 3]]) - >>> x[::2,::2] +In []: marks = [10, 20, 30, 50, 55, + 75, 83] \end{lstlisting} -What is the output? +How will you convert the list \texttt{marks} to an \alert{array}? \end{frame} \begin{frame}[fragile] \frametitle{\incqno } -What would be the result? \begin{lstlisting} - >>> x - array([[0, 1, 2], - [3, 4, 5], - [6, 7, 8]]) - >>> x[::-1,:] +In []: a = array([[1, 2], + [3, 4]]) +In []: a[1,0] = 0 \end{lstlisting} -Hint: +What is the resulting matrix? +\end{frame} + +\begin{frame}[fragile] +\frametitle{\incqno } \begin{lstlisting} - >>> x = arange(9) - >>> x[::-1] - array([8, 7, 6, 5, 4, 3, 2, 1, 0]) +In []: a = array([[1, 2], + [3, 4]]) \end{lstlisting} +How do you get the transpose of this array? \end{frame} \begin{frame}[fragile] \frametitle{\incqno } \begin{lstlisting} - >>> x - array([[ 0, 1, 2, 3], - [ 4, 5, 6, 7], - [ 8, 9, 10, 11], - [12, 13, 14, 15]]) -\end{lstlisting} -How will you get the following \lstinline+x+? -\begin{lstlisting} - array([[ 5, 7], - [ 9, 11]]) +In []: a = array([[1, 2], + [3, 4]]) +In []: b = array([[1, 1], + [2, 2]]) +In []: a*b \end{lstlisting} -\end{frame} - -\begin{frame}[fragile] -\frametitle{\incqno } -\begin{lstlisting} - >>> x = array(([1,2,3,4],[2,3,4,5])) - >>> x[-2][-3] = 4 - >>> x -\end{lstlisting} -What will be printed? +What does this produce? \end{frame} -\begin{frame}[fragile] +\begin{frame} \frametitle{\incqno } -What would be the output? -\begin{lstlisting} - >>> y = arange(4) - >>> x = array(([1,2,3,2],[1,3,6,0])) - >>> x + y -\end{lstlisting} +What command do you use to find the inverse of a matrix and its +eigenvalues? \end{frame} -\begin{frame}[fragile] +\begin{frame} \frametitle{\incqno } -\begin{lstlisting} - >>> line = plot(x, sin(x)) -\end{lstlisting} -Use the \lstinline+set_linewidth+ method to set width of \lstinline+line+ to 2. +Given a 4x4 matrix \texttt{A} and a 4-vector \texttt{b}, what command do +you use to solve for the equation \\ +\texttt{Ax = b}? \end{frame} -\begin{frame}[fragile] -\frametitle{\incqno } -What would be the output? -\begin{lstlisting} - >>> x = arange(9) - >>> y = arange(9.) - >>> x == y -\end{lstlisting} -\end{frame} - - \end{document} +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% What would be the result? +%% \begin{lstlisting} +%% In []: x +%% array([[0, 1, 2], +%% [3, 4, 5], +%% [6, 7, 8]]) +%% In []: x[::-1,:] +%% \end{lstlisting} +%% Hint: +%% \begin{lstlisting} +%% In []: x = arange(9) +%% In []: x[::-1] +%% array([8, 7, 6, 5, 4, 3, 2, 1, 0]) +%% \end{lstlisting} +%% \end{frame} + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% What would be the result? +%% \begin{lstlisting} +%% In []: y = arange(3) +%% In []: x = linspace(0,3,3) +%% In []: x-y +%% \end{lstlisting} +%% \end{frame} + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% \begin{lstlisting} +%% In []: x +%% array([[ 0, 1, 2, 3], +%% [ 4, 5, 6, 7], +%% [ 8, 9, 10, 11], +%% [12, 13, 14, 15]]) +%% \end{lstlisting} +%% How will you get the following \lstinline+x+? +%% \begin{lstlisting} +%% array([[ 5, 7], +%% [ 9, 11]]) +%% \end{lstlisting} +%% \end{frame} + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% What would be the output? +%% \begin{lstlisting} +%% In []: y = arange(4) +%% In []: x = array(([1,2,3,2],[1,3,6,0])) +%% In []: x + y +%% \end{lstlisting} +%% \end{frame} + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% \begin{lstlisting} +%% In []: line = plot(x, sin(x)) +%% \end{lstlisting} +%% Use the \lstinline+set_linewidth+ method to set width of \lstinline+line+ to 2. +%% \end{frame} + +%% \begin{frame}[fragile] +%% \frametitle{\incqno } +%% What would be the output? +%% \begin{lstlisting} +%% In []: x = arange(9) +%% In []: y = arange(9.) +%% In []: x == y +%% \end{lstlisting} +%% \end{frame} +