symbolics/script.rst
changeset 342 588b681e70c6
parent 321 2e49b1b72996
--- a/symbolics/script.rst	Wed Oct 20 16:19:55 2010 +0530
+++ b/symbolics/script.rst	Thu Oct 21 00:22:42 2010 +0530
@@ -3,43 +3,23 @@
 
 Hello friends and welcome to the tutorial on symbolics with sage.
 
-
-.. #[Madhu: Sounds more or less like an ad!]
-
-{{{ Part of Notebook with title }}}
+{{{ Show welcome slide }}}
 
-.. #[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.
+{{{ Show outline slide  }}}
 
-.. #[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 ..."]
+* Defining symbolic expressions in sage.  
+* Using built-in costants and functions. 
+* Performing Integration, differentiation using sage. 
+* Defining matrices. 
+* Defining Symbolic functions.  
+* Simplifying and solving symbolic expressions and functions.
 
-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]
+We can use Sage for symbolic maths. 
 
 On the sage notebook type::
    
@@ -48,7 +28,7 @@
 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')
    
@@ -56,66 +36,56 @@
 
     sin(y)
 
-    sage simply returns the expression .
+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 sage treats sin(y) as a symbolic expression . We can use
+this to do  symbolic maths using sage's built-in constants and
+expressions..
 
-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
+So let us try ::
+   
+   var('x,alpha,y,beta') 
+   x^2/alpha^2+y^2/beta^2
+ 
+taking another example
+   
+   var('theta')
+   sin^2(theta)+cos^2(theta)
 
-.. #[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
+
+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
+example : pi,e,infinity , 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::
+{{{ Type n(pi)
+   	n(e)
+	n(oo) 
+    On the sage notebook }}}  
 
-   n(e)
-   
-   2.71828182845905
+
 
-gives numerical value of e.
-
-If you look into the documentation of n by doing
+If you look into the documentation of function "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
+You will see what all arguments it takes and what it returns. It will be very
+helpful if you look at the documentation of all functions introduced through
+this script.
 
-.. #[Madhu: What does etc .. mean in a script?]
+
 
-Also we can define the no of digits we wish to use in the numerical
+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
@@ -125,10 +95,10 @@
    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.
+sin,cos,log,factorial,gamma,exp,arcsin etc ...
+lets try some of them out on the sage notebook.
 
-.. #[Madhu: Here "a lot" makes sense]
+
 ::
      
    sin(pi/2)
@@ -141,12 +111,9 @@
 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)
+       var('x') 
+       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 ::
@@ -158,186 +125,153 @@
 	   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
+piecewise.  Let us define 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 }}}
+      var('x') 
+      h(x)=x^2 g(x)=1 
+      f=Piecewise(<Tab>
+
+{{{ Show the documentation of Piecewise }}} 
+    
+::
       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 .
+We can also define functions which are 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)
+   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)
+   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)
+ 
+Lets us now try another series ::
 
-.. #[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]
+    sum(f(n), n, 1, oo)
 
-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)
 
+This series converges to pi/4. 
 
 
-
-We can perform simple calculus operation using sage
+Moving on let us see how to perform simple calculus operations 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)
+    diff(x**2+sin(x),x) 
+    2x+cos(x)
 
-The diff function differentiates an expression or a function . Its
+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]
+independent variable.
 
 We have already tried an expression now lets try a function ::
 
-   f=exp(x^2)+arcsin(x) diff(f(x),x)
+   f=exp(x^2)+arcsin(x) 
+   diff(f(x),x)
 
-To get a higher order differentiation we need to add an extra argument
+To get a higher order differential we need to add an extra third 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.]
+     x = var('x') 
+     s = integral(1/(1 + (tan(x))**2),x) 
+     s
 
-To find the factors of an expression use the "factor" function
+
 
-.. #[Madhu: See the diff]
+Many a times we need to find factors of an expression ,we can use the "factor" function
 
 ::
-    factor(<tab> y = (x^100 - x^70)*(cos(x)^2 + cos(x)^2*tan(x)^2) f =
-    factor(y)
+    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 ::
+One can  simplify complicated expression ::
+    
     f.simplify_full()
 
-This simplifies the expression fully . You can also do simplification
+This simplifies the expression fully . We can also do simplification
 of just the algebraic part and the trigonometric part ::
 
-    f.simplify_exp() f.simplify_trig()
+    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?]
+    phi = var('phi') 
+    find_root(cos(phi)==sin(phi),0,pi/2)
 
 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?]
+     var('phi') 
+     f(phi)=cos(phi)-sin(phi)
+     root=find_root(f(phi)==0,0,pi/2) 
+     f.substitute(phi=root)
 
-as we can see the solution is almost equal to zero .
+as we can see when we substitute the value the answer is almost = 0 showing 
+the solution we got was correct.
 
-.. #[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
+Lets us now try some matrix algebra symbolically ::
+
+
 
-.. #[Madhu: Why don't you break the lines?]
+   var('a,b,c,d') 
+   A=matrix([[a,1,0],[0,b,0],[0,c,d]]) 
+   A
 
 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>
+::
+    A.det() 
+    A.inverse()
 
-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 .
+* We learnt about defining symbolic expression and functions.  
+* Using built-in constants and functions.  
+* Using <Tab>  to see the documentation of a function.  
+* Simple calculus operations .  
+* Substituting values in expression using substitute function.
+* 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]