--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/basic-data-type/slides.org Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,72 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+#+OPTIONS: H:5 num:t toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+
+#+TITLE: Plotting Data
+#+AUTHOR: FOSSEE
+#+DATE: 2010-09-14 Tue
+#+EMAIL: info@fossee.in
+
+# \author[FOSSEE] {FOSSEE}
+
+# \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+# \date{}
+
+* Tutorial Plan
+** Datatypes in Python
+** Operators in Python
+
+* Numbers
+** Integers
+** Float
+** Complex
+
+* Boolean
+** True
+** False
+
+* Sequence Data types
+** Data in Sequence
+** Accessed using Index
+*** list
+*** String
+*** Tuple
+
+* All are Strings
+
+** k='Single quote'
+** l="Double quote contain's single quote"
+** m='''"Contain's both"'''
+
+* Summary
+** a=73
+** b=3.14
+** c=3+4j
+
+* Summary Contd.
+
+** t=True
+** f=False
+** t and f
+
+* Summary Contd.
+** l= [2,1,4,3]
+** s='hello'
+** tu=(1,2,3,4)
+
+* Summary Contd.
+** tu[-1]
+** s[1:-1]
+
+* Summary Contd.
+
+** Sorted(l)
+** reversed(s)
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plotui/questions.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,51 @@
+Objective Questions
+-------------------
+
+.. A mininum of 8 questions here (along with answers)
+
+1. Create 100 equally spaced points between -pi/2 and pi/2?
+
+ Answer: linspace(-pi/2,pi/2,100)
+
+2. How do you clear a figure in ipython?
+
+ Answer: clf()
+
+3. How do find the length of a sequence?
+
+ Answer: len(sequence_name)
+
+4. Create a plot of x and e^x where x is 100 equally spaced points between 0,pi. Hint: e^x -> exp(x) for ipython
+
+ Answer: x=linspace(0,pi,100)
+ plot(x,exp(x))
+
+5. List four formats in which you can save a plot in ipython?
+
+ Answer: png,eps,pdf,ps
+
+6. List the kind of buttons available in plotui to study the plot better ?
+
+ Zoom button to Zoom In to a region.
+ Pan button to move it around.
+
+7. What are the left and right arrow buttons for?
+
+ Answer: These buttons take you to the states that the plot has been. Much like a browser left and right arrow button.
+
+
+
+8. What is the home button for in the Plot UI?
+
+ Initial State of the plot.
+
+
+
+
+Larger Questions
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+1. Question 1
+2. Question 2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plotui/quickref.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,8 @@
+Creating a linear array:\\
+{\ex \lstinline| x = linspace(0, 2*pi, 50)|}
+
+Plotting two variables:\\
+{\ex \lstinline| plot(x, sin(x))|}
+
+Plotting two lists of equal length x, y:\\
+{\ex \lstinline| plot(x, y)|}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plotui/script.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,182 @@
+Hello and welcome to the tutorial on creating simple plots using
+Python.This tutorial is presented by the Fossee group.
+{{{ Show the Title Slide }}}
+
+I hope you have IPython running on your computer.
+
+In this tutorial we will look at plot command and also how to study
+the plot using the UI.
+
+{{{ Show Outline Slide }}}
+
+Lets start ipython on your shell, type ::
+
+ $ipython -pylab
+
+
+Pylab is a python library which provides plotting functionality.It
+also provides many other important mathematical and scientific
+functions. After running IPython -pylab in your shell if at the top of
+the result of this command, you see something like ::
+
+
+ `ERROR: matplotlib could NOT be imported! Starting normal
+ IPython.`
+
+
+{{{ Slide with Error written on it }}}
+
+Then you have to install matplotlib and run this command again.
+
+Now type in your ipython shell ::
+
+ In[]: linpace?
+
+
+
+as the documentation says, it returns `num` evenly spaced samples,
+calculated over the interval start and stop. To illustrate this, lets
+do it form 1 to 100 and try 100 points. ::
+
+ In[]: linspace(1,100,100)
+
+As you can see a sequence of numbers from 1 to 100 appears.
+
+Now lets try 200 points between 0 and 1 you do this by typing ::
+
+
+ In[]: linspace(0,1,200)
+
+0 for start , 1 for stop and 200 for no of points. In linspace
+the start and stop points can be integers, decimals , or
+constants. Let's try and get 100 points between -pi to pi. Type ::
+
+ In[]: p = linspace(-pi,pi,100)
+
+
+'pi' here is constant defined by pylab. Save this to the variable, p
+.
+
+If you now ::
+
+ In[]: len(p)
+
+You will get the no. of points. len function gives the no of elements
+of a sequence.
+
+
+Let's try and plot a cosine curve between -pi and pi using these
+points. Simply type ::
+
+
+ In[]: plot(p,cos(points))
+
+Here cos(points) gets the cosine value at every corresponding point to
+p.
+
+
+We can also save cos(points) to variable cosine and plot it using
+plot.::
+
+ In[]: cosine=cos(points)
+
+ In[]: plot(p,cosine)
+
+
+
+Now do ::
+
+ In[]: clf()
+
+this will clear the plot.
+
+This is done because any other plot we try to make shall come on the
+same drawing area. As we do not wish to clutter the area with
+overlaid plots , we just clear it with clf(). Now lets try a sine
+plot. ::
+
+
+ In []: plot(p,sin(p))
+
+
+
+
+The Window on which the plot appears can be used to study it better.
+
+First of all moving the mouse around gives us the point where mouse
+points at.
+
+Also we have some buttons the right most among them is
+for saving the file.
+
+Just click on it specifying the name of the file. We will save the plot
+by the name sin_curve in pdf format.
+
+
+
+{{{ Action corelating with the words }}}
+
+As you can see I can specify format of file from the dropdown.
+
+Formats like png ,eps ,pdf, ps are available.
+
+Left to the save button is the slider button to specify the margins.
+
+{{{ Action corelating with the words }}}
+
+Left to this is zoom button to zoom into the plot. Just specify the
+region to zoom into.
+The button left to it can be used to move the axes of the plot.
+
+{{{ Action corelating with the words }}}
+
+The next two buttons with a left and right arrow icons change the state of the
+plot and take it to the previous state it was in. It more or less acts like a
+back and forward button in the browser.
+
+{{{ Action corelating with the words }}}
+
+The last one is 'home' referring to the initial plot.
+
+{{{ Action corelating with the words}}}
+
+
+
+{{{ Summary Slide }}}
+
+
+In this tutorial we have looked at
+
+1. Starting Ipython with pylab
+
+2. Using linspace function to create `num` equaly spaced points in a region.
+
+3. Finding length of sequnces using len.
+
+4. Plotting mathematical functions using plot.
+
+4. Clearing drawing area using clf
+
+5. Using the UI of plot for studying it better . Using functionalities like save , zoom , moving the plots on x and y axis
+
+etc ..
+
+
+
+{{{ Show the "sponsored by FOSSEE" slide }}}
+
+
+
+This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
+
+
+
+ Hope you have enjoyed and found it useful.
+
+ Thankyou
+
+
+
+Author : Amit Sethi
+Internal Reviewer :
+Internal Reviewer 2 :
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plotui/slides.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,106 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Tutorial slides on Python.
+%
+% Author: FOSSEE
+% Copyright (c) 2009, FOSSEE, IIT Bombay
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[14pt,compress]{beamer}
+%\documentclass[draft]{beamer}
+%\documentclass[compress,handout]{beamer}
+%\usepackage{pgfpages}
+%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
+
+% Modified from: generic-ornate-15min-45min.de.tex
+\mode<presentation>
+{
+ \usetheme{Warsaw}
+ \useoutertheme{infolines}
+ \setbeamercovered{transparent}
+}
+
+\usepackage[english]{babel}
+\usepackage[latin1]{inputenc}
+%\usepackage{times}
+\usepackage[T1]{fontenc}
+
+\usepackage{ae,aecompl}
+\usepackage{mathpazo,courier,euler}
+\usepackage[scaled=.95]{helvet}
+
+\definecolor{darkgreen}{rgb}{0,0.5,0}
+
+\usepackage{listings}
+\lstset{language=Python,
+ basicstyle=\ttfamily\bfseries,
+ commentstyle=\color{red}\itshape,
+ stringstyle=\color{darkgreen},
+ showstringspaces=false,
+ keywordstyle=\color{blue}\bfseries}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Macros
+\setbeamercolor{emphbar}{bg=blue!20, fg=black}
+\newcommand{\emphbar}[1]
+{\begin{beamercolorbox}[rounded=true]{emphbar}
+ {#1}
+ \end{beamercolorbox}
+}
+\newcounter{time}
+\setcounter{time}{0}
+\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
+
+\newcommand{\typ}[1]{\lstinline{#1}}
+
+\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} }
+
+% Title page
+\title{Your Title Here}
+
+\author[FOSSEE] {FOSSEE}
+
+\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+\date{}
+
+% DOCUMENT STARTS
+\begin{document}
+
+\begin{frame}
+ \maketitle
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Outline}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% All other slides here. %%
+%% The same slides will be used in a classroom setting. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[fragile]
+ \frametitle{Summary}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Thank you!}
+ \begin{block}{}
+ \begin{center}
+ This spoken tutorial has been produced by the
+ \textcolor{blue}{FOSSEE} team, which is funded by the
+ \end{center}
+ \begin{center}
+ \textcolor{blue}{National Mission on Education through \\
+ Information \& Communication Technology \\
+ MHRD, Govt. of India}.
+ \end{center}
+ \end{block}
+\end{frame}
+
+\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/statistics/questions.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,54 @@
+Objective Questions
+-------------------
+
+.. A mininum of 8 questions here (along with answers)
+
+1. What is the function for calculating sum of a list?
+
+ sum
+
+2. Calcutate the mean of the given list?
+
+ student_marks=[74,78,56,87,91,82]
+
+ mean(student_marks)
+
+
+3. Given a two dimensional list,::
+ two_dimensional_list=[[3,5,8,2,1],[4,3,6,2,1]]
+
+ how do we calculate the mean of each row?
+
+
+ mean(two_dimensinal_list,1)
+
+4. What is the function for calculating standard deviation of a list?
+
+ std
+
+5. Calcutate the median of the given list?
+
+ student_marks=[74,78,56,87,91,82]
+
+ median(age_list)
+
+6. How do you calculate median along the columns of two dimensional array?
+
+ median(two_dimensional_list,0)
+
+
+7. What is the name of the function to load text from an external file?
+
+ loadtxt
+
+8. I have a file with 6 columns but I wish to load only text in column 2,3,4,5. How do I specify that?
+
+ Using the parameter usecols=(2,3,4,5)
+
+Larger Questions
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+1. Question 1
+2. Question 2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/statistics/quickref.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,8 @@
+Creating a linear array:\\
+{\ex \lstinline| x = linspace(0, 2*pi, 50)|}
+
+Plotting two variables:\\
+{\ex \lstinline| plot(x, sin(x))|}
+
+Plotting two lists of equal length x, y:\\
+{\ex \lstinline| plot(x, y)|}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/statistics/script.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,174 @@
+Hello friends and welcome to the tutorial on statistics using Python
+
+{{{ Show the slide containing title }}}
+
+{{{ Show the slide containing the outline slide }}}
+
+In this tutorial, we shall learn
+ * Doing simple statistical operations in Python
+ * Applying these to real world problems
+
+You will need Ipython with pylab running on your computer
+to use this tutorial.
+
+Also you will need to know about loading data using loadtxt to be
+able to follow the real world application.
+
+We will first start with the most necessary statistical
+operation i.e finding mean.
+
+We have a list of ages of a random group of people ::
+
+ age_list=[4,45,23,34,34,38,65,42,32,7]
+
+One way of getting the mean could be getting sum of
+all the elements and dividing by length of the list.::
+
+ sum_age_list =sum(age_list)
+
+sum function gives us the sum of the elements.::
+
+ mean_using_sum=float(sum_age_list)/len(age_list)
+
+This obviously gives the mean age but python has another
+method for getting the mean. This is the mean function::
+
+ mean(age_list)
+
+Mean can be used in more ways in case of 2 dimensional lists.
+Take a two dimensional list ::
+
+ two_dimension=[[1,5,6,8],[1,3,4,5]]
+
+the mean function used in default manner will give the mean of the
+flattened sequence. Flattened sequence means the two lists taken
+as if it was a single list of elements ::
+
+ mean(two_dimension)
+ flattened_seq=[1,5,6,8,1,3,4,5]
+ mean(flattened_seq)
+
+As you can see both the results are same. The other way is mean
+of each column.::
+
+ mean(two_dimension,0)
+ array([ 1. , 4. , 5. , 6.5])
+
+we pass an extra argument 0 in that case.
+
+In case of getting mean along the rows the argument is 1::
+
+ mean(two_dimension,1)
+ array([ 5. , 3.25])
+
+We can see more option of mean using ::
+
+ mean?
+
+Similarly we can calculate median and stanard deviation of a list
+using the functions median and std::
+
+ median(age_list)
+ std(age_list)
+
+Median and std can also be calculated for two dimensional arrays along columns and rows just like mean.
+
+ For example ::
+
+ median(two_dimension,0)
+ std(two_dimension,1)
+
+This gives us the median along the colums and standard devition along the rows.
+
+Now lets apply this to a real world example
+
+We will a data file that is at the a path
+``/home/fossee/sslc2.txt``.It contains record of students and their
+performance in one of the State Secondary Board Examination. It has
+180, 000 lines of record. We are going to read it and process this
+data. We can see the content of file by double clicking on it. It
+might take some time to open since it is quite a large file. Please
+don't edit the data. This file has a particular structure.
+
+We can do ::
+
+ cat /home/fossee/sslc2.txt
+
+to check the contents of the file.
+
+Each line in the file is a set of 11 fields separated
+by semi-colons Consider a sample line from this file.
+A;015163;JOSEPH RAJ S;083;042;47;00;72;244;;;
+
+The following are the fields in any given line.
+* Region Code which is 'A'
+* Roll Number 015163
+* Name JOSEPH RAJ S
+* Marks of 5 subjects: ** English 083 ** Hindi 042 ** Maths 47 **
+Science AA (Absent) ** Social 72
+* Total marks 244
+*
+
+Now lets try and find the mean of English marks of all students.
+
+For this we do. ::
+
+ L=loadtxt('/home/fossee/sslc2.txt',usecols=(3,),delimiter=';')
+ L
+ mean(L)
+
+loadtxt function loads data from an external file.Delimiter specifies
+the kind of character are the fields of data seperated by.
+usecols specifies the columns to be used so (3,). The 'comma' is added
+because usecols is a sequence.
+
+To get the median marks. ::
+
+ median(L)
+
+Standard deviation. ::
+
+ std(L)
+
+
+Now lets try and and get the mean for all the subjects ::
+
+ L=loadtxt('/home/fossee/sslc2.txt',usecols=(3,4,5,6,7),delimiter=';')
+ mean(L,0)
+ array([ 73.55452504, 53.79828941, 62.83342759, 50.69806158, 63.17056881])
+
+As we can see from the result mean(L,0). The resultant sequence
+is the mean marks of all students that gave the exam for the five subjects.
+
+and ::
+
+ mean(L,1)
+
+
+is the average accumalative marks of individual students. Clearly, mean(L,0)
+was a row wise calcultaion while mean(L,1) was a column wise calculation.
+
+
+{{{ Show summary slide }}}
+
+This brings us to the end of the tutorial.
+we have learnt
+
+ * How to do the standard statistical operations sum , mean
+ median and standard deviation in Python.
+ * Combine text loading and the statistical operation to solve
+ real world problems.
+
+{{{ Show the "sponsored by FOSSEE" slide }}}
+
+
+This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
+
+Hope you have enjoyed and found it useful.
+Thankyou
+
+.. Author : Amit Sethi
+ Internal Reviewer 1 :
+ Internal Reviewer 2 :
+ External Reviewer :
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/statistics/slides.org Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,33 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+#+OPTIONS: H:5 num:t toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+
+#+TITLE: Statistics
+#+AUTHOR: FOSSEE
+#+DATE: 2010-09-14 Tue
+#+EMAIL: info@fossee.in
+
+# \author[FOSSEE] {FOSSEE}
+
+# \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+# \date{}
+
+* Tutorial Plan
+** Doing simple statistical operations in Python
+** Using loadtxt to solve statistics problem
+
+* Summary
+** seq=[1,5,6,8,1,3,4,5]
+** sum(seq)
+** mean(seq)
+** median(seq)
+** std(seq)
+
+* Summary
+
+** loadtxt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/statistics/slides.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,106 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Tutorial slides on Python.
+%
+% Author: FOSSEE
+% Copyright (c) 2009, FOSSEE, IIT Bombay
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[14pt,compress]{beamer}
+%\documentclass[draft]{beamer}
+%\documentclass[compress,handout]{beamer}
+%\usepackage{pgfpages}
+%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
+
+% Modified from: generic-ornate-15min-45min.de.tex
+\mode<presentation>
+{
+ \usetheme{Warsaw}
+ \useoutertheme{infolines}
+ \setbeamercovered{transparent}
+}
+
+\usepackage[english]{babel}
+\usepackage[latin1]{inputenc}
+%\usepackage{times}
+\usepackage[T1]{fontenc}
+
+\usepackage{ae,aecompl}
+\usepackage{mathpazo,courier,euler}
+\usepackage[scaled=.95]{helvet}
+
+\definecolor{darkgreen}{rgb}{0,0.5,0}
+
+\usepackage{listings}
+\lstset{language=Python,
+ basicstyle=\ttfamily\bfseries,
+ commentstyle=\color{red}\itshape,
+ stringstyle=\color{darkgreen},
+ showstringspaces=false,
+ keywordstyle=\color{blue}\bfseries}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Macros
+\setbeamercolor{emphbar}{bg=blue!20, fg=black}
+\newcommand{\emphbar}[1]
+{\begin{beamercolorbox}[rounded=true]{emphbar}
+ {#1}
+ \end{beamercolorbox}
+}
+\newcounter{time}
+\setcounter{time}{0}
+\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
+
+\newcommand{\typ}[1]{\lstinline{#1}}
+
+\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} }
+
+% Title page
+\title{Your Title Here}
+
+\author[FOSSEE] {FOSSEE}
+
+\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+\date{}
+
+% DOCUMENT STARTS
+\begin{document}
+
+\begin{frame}
+ \maketitle
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Outline}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% All other slides here. %%
+%% The same slides will be used in a classroom setting. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[fragile]
+ \frametitle{Summary}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Thank you!}
+ \begin{block}{}
+ \begin{center}
+ This spoken tutorial has been produced by the
+ \textcolor{blue}{FOSSEE} team, which is funded by the
+ \end{center}
+ \begin{center}
+ \textcolor{blue}{National Mission on Education through \\
+ Information \& Communication Technology \\
+ MHRD, Govt. of India}.
+ \end{center}
+ \end{block}
+\end{frame}
+
+\end{document}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbolics/questions.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,53 @@
+Objective Questions
+-------------------
+
+.. A mininum of 8 questions here (along with answers)
+
+1. How do you define a name 'y' as a symbol?
+
+
+ Answer: var('y')
+
+2. List out some constants pre-defined in sage?
+
+ Answer: pi, e ,euler_gamma
+
+3. List the functions for differentiation and integration in sage?
+
+ Answer: diff and integral
+
+4. Get the value of pi upto precision 5 digits using sage?
+
+ Answer: n(pi,5)
+
+5. Find third order differential of function.
+
+ f(x)=sin(x^2)+exp(x^3)
+
+ Answer: diff(f(x),x,3)
+
+6. What is the function to find factors of an expression?
+
+ Answer: factor
+
+7. What is syntax for simplifying a function f?
+
+ Answer f.simplify_full()
+
+8. Find the solution for x between pi/2 to pi for the given equation?
+
+ sin(x)==cos(x^3)+exp(x^4)
+ find_root(sin(x)==cos(x^3)+exp(x^4),pi/2,pi)
+
+9. Create a simple two dimensional matrix with two symbolic variables?
+
+ var('a,b')
+ A=matrix([[a,1],[2,b]])
+
+Larger Questions
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+
+2. Question 2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbolics/quickref.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,8 @@
+Creating a linear array:\\
+{\ex \lstinline| x = linspace(0, 2*pi, 50)|}
+
+Plotting two variables:\\
+{\ex \lstinline| plot(x, sin(x))|}
+
+Plotting two lists of equal length x, y:\\
+{\ex \lstinline| plot(x, y)|}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbolics/script.rst Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,343 @@
+Symbolics with Sage
+-------------------
+
+Hello friends and welcome to the tutorial on symbolics with sage.
+
+
+.. #[Madhu: Sounds more or less like an ad!]
+
+{{{ Part of Notebook with title }}}
+
+.. #[Madhu: Please make your instructions, instructional. While
+ recording if I have to read this, think what you are actually
+ meaning it will take a lot of time]
+
+We would be using simple mathematical functions on the sage notebook
+for this tutorial.
+
+.. #[Madhu: What is this line doing here. I don't see much use of it]
+
+During the course of the tutorial we will learn
+
+{{{ Part of Notebook with outline }}}
+
+To define symbolic expressions in sage. Use built-in costants and
+function. Integration, differentiation using sage. Defining
+matrices. Defining Symbolic functions. Simplifying and solving
+symbolic expressions and functions.
+
+.. #[Nishanth]: The formatting is all messed up
+ First fix the formatting and compile the rst
+ The I shall review
+.. #[Madhu: Please make the above items full english sentences, not
+ the slides like points. The person recording should be able to
+ read your script as is. It can read something like "we will learn
+ how to define symbolic expressions in Sage, using built-in ..."]
+
+Using sage we can perform mathematical operations on symbols.
+
+.. #[Madhu: Same mistake with period symbols! Please get the
+ punctuation right. Also you may have to rephrase the above
+ sentence as "We can use Sage to perform sybmolic mathematical
+ operations" or such]
+
+On the sage notebook type::
+
+ sin(y)
+
+It raises a name error saying that y is not defined. But in sage we
+can declare y as a symbol using var function.
+
+.. #[Madhu: But is not required]
+::
+ var('y')
+
+Now if you type::
+
+ sin(y)
+
+ sage simply returns the expression .
+
+.. #[Madhu: Why is this line indented? Also full stop. When will you
+ learn? Yes we can correct you. But corrections are for you to
+ learn. If you don't learn from your mistakes, I don't know what
+ to say]
+
+thus now sage treats sin(y) as a symbolic expression . You can use
+this to do a lot of symbolic maths using sage's built-in constants and
+expressions .
+
+.. #[Madhu: "Thus now"? It sounds like Dus and Nou, i.e 10 and 9 in
+ Hindi! Full stop again. "a lot" doesn't mean anything until you
+ quantify it or give examples.]
+
+Try out
+
+.. #[Madhu: "So let us try" sounds better]
+ ::
+
+ var('x,alpha,y,beta') x^2/alpha^2+y^2/beta^2
+
+Similarly , we can define many algebraic and trigonometric expressions
+using sage .
+
+.. #[Madhu: comma again. Show some more examples?]
+
+
+Sage also provides a few built-in constants which are commonly used in
+mathematics .
+
+example : pi,e,oo , Function n gives the numerical values of all these
+ constants.
+
+.. #[Madhu: This doesn't sound like scripts. How will I read this
+ while recording. Also if I were recording I would have read your
+ third constant as Oh-Oh i.e. double O. It took me at least 30
+ seconds to figure out it is infinity]
+
+For instance::
+
+ n(e)
+
+ 2.71828182845905
+
+gives numerical value of e.
+
+If you look into the documentation of n by doing
+
+.. #[Madhu: "documentation of the function "n"?]
+
+::
+ n(<Tab>
+
+You will see what all arguments it can take etc .. It will be very
+helpful if you look at the documentation of all functions introduced
+
+.. #[Madhu: What does etc .. mean in a script?]
+
+Also we can define the no of digits we wish to use in the numerical
+value . For this we have to pass an argument digits. Type
+
+.. #[Madhu: "no of digits"? Also "We wish to obtain" than "we wish to
+ use"?]
+::
+
+ n(pi, digits = 10)
+
+Apart from the constants sage also has a lot of builtin functions like
+sin,cos,sinh,cosh,log,factorial,gamma,exp,arcsin,arccos,arctan etc ...
+lets try some out on the sage notebook.
+
+.. #[Madhu: Here "a lot" makes sense]
+::
+
+ sin(pi/2)
+
+ arctan(oo)
+
+ log(e,e)
+
+
+Given that we have defined variables like x,y etc .. , We can define
+an arbitrary function with desired name in the following way.::
+
+ var('x') function(<tab> {{{ Just to show the documentation
+ extend this line }}} function('f',x)
+
+.. #[Madhu: What will the person recording show in the documentation
+ without a script for it? Please don't assume recorder can cook up
+ things while recording. It is impractical]
+
+Here f is the name of the function and x is the independent variable .
+Now we can define f(x) to be ::
+
+ f(x) = x/2 + sin(x)
+
+Evaluating this function f for the value x=pi returns pi/2.::
+
+ f(pi)
+
+We can also define functions that are not continuous but defined
+piecewise. We will be using a function which is a parabola between 0
+to 1 and a constant from 1 to 2 . type the following as given on the
+screen
+
+.. #[Madhu: Instead of "We will be using ..." how about "Let us define
+ a function ..."]
+::
+
+
+ var('x') h(x)=x^2 g(x)=1 f=Piecewise(<Tab> {{{ Just to show the
+ documentation extend this line }}}
+ f=Piecewise([[(0,1),h(x)],[(1,2),g(x)]],x) f
+
+Checking f at 0.4, 1.4 and 3 :: f(0.4) f(1.4) f(3)
+
+.. #[Madhu: Again this doesn't sound like a script]
+
+for f(3) it raises a value not defined in domain error .
+
+
+Apart from operations on expressions and functions one can also use
+them for series .
+
+.. #[Madhu: I am not able to understand this line. "Use them as
+.. series". Use what as series?]
+
+We first define a function f(n) in the way discussed above.::
+
+ var('n') function('f', n)
+
+.. #[Madhu: Shouldn't this be on 2 separate lines?]
+
+To sum the function for a range of discrete values of n, we use the
+sage function sum.
+
+For a convergent series , f(n)=1/n^2 we can say ::
+
+ var('n') function('f', n)
+
+ f(n) = 1/n^2
+
+ sum(f(n), n, 1, oo)
+
+For the famous Madhava series :: var('n') function('f', n)
+
+.. #[Madhu: What is this? your double colon says it must be code block
+ but where is the indentation and other things. How will the
+ recorder know about it?]
+
+ f(n) = (-1)^(n-1)*1/(2*n - 1)
+
+This series converges to pi/4. It was used by ancient Indians to
+interpret pi.
+
+.. #[Madhu: I am losing the context. Please add something to bring
+ this thing to the context]
+
+For a divergent series, sum would raise a an error 'Sum is
+divergent' ::
+
+ var('n')
+ function('f', n)
+ f(n) = 1/n sum(f(n), n,1, oo)
+
+
+
+
+We can perform simple calculus operation using sage
+
+.. #[Madhu: When you switch to irrelevant topics make sure you use
+ some connectors in English like "Moving on let us see how to
+ perform simple calculus operations using Sage" or something like
+ that]
+For example lets try an expression first ::
+
+ diff(x**2+sin(x),x) 2x+cos(x)
+
+The diff function differentiates an expression or a function . Its
+first argument is expression or function and second argument is the
+independent variable .
+
+.. #[Madhu: Full stop, Full stop, Full stop]
+
+We have already tried an expression now lets try a function ::
+
+ f=exp(x^2)+arcsin(x) diff(f(x),x)
+
+To get a higher order differentiation we need to add an extra argument
+for order ::
+
+ diff(<tab> diff(f(x),x,3)
+
+.. #[Madhu: Please try to be more explicit saying third argument]
+
+in this case it is 3.
+
+
+Just like differentiation of expression you can also integrate them ::
+
+ x = var('x') s = integral(1/(1 + (tan(x))**2),x) s
+
+.. #[Madhu: Two separate lines.]
+
+To find the factors of an expression use the "factor" function
+
+.. #[Madhu: See the diff]
+
+::
+ factor(<tab> y = (x^100 - x^70)*(cos(x)^2 + cos(x)^2*tan(x)^2) f =
+ factor(y)
+
+One can also simplify complicated expression using sage ::
+ f.simplify_full()
+
+This simplifies the expression fully . You can also do simplification
+of just the algebraic part and the trigonometric part ::
+
+ f.simplify_exp() f.simplify_trig()
+
+.. #[Madhu: Separate lines?]
+
+One can also find roots of an equation by using find_root function::
+
+ phi = var('phi') find_root(cos(phi)==sin(phi),0,pi/2)
+
+.. #[Madhu: Separate lines?]
+
+Lets substitute this solution into the equation and see we were
+correct ::
+
+ var('phi') f(phi)=cos(phi)-sin(phi)
+ root=find_root(f(phi)==0,0,pi/2) f.substitute(phi=root)
+
+.. #[Madhu: Separate lines?]
+
+as we can see the solution is almost equal to zero .
+
+.. #[Madhu: So what?]
+
+We can also define symbolic matrices ::
+
+
+
+ var('a,b,c,d') A=matrix([[a,1,0],[0,b,0],[0,c,d]]) A
+
+.. #[Madhu: Why don't you break the lines?]
+
+Now lets do some of the matrix operations on this matrix
+
+.. #[Madhu: Why don't you break the lines? Also how do you connect
+ this up? Use some transformation keywords in English]
+::
+ A.det() A.inverse()
+
+.. #[Madhu: Why don't you break the lines?]
+
+You can do ::
+
+ A.<Tab>
+
+To see what all operations are available
+
+.. #[Madhu: Sounds very abrupt]
+
+{{{ Part of the notebook with summary }}}
+
+So in this tutorial we learnt how to
+
+
+We learnt about defining symbolic expression and functions .
+And some built-in constants and functions .
+Getting value of built-in constants using n function.
+Using Tab to see the documentation.
+Also we learnt how to sum a series using sum function.
+diff() and integrate() for calculus operations .
+Finding roots , factors and simplifying expression using find_root(),
+factor() , simplify_full, simplify_exp , simplify_trig .
+Substituting values in expression using substitute function.
+And finally creating symbolic matrices and performing operation on them .
+
+.. #[Madhu: See what Nishanth is doing. He has written this as
+ points. So easy to read out while recording. You may want to
+ reorganize like that]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/symbolics/slides.tex Wed Oct 13 17:26:45 2010 +0530
@@ -0,0 +1,106 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Tutorial slides on Python.
+%
+% Author: FOSSEE
+% Copyright (c) 2009, FOSSEE, IIT Bombay
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass[14pt,compress]{beamer}
+%\documentclass[draft]{beamer}
+%\documentclass[compress,handout]{beamer}
+%\usepackage{pgfpages}
+%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
+
+% Modified from: generic-ornate-15min-45min.de.tex
+\mode<presentation>
+{
+ \usetheme{Warsaw}
+ \useoutertheme{infolines}
+ \setbeamercovered{transparent}
+}
+
+\usepackage[english]{babel}
+\usepackage[latin1]{inputenc}
+%\usepackage{times}
+\usepackage[T1]{fontenc}
+
+\usepackage{ae,aecompl}
+\usepackage{mathpazo,courier,euler}
+\usepackage[scaled=.95]{helvet}
+
+\definecolor{darkgreen}{rgb}{0,0.5,0}
+
+\usepackage{listings}
+\lstset{language=Python,
+ basicstyle=\ttfamily\bfseries,
+ commentstyle=\color{red}\itshape,
+ stringstyle=\color{darkgreen},
+ showstringspaces=false,
+ keywordstyle=\color{blue}\bfseries}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Macros
+\setbeamercolor{emphbar}{bg=blue!20, fg=black}
+\newcommand{\emphbar}[1]
+{\begin{beamercolorbox}[rounded=true]{emphbar}
+ {#1}
+ \end{beamercolorbox}
+}
+\newcounter{time}
+\setcounter{time}{0}
+\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
+
+\newcommand{\typ}[1]{\lstinline{#1}}
+
+\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} }
+
+% Title page
+\title{Your Title Here}
+
+\author[FOSSEE] {FOSSEE}
+
+\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+\date{}
+
+% DOCUMENT STARTS
+\begin{document}
+
+\begin{frame}
+ \maketitle
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{Outline}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% All other slides here. %%
+%% The same slides will be used in a classroom setting. %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\begin{frame}[fragile]
+ \frametitle{Summary}
+ \begin{itemize}
+ \item
+ \end{itemize}
+\end{frame}
+
+\begin{frame}
+ \frametitle{Thank you!}
+ \begin{block}{}
+ \begin{center}
+ This spoken tutorial has been produced by the
+ \textcolor{blue}{FOSSEE} team, which is funded by the
+ \end{center}
+ \begin{center}
+ \textcolor{blue}{National Mission on Education through \\
+ Information \& Communication Technology \\
+ MHRD, Govt. of India}.
+ \end{center}
+ \end{block}
+\end{frame}
+
+\end{document}