Python/C2/Getting-started-with-sage-notebook/English

From Script | Spoken-Tutorial
Revision as of 11:34, 29 November 2012 by Chandrika (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Visual Cue Narration
Show Slide 1

Containing title, name of the production team along with the logo of MHRD

Hello friends and Welcome to this spoken tutorial on "Getting started with Sage and Sage notebook".
Show Slide 2

Learning objectives

At the end of this tutorial, you will be able to,
  1. Know what Sage and Sage notebook are.
  2. Start a Sage shell or notebook.
  3. Create new worksheets.
  4. Know about the menu options available and the cells in the worksheet.
  5. Evaluate cells, create and delete cells, navigate them.
  6. Make annotations in the worksheet.
  7. Use tab completion.
  8. Use code from other languages in the cells.
  9. Use the offline help available.


Show Slide 3

On what is Sage

To start with, let us first understand, what is Sage? Sage is a free, open-source mathematical software. Sage can do a lot of math stuff for you including, but not limited to, algebra, calculus, geometry, cryptography, graph theory among other things. It can also be used as an aid in teaching and research in any of the areas that Sage supports. So let us start Sage now
Show Slide 4

'Installing Sage'

We assume that you have Sage installed on your computer now. If not please visit the page http://sagemath.org/doc/tutorial/introduction.html#installation for the tutorial on how to install Sage.
Open the terminal Let us now learn how to start Sage. On the terminal type
sage

Show what is displayed on the terminal

This should start a new Sage shell with the prompt ``sage: ``

Inline literal start-string without end-string.

So now we can type all the commands that Sage supports here. But Sage comes bundled with a much more elegant tool called Sage Notebook. So what is Sage Notebook? Sage Notebook provides a web based user interface to use Sage. So once we have a Sage notebook server up and running, all we want is a browser to access the Sage functionality. For example there is an official instance of Sage Notebook server running at http://sagenb.org You can visit that page, create an account there and start using Sage! So all you need is just a modern browser to use Sage and nothing else! The Sage notebook also provides a convenient way of sharing and publishing our work, which is very handy for research and teaching.

However we can also run our own instances of Sage notebook servers on all the computers, if we have a local installation of Sage. To start the notebook server just type

notebook() 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 in the address bar, type the URL shown in the instructions upon running the notebook command on the sage prompt.

Point towards it and say the following line

In our case it is http://localhost: Tell whatever is shown

The notebook() command gives an instruction telling Open your web browser to http://localhost:8000.
Show the browser with Sage notebook

If you are logged in tell that you are logged in, log out and show what is said above for the login page

If you are not logged in yet, it shows the Notebook home page and textboxes to type the username and the password. You can use the username 'admin' and the password you gave while starting the notebook server for the first time. There are also links to recover forgotten password and to create new accounts.

Once we are logged in with the admin account we can see the notebook admin page. A notebook can contain a collection of Sage Notebook worksheets. Worksheet is basically a working area. This is where we enter all the Sage commands on the notebook.

Point at the links on the top of the page The admin page lists all the worksheets created. On the topmost part of this page we have the links to various pages.
Point at the links as they are described 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 we can configure our notebook, the notebook server, create and manage 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.
Click on the link We can create a new worksheet by clicking New Worksheet 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. A 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.
Click on the link 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.
Evaluate the cell and demonstrate for both methods separately
matrix([[1,2], [3,4]])^(-1)
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
Move between two cells created 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.
Clear and demonstrate deleting the cell To delete a cell, clear the contents of the cell and hit backspace
Create a HTML editable cell 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.
Type in the editable cell
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
We can make our text here. We can make it bold, Italics, we can create bulleted and enumerated lists in this area
$\int_0^\infty e^{-x} \, dx$ In the same cell we can display typeset math using the LaTeX like syntax
sin? 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

matrix?? Evaluating this cell gives me the entire help for the sine function inline on the worksheet itself. Similarly we can also look at the source code of each command or function using double question mark
sudo<tab> Sage notebook also provides the feature for autocompletion. To autocomplete a command type first few unique characters and hit tab key
plo<tab> To see all the commands starting with a specific name type those characters and hit tab. For example,
s = 'Hello'
s.rep<tab>
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.
a, b = 10 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
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.
 %python 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 as the first line in the cell.
a = 1
type(a)
Similarly we have: %sh for shell scripting,

%fortran for Fortran, %gap for GAP and so on. Let us see

Definition list ends without a blank line; unexpected unindent.

how this works. Say I have an integer. The type of the integer in default Sage mode is

Read the output Output: <type 'sage.rings.integer.Integer'>
 %python
a = 1
type(a)
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
Read the output Output: <type 'int'>

Now we see that the integer is a Python integer. Why? Because now we instructed Sage to interpret that cell as Python code.

Show Slide 5

Summary slide

This brings us to the end of this tutorial. In thus tutorial, we have learnt to,
  1. Know about Sage and sage notebook.
  2. Start Sage shell and sage notebook.
  3. Create accounts and start using the notebook.
  4. Create new worksheets.
  5. Access the menus available on the notebook.
  6. Evaluate cells in the worksheet.
  7. Create new cells, delete the cells. and navigate around the cells.
  8. Make annotations in the worksheet.
  9. Use tab completions.
  10. Embed code of other scripting languages in the cells.


Show Slide 6

Self assessment questions slide

Here are some self assessment questions for you to solve
  1. Each cell in a sage worksheet displays the result of only the last operation. True or False.
  2. How do you evaluate a cell using the keyboard keys?
    • Shift key along with enter key
    • Control key along with enter key
    • Alt key along with enter key


Show Slide 7

Solution of self assessment questions on slide

And the answers,
  1. True. By default each cell displays the result of only the last operation.
  2. Pressing Shift along with Enter evaluates the cell.


Show Slide 8

Acknowledgment slide

Hope you have enjoyed This tutorial and found it useful. Thank you!

Contributors and Content Editors

Chandrika