# HG changeset patch # User Madhusudan.C.S # Date 1284750292 -19800 # Node ID 0b0620ae8f4d7f95f9b750be600f79898be9e536 # Parent 13280334ca2b6ca6a8860097a2c102d3bd4adcb0 Complete the Getting started on Notebook session. diff -r 13280334ca2b -r 0b0620ae8f4d getting-started-sagenotebook.rst --- a/getting-started-sagenotebook.rst Fri Sep 17 23:29:48 2010 +0530 +++ b/getting-started-sagenotebook.rst Sat Sep 18 00:34:52 2010 +0530 @@ -48,7 +48,9 @@ {{{ Intentional *cough* *cough* }}} -to use Sage and nothing else! +to use Sage and nothing else! The Sage notebook also provides a +convenient way of sharing and publishing our work which is very handy +when we use Sage for research or for teaching. However we can also run our own instances of Sage notebook servers on all the computers we have a local installation of Sage. To start the @@ -56,11 +58,11 @@ notebook() -on the Sage prompt. This will start the Sage Notebook server. -If we are starting the notebook server for the first time, we are -prompted to enter the password for the admin. Type the password and -make a note of it. After this Sage automatically starts a browser page -for you with the notebook opened. +on the Sage prompt. This will start the Sage Notebook server. If we +are starting the notebook server for the first time, we are prompted +to enter the password for the admin. Type the password and make a note +of it. After this Sage automatically starts a browser page for you +with the notebook opened. If it doesn't automatically start a browser page check if the Notebook server started and there were no problems. If so open your browser and @@ -89,17 +91,195 @@ we enter all the Sage commands on the notebook. The admin page lists all the worksheets created. On the topmost part -of this page we have the links to various pages. The home link takes -to the admin home page. The published link takes us the page which -lists all the published worksheets. +of this page we have the links to various pages. + +{{{ Whenever you talk on an individual link point your mouse towards +the link. For each of the link go to the page and explain as below }}} + +The home link takes us to the admin home page. The published link +takes us to the page which lists all the published worksheets. The log +link has the complete log of all the actions we did on the +notebook. We have the settings link where can configure our notebook, +the notebook server, we can create and mangage accounts. We have a +link to help upon clicking opens a new window with the complete help +of Sage. The entire documentation of Sage is supplied with Sage for +offline reference and this help link is the way to get into it. Then +we can report bugs about Sage by clicking on Report a Problem link and +there is a link to sign out of the notebook. + +We can create a new worksheet by clicking New Worksheet link + +{{{ Click on the link }}} + +Sage prompts you for a name for the worksheet. Let us name the +worksheet as nbtutorial. Now we have our first worksheet which is +empty. + +A worksheet will contain a collection of cells. Every Sage command +must be entered in this cell. Cell is equivalent to the prompt on +console. When we create a new worksheet, to start with we will have +one empty cell. Let us try out some math here:: + + 2 + 2 + 57.1 ^ 100 + +The cap operator is used for exponentiation. If you observed carefully +we typed two commands but the output of only last command was +displayed. By default each cell displays the result of only the last +operation. We have to use print statement to display all the results +we want to be displayed. + +{{{ Demonstrate creating a new cell }}} + +Now to perform more operations we want more cells. So how do we create +a new cell? It is very simple. As we hover our mouse above or below +the existing cells we see a blue line, by clicking on this new line we +can create a new cell. +We have a cell, we have typed some commands in it, but how do we +evaluate that cell? Pressing Shift along with Enter evaluates the +cell. Alternatively we can also click on the evaluate link to evaluate +the cell +{{{ Evaluate the cell and demonstrate for both methods separately +}}}:: + + matrix([[1,2], [3,4]])^(-1) + +After we create many cells, we may want to move between the cells. To +move between the cells use Up and Down arrow keys. Also clicking on +the cell will let you edit that particular cell. + +{{{ Move between two cells created }}} + +To delete a cell, clear the contents of the cell and hit backspace + +{{{ Clear and demonstrate deleting the cell }}}:: + + Makes no sense + +If you want to add annotations in the worksheet itself on the blue +line that appears on hovering the mouse around the cell, Hold Shift +and click on the line. This creates a What You See Is What You Get +cell. + +{{{ Create a HTML editable cell }}} + +We can make our text here rich text. We can make it bold, Italics, we +can create bulleted and enumerated lists in this area:: + + This text contains both the **bold** text and also *italicised* + text. + It also contains bulleted list: + * Item 1 + * Item 2 + It also contains enumerate list: + 1. Item 1 + 2. Item 2 + +In the same cell we can display typeset math using the LaTeX like +syntax:: + + $\int_0^\infty e^{-x} \, dx$ + +We enclose the math to be typeset within $ and $ or $$ and $$ as in +LaTeX. +We can also obtain help for a particular Sage command or function +within the worksheet itself by using a question mark following the +command:: -This brings us to the end of the session on using Sage notebook. In -this tutorial session we learnt + sin? + +Evaluating this cell gives me the entire help for the sin function +inline on the worksheet itself. Similarly we can also look at the +source code of each command or function using double question mark:: + + matrix?? + +Sage notebook also provides the feature for autocompletion. To +autocomplete a command type first few unique characters and hit tab +key:: + + sudo + +To see all the commands starting with a specific name type those +characters and hit tab:: + + plo + +To list all the methods that are available for a certain variable or +a datatype we can use the variable name followed by the dot to access +the methods available on it and then hit tab:: + + s = 'Hello' + s.rep + +The output produced by each cell can be one of the three states. It +can be either the full output, or truncated output or hidden output. +The output area will display the error if the Sage code we wrote in +the cell did not successfully execute:: + + a, b = 10 + +{{{ Show the three states }}} + +The default output we obtained now is a truncated output. Clicking at +the left of the output area when the mouse pointer turns to hand gives +us the full output, clicking again makes the output hidden and it +cycles. - * +Lastly, Sage supports a variety of languages and each cell on the +worksheet can contain code written in a specific language. It is +possible to instruct Sage to interpret the code in the language we +have written. This can be done by putting percentage sign(%) followed +by the name of the language. For example, to interpret the cell as +Python code we put:: + + %python + +as the first line in the cell. Similarly we have: %sh for shell +scripting, %fortran for Fortran, %gap for GAP and so on. Let us see +how this works. Say I have an integer. The type of the integer in +default Sage mode is +{{{ Read the output }}}:: + + a = 1 + type(a) + + Output: + +We see that Integers are Sage Integers. Now let us put %python as the +first line of the cell and execute the same code snippet:: + + %python + a = 1 + type(a) + + Output: + +Now we see that the integer is a Python integer. Why? Because now we +instructed Sage to interpret that cell as Python code. + +This brings us to the end of the tutorial on using Sage. We learnt +quite a lot about using the Notebook User Interface of Sage. We are +now confident that we can comfortably use the notebook to learn more +about Sage in the following tutorials. Let us summarize what we +learnt. In this session we learnt + + * What is Sage + * How to start Sage shell + * What is Sage notebook + * How to start the Sage notebook + * How to create accounts and start using the notebook + * How to create new worksheets + * The menus available on the notebook + * About cells in the worksheet + * Methods to evaluate the cell, create new cells, delete the cells + and navigate around the cells + * To make annotations in the worksheet + * Tab completions + * And embedding code of other scripting languages in the cells {{{ Show the "sponsored by FOSSEE" slide }}}