Tutorial: using the notebook and navigating the help system (long version) -- Sage Reference Manual v4.6.1 system:sage
This worksheet is based on William Stein’s JPL09__intro_to_sage.sws worksheet and the Sage days 20.5_demo worksheet and aims to be an interactive introduction to Sage through exercises. You will learn how to use the notebook and call the help.
Go into the File menu at the top left of this window and click on Copy worksheet. Then, you can clear all output in the menu Action by clicking on Delete All Output.
To evaluate code in the Sage Notebook, type the code into an input cell and
press shift-enter or click the evaluate link. Try it now with a simple
expression (e.g., ). The first time you evaluate a cell takes longer
than subsequent times since a new Sage process is started:
Create new input cells by clicking blue line that appears between cells when you move your mouse around. Try it now:
sage:
You can go back and edit any cell by clicking in it (or using the keyboard to move up or down). Go back and change your 2+2 above to 3 + 3 and re-evaluate it.
You can also edit this text right here by double clicking on it, which will bring up the TinyMCE Javascript text editor. You can even put embedded mathematics like this $sin(x) - y^3$ just like with LaTeX.
There are various ways of getting help in Sage.
We details in what follows the two last methods through examples.
Start typing something and press the tab key. The interface tries to
complete it with a command name. If there is more than one completion, then they
are all presented to you. Remember that Sage is case sensitive, e.g. it
differentiates lower case from lower case. Hence the tab completion of
klein won’t show you the KleinFourGroup command that build the group
as a permutation group. Try it on the next cells
To see documentation and examples for a command, type a question mark ? at the end of the command name and press the tab key as
KleinFourGroup?<tab>
sage:
Exercise A: What is the largest prime factor of ?
factor?<tab>
sage:
In the above exercise we do not affect any mathematical data to variables. The affectation in Sage is realizer through the = symbol as in:
Once an object is created, some methods apply to it. This means functions but instead of writing f(my_object) you write my_object.f().:
To know all methods of an object you can still use tab-completion. Write the name of the object followed by a dot and then press tab.:
a.<tab>
sage:
sage:
Exercise B: Create the Permutation 51324 and assign it to the variable p.
Permutation?<tab>
sage:
What is the inverse of p ?
p.inv<tab>
sage:
Does p have the pattern 123 ? What about 1234 ? And 312 ? (even if you don’t know what a pattern is, you should be able to find a command that does this).
p.pat<tab>
sage:
Exercise C: Use the matrix command to create the following matrix.
matrix?<tab>
sage:
Then using methods of the matrix
sage:
sage:
Now you know how to access the different methods of matrices:
sage: vector?<tab>
sage:
Note
Vectors in Sage are row vectors. A command such as eigenspaces might not return what you expect, so it is best to specify eigenspaces_left or eigenspaces_right instead. Same thing for kernel (left_kernel or right_kernel), and so on.
The plot command allows you to draw plots of functions. Recall that you can access the documentation by pressing the tab key after writing plot? in a cell.:
sage: plot?<tab>
sage:
Here is a simple example:
Here is a more complicated plot. Try to change every single input to the plot command in some way, evaluating to see what happens:
Above we used the show command to show a plot after it was created. You can also use P.show instead:
Try putting the cursor right after P.show( and pressing tab to get a list of the options for how you can change the values of the given inputs.:
Plotting multiple functions at once is as easy as adding them together:
Here is an example of a symbolic function:
Exercise D: Define the symbolic function . Plot
on the
domain
and colour it red. Use the find_root method to numerically
approximate the root of
on the interval
.:
sage:
Compute the tangent line to at
.:
sage:
Plot and the tangent line to
at
in one image:
sage:
Exercise E (Advanced): Solve the following equation for
There are two solutions, take the one for which . (Don’t
forget to create the variables
and
!).:
sage:
Expand $y$ as a truncated Taylor series around $0$ and containing $n=10$ terms.:
sage:
Do you recognize the coefficients of the Taylor series expansion? You might want to use, or better yet, Sage’s command sloane_find which uses the online encyclopedia of integers:
sloane_find?<tab>
sage:
sage:
Enter search terms or a module, class or function name.