commited changes made for scipy and cheatsheats.
authorShantanu <shantanu@fossee.in>
Tue, 22 Dec 2009 14:10:37 +0530
changeset 330 46533051b9d3
parent 329 0a6ab1d81491
child 331 c1bfec797af6
commited changes made for scipy and cheatsheats.
day1/cheatsheet1.tex
day1/cheatsheet2.tex
day1/cheatsheet3.tex
day1/cheatsheet4.tex
day1/cheatsheet6.tex
day1/exercises.tex
day1/session1.tex
day1/session2.tex
day1/session3.tex
day1/session4.tex
day1/session6.tex
day2/cheatsheet1.tex
day2/cheatsheet2.tex
day2/cheatsheet3.tex
day2/exercises.tex
day2/session1.tex
day2/session2.tex
day2/session3.tex
day2/session4.tex
day2/session5.tex
--- a/day1/cheatsheet1.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/cheatsheet1.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -44,7 +44,7 @@
 
 \subsection{plot}
 \typ{In []: plot(X, Y)}\\
-For given arrays of equal length(above case X and Y), \typ{plot} plots the correspoding *x* and *y* pairs taken from X and Y.
+For given arrays of equal length(above case X and Y), \typ{plot} plots the corresponding *x* and *y* pairs taken from X and Y.
 
 \subsection{Colors of plots}
 \typ{In []: plot(y, sin(y), 'g')}\\
@@ -65,7 +65,7 @@
 \subsection{label and title}
 \typ{In []: xlabel('Length') #sets *x* axis label to Length}\\ 
 \typ{In []: ylabel('Time') #sets *y* axis label to Time.}\\
-\typ{In []: title('Sinusoids') #sets title of plot}\\
+\typ{In []: title('Sinusoid') #sets title of plot}\\
 \\
 \textbf{Additionally}\\
 Pylab accepts TeX equation expressions in any text expression. To get something like:\\
@@ -78,7 +78,7 @@
 
 \subsection{legends}
 \typ{In []: legend('sin(x)',loc=center)} \\
-Placec a legend on the current plot at location *loc*.\\
+Place a legend on the current plot at location *loc*.\\
 Apart from \typ{center}, some other \typ{loc} which can be specified are:
 \begin{lstlisting}
 'best'
--- a/day1/cheatsheet2.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/cheatsheet2.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -29,7 +29,7 @@
 \section{Plotting Points with Lists}
 
 \begin{lstlisting}
-In []: x = [0, 1, 2, 3]
+In []: x = [0, 1, 2, 3] # Creating a list
 In []: y = [7, 11, 15, 19]
 In []: plot(x, y)
 In []: clf()
--- a/day1/cheatsheet3.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/cheatsheet3.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -69,7 +69,7 @@
 \begin{lstlisting}
 In []: pie(science.values(), labels=science.keys())
 \end{lstlisting}
-Numpy Arrays
+Arrays
 \begin{lstlisting}
 In []: a = array([1, 2, 3]) #Creating
 In []: b = array([4, 5, 6])
@@ -77,7 +77,7 @@
 \end{lstlisting}
 Numpy statistical operations 
 \begin{lstlisting}
-In []: mean(math_scores)
+In []: mean(math_scores) 
 In []: median(math_scores)
 In []: std(math_scores)
 \end{lstlisting}
--- a/day1/cheatsheet4.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/cheatsheet4.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -28,7 +28,7 @@
 Matrix Creation\\
 \typ{In []: C = array([[1,1,2], [2,4,1], [-1,3,7]])}\\
 It creates C matrix of shape 3x3\\
-Shape is dimenions of given array.
+Shape is dimensions of given array.
 \begin{lstlisting}
 In []: C.shape 
 Out[]: (3, 3)
@@ -38,7 +38,7 @@
 \typ{In []: B = ones_like(C)} \\
 B would be array of ones with the same shape and type as C.\\
 \typ{In []: A = ones((3,2))} \\
-A would be new array of given shape(arguments), filled with ones.\\ 
+A would be new matrix of given shape(arguments), filled with ones.\\ 
 \typ{In []: I = identity(3)}\\
 I would be identity matrix of shape 3x3
 
@@ -77,7 +77,7 @@
 \end{lstlisting}
 
 \subsection{Slicing}
-Accessing rows with Matricies is straightforward. But If one wants to access particular Column, or want a sub-matrix, Slicing is the way to go.
+Accessing rows with Matrices is straightforward. But If one wants to access particular Column, or want a sub-matrix, Slicing is the way to go.
 \begin{lstlisting}
 In []: C[:,1]
 Out[]: array([1, 0, 3])
--- a/day1/cheatsheet6.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/cheatsheet6.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -82,7 +82,7 @@
 In [96]: expression(pi/3)
 Out[96]: 0.90689968211710881
 \end{lstlisting}
-\subsection{Roots of non-linear eqations}
+\subsection{Roots of non-linear equations}
 For Finding the roots of a non linear equation(defined as $f(x)=0$), around a starting estimate we use \typ{fsolve}:\\
 \typ{In []: from scipy.optimize import fsolve}\\
 \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.\\
--- a/day1/exercises.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/exercises.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {7 November, 2009\\Day 1, Session 5}
+\date[] {14 December, 2009\\Day 1, Session 5}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
--- a/day1/session1.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/session1.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -77,7 +77,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {7 November, 2009\\Day 1, Session 1}
+\date[] {14 December, 2009\\Day 1, Session 1}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -125,28 +125,28 @@
 \begin{frame}
   \frametitle{Workshop Schedule: Day 1}
   \begin{description}
-	\item[Session 1] Sat 09:00--10:00
-	\item[Session 2] Sat 10:05--11:05
-	\item[Session 3] Sat 11:20--12:20
-	\item[Session 4] Sat 12:25--13:25
-        \item[Quiz 1] Sat 14:25--14:40
-        \item[Session 5] Sat 14:40--15:25
-        \item[Session 6] Sat 15:40--16:40
-        \item[Quiz 2] Sat 16:45--17:00
+	\item[Session 1] Mon 09:00--10:00
+	\item[Session 2] Mon 10:05--11:05
+	\item[Session 3] Mon 11:20--12:20
+	\item[Session 4] Mon 12:25--13:25
+        \item[Quiz 1] Mon 14:25--14:40
+        \item[Exercises] Mon 14:40--15:25
+        \item[Session 5] Mon 15:40--16:40
+        \item[Quiz 2] Mon 16:45--17:00
   \end{description}
 \end{frame}
 
 \begin{frame}
   \frametitle{Workshop Schedule: Day 2}
   \begin{description}
-	\item[Session 1] Sun 09:00--10:00
-	\item[Session 2] Sun 10:05--11:05
-	\item[Session 3] Sun 11:20--12:20
-	\item[Session 4] Sun 12:25--13:25
-        \item[Quiz 1] Sun 14:25--14:40
-        \item[Session 5] Sun 14:40--15:25
-        \item[Session 6] Sun 15:40--16:40
-        \item[Quiz 2] Sun 16:45--17:00
+	\item[Session 1] Tue 09:00--10:00
+	\item[Session 2] Tue 10:05--11:05
+	\item[Session 3] Tue 11:20--12:20
+	\item[Session 4] Tue 12:25--13:25
+        \item[Quiz 1]  Tue 14:25--14:40
+        \item[Exercises] Tue 14:40--15:25
+        \item[Session 5] Tue 15:40--16:40
+        \item[Quiz 2]  Tue 16:45--17:00
   \end{description}
 \end{frame}
 
@@ -189,7 +189,6 @@
     \item Images
       \begin{itemize}
       \item \typ{lena.png}
-      \item \typ{smoothing.gif}
       \end{itemize}
   \end{enumerate}
 \end{frame}
@@ -197,9 +196,9 @@
 \begin{frame}[fragile]
 \frametitle{Starting up \ldots}
 \begin{block}{}
-\begin{verbatim}
+\begin{lstlisting}
   $ ipython -pylab  
-\end{verbatim}
+\end{lstlisting} %$
 \end{block}
 \begin{lstlisting}     
   In []: print "Hello, World!"
--- a/day1/session2.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/session2.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {7 November, 2009\\Day 1, Session 2}
+\date[] {14 December, 2009\\Day 1, Session 2}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -418,12 +418,12 @@
   \end{lstlisting}
 This is what happens with \typ{line}
   \begin{lstlisting}
-In []: line = '1.2000e-01 7.4252e-01'
+In []: line = '1.20 7.42'
 
 In []: point = line.split()
 
 In []: point
-Out[]: ['1.2000e-01', '7.4252e-01']
+Out[]: ['1.20', '7.42']
   \end{lstlisting}
 \end{frame}
 
--- a/day1/session3.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/session3.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -79,7 +79,7 @@
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
 
-\date[] {7 November, 2009\\Day 1, Session 3}
+\date[] {14 December, 2009\\Day 1, Session 3}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
--- a/day1/session4.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/session4.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -79,7 +79,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {7 November, 2009\\Day 1, Session 4}
+\date[] {14 December, 2009\\Day 1, Session 4}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -287,8 +287,6 @@
 In []: imshow(a)
 Out[]: <matplotlib.image.AxesImage object at 0xa0384cc>
 
-In []: a.shape 
-Out[]: (512, 512, 4)
   \end{lstlisting}
 \end{small}
   \begin{itemize}
@@ -317,6 +315,11 @@
 \begin{frame}[fragile]
 \frametitle{Transpose of a Matrix}
 \begin{lstlisting}
+In []: a = array([[ 1,  1,  2, -1],
+  ...:            [ 2,  5, -1, -9],
+  ...:            [ 2,  1, -1,  3],
+  ...:            [ 1, -3,  2,  7]])
+
 In []: a.T
 Out[]:
 array([[ 1,  2,  2,  1],
--- a/day1/session6.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day1/session6.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {7 November, 2009\\Day 1, Session 6}
+\date[] {14 December, 2009\\Day 1, Session 6}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -150,7 +150,6 @@
                       [-1, 0.5, -1]])
     In []: b = array([[1], [-2], [0]])
     In []: x = solve(A, b)
-    In []: Ax = dot(A,x)
   \end{lstlisting}
 \end{frame}
 
@@ -168,6 +167,7 @@
 \begin{frame}[fragile]
 \frametitle{Let's check!}
 \begin{lstlisting}
+In []: Ax = dot(A,x)
 In []: Ax
 Out[]: 
 array([[  1.00000000e+00],
@@ -318,6 +318,7 @@
 \item Define a function as below
 \end{itemize}
 \begin{lstlisting}
+In []: from scipy.integrate import odeint
 In []: def epid(y, t):
   ....     k, L = 0.00003, 25000
   ....     return k*y*(L-y)
@@ -338,6 +339,14 @@
 \end{frame}
 
 \begin{frame}[fragile]
+\frametitle{Result}
+\begin{center}
+\includegraphics[height=2in, interpolate=true]{data/image}  
+\end{center}
+\end{frame}
+
+
+\begin{frame}[fragile]
 \frametitle{ODEs - Simple Pendulum}
 We shall use the simple ODE of a simple pendulum. 
 \begin{equation*}
@@ -392,6 +401,12 @@
 \end{lstlisting}
 \end{frame}
 
+\begin{frame}[fragile]
+\frametitle{Result}
+\begin{center}
+\includegraphics[height=2in, interpolate=true]{data/ode}  
+\end{center}
+\end{frame}
 
 \begin{frame}
   \frametitle{Things we have learned}
--- a/day2/cheatsheet1.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/cheatsheet1.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -108,7 +108,7 @@
 In []: 'x is %s, y is %s' %(x, y)
 Out[]: 'x is 1, y is 1.234'
   \end{lstlisting}
-\textbf{Note:} \typ{\%s} used in above fomatting specifies \typ{'str'} representation of variables. One can also try:\\
+\textbf{Note:} \typ{\%s} used in above formatting specifies \typ{'str'} representation of variables. One can also try:\\
 \typ{\%d} for \typ{int} representation\\
 \typ{\%f} for \typ{float} representation
 \begin{lstlisting}
--- a/day2/cheatsheet2.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/cheatsheet2.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -193,7 +193,7 @@
 \begin{lstlisting}
 In []: t = (1, 2, 3, 4, 5, 6, 7, 8) 
 \end{lstlisting}
-\textbf{Note:} For tupels we use parantheses in place of square brackets, rest is same as lists.
+\textbf{Note:} For tuples we use parentheses in place of square brackets, rest is same as lists.
 \begin{lstlisting}
 In []: t[0] + t[3] + t[-1] # elements are accessed via indices
 Out[]: 13
--- a/day2/cheatsheet3.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/cheatsheet3.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -50,7 +50,7 @@
 Out[]: -1
 In []: signum() # ERROR signum() takes exactly 1 argument(0 given)
 \end{lstlisting}
-\textbf{Note:} Arguments passed to a function are passed by-value \textbf{only if} they are basic Python data type(int, float). In case one passes immutable types(String, tupels), they cant be modified in the function, but objects like \typ{list} and dictionary can be manipulated.
+\textbf{Note:} Arguments passed to a function are passed by-value \textbf{only if} they are basic Python data type(int, float). In case one passes immutable types(String, tuples), they cant be modified in the function, but objects like \typ{list} and dictionary can be manipulated.
 \subsection{Default Arguments}
 This feature allow the functions to take the arguments optionally. For example:
 \begin{lstlisting}
@@ -80,12 +80,12 @@
 Hi Guido
 \end{lstlisting}
 \subsection{Keyword Arguments}
-This feature provides the facility of passing arguments by specifying the name of the parameter as defined in the function definition. You dont have to remember the order of the parameters in function definition. For example:
+This feature provides the facility of passing arguments by specifying the name of the parameter as defined in the function definition. You don't have to remember the order of the parameters in function definition. For example:
 \begin{lstlisting}
 In []: plot(y, sin(y), 'g', linewidth=2)
 In []: plot(y, cos(y), linewidth=1, color='g')
 \end{lstlisting}
-Both call to \typ{plot} function will work and paramenters are set accordingly.\\
+Both call to \typ{plot} function will work and parameters are set accordingly.\\
 One can define a function such that keyword arguments can be used in following way:
 \begin{lstlisting}
 def wish(name='World', greetings='Hello'):
@@ -97,8 +97,8 @@
 Hello World
 In [14]: wish(greetings='hey', name='madhu')
 hey madhu
-In [15]: wish(name='vattam', greetings = 'get lost')
-get lost vattam
+In [15]: wish(name='vattam', greetings = 'bye bye')
+bye bye vattam
 \end{lstlisting}
 % sorry Vattam just a joke :P
 \section{Self contained python script}
@@ -130,13 +130,13 @@
 \begin{lstlisting}
 In []: a = str() # initializing a string object.
 In []: b = "Hello World"
-In []: b.split() # calling funciton on object 'b'
+In []: b.split() # calling function on object 'b'
 Out[]: ['Hello', 'World']
 \end{lstlisting}
 ``.'' is a operator used to call functions defined for given object.
 \section{Links and References}
 \begin{itemize}
-\item Some of inbult functions available with Python are listed at\\ \url{http://docs.python.org/library/functions.html}
+\item Some of inbuilt functions available with Python are listed at\\ \url{http://docs.python.org/library/functions.html}
 \item Reference manual to describe the standard libraries  that are distributed with Python is available at \url{http://docs.python.org/library/} 
 \end{itemize}
 \end{document}
--- a/day2/exercises.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/exercises.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2}
+\date[] {15 December, 2009\\Day 2}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
--- a/day2/session1.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/session1.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -79,7 +79,7 @@
 \author[FOSSEE Team] {The FOSSEE Group}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2, Session 1}
+\date[] {15 December, 2009\\Day 2, Session 1}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
--- a/day2/session2.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/session2.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE Team] {The FOSSEE Group}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2, Session 2}
+\date[] {15 December, 2009\\Day 2, Session 2}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -535,4 +535,4 @@
   \end{itemize}
 \end{frame}
 
-\end{document}
\ No newline at end of file
+\end{document}
--- a/day2/session3.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/session3.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -78,7 +78,7 @@
 \author[FOSSEE Team] {The FOSSEE Group}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2, Session 3}
+\date[] {15 December, 2009\\Day 2, Session 3}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -431,4 +431,4 @@
   \end{itemize}
 \end{frame}
 
-\end{document}
\ No newline at end of file
+\end{document}
--- a/day2/session4.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/session4.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -100,7 +100,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2, Session 4}
+\date[] {15 December, 2009\\Day 2, Session 4}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitblogo}{iitblogo}
@@ -553,4 +553,4 @@
 % %%     \end{block}
 %     
 % %% \inctime{15} 
-% %% \end{frame}
\ No newline at end of file
+% %% \end{frame}
--- a/day2/session5.tex	Tue Dec 08 13:06:14 2009 +0530
+++ b/day2/session5.tex	Tue Dec 22 14:10:37 2009 +0530
@@ -100,7 +100,7 @@
 \author[FOSSEE] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {8 November, 2009\\Day 2, Session 5}
+\date[] {15 December, 2009\\Day 2, Session 5}
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%