Review of Amit' Symbolics in Sage.
authorMadhusudan.C.S <madhusudancs@gmail.com>
Thu, 23 Sep 2010 13:55:35 +0530
changeset 205 d95288e57cfc
parent 204 65e5e2362bc9
child 206 8835b2c071e6
Review of Amit' Symbolics in Sage.
symbolics.rst
--- a/symbolics.rst	Thu Sep 23 13:14:31 2010 +0530
+++ b/symbolics.rst	Thu Sep 23 13:55:35 2010 +0530
@@ -4,11 +4,19 @@
 This tutorial on using Sage for symbolic calculation is brought to you
 by Fossee group.
 
+.. #[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 }}}
@@ -21,16 +29,27 @@
 .. #[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 .
+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. ::
-   
+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::
@@ -39,17 +58,30 @@
 
      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 .
 
-Try out ::
+.. #[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
@@ -58,6 +90,11 @@
 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)
@@ -66,22 +103,33 @@
 
 gives numerical value of e.
 
-If you look into the documentation of n by doing ::
+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::
-  
+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. ::
+lets try some out on the sage notebook.
+
+.. #[Madhu: Here "a lot" makes sense]
+::
      
    sin(pi/2)
    
@@ -96,6 +144,10 @@
        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 ::
 
@@ -105,10 +157,14 @@
 	   
 	   f(pi)
 
-We can also define function that are not continuous but defined
+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::
+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
@@ -117,21 +173,27 @@
 
 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 ::
+For a convergent series , f(n)=1/n^2 we can say ::
    
    var('n') function('f', n)
 
@@ -141,11 +203,18 @@
 
 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' :: 
 	
@@ -158,6 +227,10 @@
 
 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)
@@ -166,6 +239,8 @@
 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)
@@ -175,6 +250,7 @@
  
    diff(<tab> diff(f(x),x,3)
 
+.. #[Madhu: Please try to be more explicit saying third argument]
 
 in this case it is 3.
 
@@ -183,10 +259,13 @@
 
      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
 
-To find factors of an expression use the function factor
+.. #[Madhu: See the diff]
 
+::
     factor(<tab> y = (x^100 - x^70)*(cos(x)^2 + cos(x)^2*tan(x)^2) f =
     factor(y)
 
@@ -198,20 +277,25 @@
 
     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 ::
 
@@ -219,11 +303,16 @@
 
    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 ::
+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()
 
-    A.det() A.inverse()
+.. #[Madhu: Why don't you break the lines?]
 
 You can do ::
     
@@ -231,6 +320,7 @@
 
 To see what all operations are available
 
+.. #[Madhu: Sounds very abrupt]
 
 {{{ Part of the notebook with summary }}}
 
@@ -247,3 +337,7 @@
 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]