0% found this document useful (0 votes)
495 views2 pages

Sagemath Quick Reference Sheet

This document provides a 3-sentence summary of the Sage Quick Reference document: The Sage Quick Reference document provides an overview of the mathematical functions and commands available in the Sage math software, covering topics such as arithmetic, calculus, linear algebra, number theory, graph theory, and more. It describes both the basic syntax and usage of commands as well as more advanced concepts. The document is intended as a quick reference for users of the Sage software to understand the wide breadth of mathematical capabilities available through the system.

Uploaded by

Elmer Homero
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
495 views2 pages

Sagemath Quick Reference Sheet

This document provides a 3-sentence summary of the Sage Quick Reference document: The Sage Quick Reference document provides an overview of the mathematical functions and commands available in the Sage math software, covering topics such as arithmetic, calculus, linear algebra, number theory, graph theory, and more. It describes both the basic syntax and usage of commands as well as more advanced concepts. The document is intended as a quick reference for users of the Sage software to understand the wide breadth of mathematical capabilities available through the system.

Uploaded by

Elmer Homero
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Sage Quick Reference

William Stein (based on work of P. Jipsen)


GNU Free Document License, extend for your own use
Notebook

Arithmetic

ab = a*b ab = a/b ab = a^b


x = sqrt(x)

n
x = x^(1/n) |x| = abs(x) logb (x) = log(x,b)
n
X
Sums:
f (i) = sum(f(i) for i in (k..n))

2D graphics
1
0.75
0.5
0.25
-6

-4

-2

-0.25
-0.5
-0.75
-1

line([(x1 ,y1 ),. . .,(xn ,yn )],options)


polygon([(x1 ,y1 ),. . .,(xn ,yn )],options)
f (i) = prod(f(i) for i in (k..n))
Products:
circle((x,y),r,options)
i=k
text("txt",(x,y),options)
Constants and functions
options as in plot.options, e.g. thickness=pixel ,
Constants: = pi e = e i = i = oo
rgbcolor=(r,g,b), hue=h where 0 r, b, g, h 1
= golden_ratio = euler_gamma
show(graphic, options)
Approximate: pi.n(digits=18) = 3.14159265358979324 use figsize=[w,h] to adjust size
Functions: sin cos tan sec csc cot sinh cosh tanh use aspect_ratio=number to adjust aspect ratio
sech csch coth log ln exp ...
plot(f(x),(x, xmin , xmax ),options)
Python function: def f(x): return x^2
parametric plot((f(t),g(t)),(t, tmin , tmax ),options)
polar plot(f(t),(t, tmin , tmax ),options)
Interactive functions
combine: circle((1,1),1)+line([(0,0),(2,2)])
Put @interact before function (vars determine controls)
animate(list of graphics, options).show(delay=20)
@interact
def f(n=[0..4], s=(1..5), c=Color("red")):
3D graphics
var("x");show(plot(sin(n+x^s),-pi,pi,color=c))
i=k

n
Y

Evaluate cell: hshift-enteri


Evaluate cell creating new cell: halt-enteri
Split cell: hcontrol-;i
Join cells: hcontrol-backspacei
Insert math cell: click blue line between cells
Insert text/HTML cell: shift-click blue line between cells
Delete cell: delete content then backspace
Command line
comhtabi complete command
*bar *? list command names containing bar
command ?htabi shows documentation
command ??htabi shows source code
a.htabi shows methods for object a (more: dir(a))
a._htabi shows hidden methods for object a
search_doc("string or regexp") fulltext search of docs
search_src("string or regexp") search source code
_ is previous output
Numbers
Integers: Z = ZZ e.g. -2 -1 0 1 10^100
Rationals: Q = QQ e.g. 1/2 1/1000 314/100 -2/1
Reals: R RR e.g. .5 0.001 3.14 1.23e10000
Complex: C CC e.g. CC(1,1) CC(2.5,-3)
Double precision: RDF and CDF e.g. CDF(2.1,3)
Mod n: Z/nZ = Zmod e.g. Mod(2,3)
Zmod(3)(2)
Finite fields: Fq = GF e.g. GF(3)(2)
GF(9,"a").0
Polynomials: R[x, y] e.g. S.<x,y>=QQ[]
x+2*y^3
Series: R[[t]] e.g. S.<t>=QQ[[]]
1/2+2*t+O(t^2)
p-adic numbers: Zp Zp, Qp Qp e.g. 2+3*5+O(5^2)
Algebraic closure: Q = QQbar e.g. QQbar(2^(1/5))
Interval arithmetic: RIF e.g. sage: RIF((1,1.00001))
Number field: R.<x>=QQ[];K.<a>=NumberField(x^3+x+1)

Symbolic expressions
Define new symbolic variables: var("t u v y z")
Symbolic function: e.g. f (x) = x2
f(x)=x^2
Relations: f==g f<=g f>=g f<g f>g
Solve f = g: solve(f(x)==g(x), x)
solve([f(x,y)==0, g(x,y)==0], x,y)
factor(...)
expand(...)
(...).simplify_...
find_root(f(x), a, b) find x [a, b] s.t. f (x) 0
Calculus
lim f (x) = limit(f(x), x=a)
xa
d
dx (f (x)) =

x (f (x, y))

diff(f(x),x)

= diff(f(x,y),x)
diff = differentiate = derivative
R
f (x)dx = integral(f(x),x)
Rb
f (x)dx = integral(f(x),x,a,b)
a
Rb
f (x)dx numerical_integral(f(x),a,b)
a
Taylor polynomial, deg n about a: taylor(f(x),x,a,n)

line3d([(x1 ,y1 ,z1 ),. . .,(xn ,yn ,zn )],options)


sphere((x,y,z),r,options)
text3d("txt", (x,y,z), options)
tetrahedron((x,y,z),size,options)
cube((x,y,z),size,options)
octahedron((x,y,z),size,options)
dodecahedron((x,y,z),size,options)
icosahedron((x,y,z),size,options)
plot3d(f(x, y),(x, xb , xe ), (y, yb , ye ),options)
parametric plot3d((f,g,h),(t, tb , te ),options)
parametric plot3d((f(u, v),g(u, v),h(u, v)),
(u, ub , ue ),(v, vb , ve ),options)
options: aspect ratio=[1, 1, 1], color="red"
opacity=0.5, figsize=6, viewer="tachyon"

Crystals: CrystalOfTableaux(["A",3], shape=[3,2])


Lattice Polytopes: A=random_matrix(ZZ,3,6,x=7)
Discrete math
Numerical mathematics
L=LatticePolytope(A)
L.npoints()
L.plot3d() Packages: import numpy, scipy, cvxopt
bxc = floor(x) dxe = ceil(x)
Remainder of n divided by k = n%k
k|n iff n%k==0
Minimization: var("x y z")

x
Matrix algebra
n! = factorial(n)
=
binomial(x,m)
minimize(x^2+x*y^3+(1-z)^2-1, [1,1,1])
 
m
1
(n) = euler phi(n)
= vector([1,2])
2
Number theory
Strings: e.g. s = "Hello" = "He"+llo


1
2
s[0]="H"
s[-1]="o"
s[1:3]="el"
s[3:]="lo"
= matrix(QQ,[[1,2],[3,4]], sparse=False) Primes: prime_range(n,m), is_prime, next_prime
3 4
Factor: factor(n), qsieve(n), ecm.factor(n)
Lists: e.g. [1,"Hello",x] = []+[1,"Hello"]+[x]



1
2
3
Kronecker
symbol: ab = kronecker symbol(a,b)
Tuples: e.g. (1,"Hello",x) (immutable)
= matrix(QQ,2,3,[1,2,3, 4,5,6])
4 5 6
Continued fractions: continued_fraction(x)

Sets: e.g. {1, 2, 1, a} = Set([1,2,1,"a"]) (= {1, 2, a})
1 2


Bernoulli numbers: bernoulli(n), bernoulli mod p(p)
List comprehension set builder notation, e.g.
3 4 = det(matrix(QQ,[[1,2],[3,4]]))
Elliptic
curves: EllipticCurve([a1 , a2 , a3 , a4 , a6 ])
{f (x) : x X, x > 0} = Set([f(x) for x in X if x>0])
Av = A*v A1 = A^-1 At = A.transpose()
Dirichlet characters: DirichletGroup(N)
Solve Ax = v: A\v or A.solve_right(v)
Modular forms: ModularForms(level, weight)
Graph theory
Solve xA = v: A.solve_left(v)
Modular symbols: ModularSymbols(level, weight, sign)
Reduced row echelon form: A.echelon_form()
Brandt modules: BrandtModule(level, weight)
Rank and nullity: A.rank()
A.nullity()
Modular abelian varieties: J0(N), J1(N)
Hessenberg form: A.hessenberg_form()
Characteristic polynomial: A.charpoly()
Group theory
Graph: G = Graph({0:[1,2,3], 2:[4]})
Eigenvalues: A.eigenvalues()
G = PermutationGroup([[(1,2,3),(4,5)],[(3,4)]])
Directed Graph: DiGraph(dictionary)
Eigenvectors: A.eigenvectors_right() (also left)
SymmetricGroup(n), AlternatingGroup(n)
Graph families: graphs.htabi
Gram-Schmidt: A.gram_schmidt()
Abelian groups: AbelianGroup([3,15])
Invariants: G.chromatic polynomial(), G.is planar() Visualize: A.plot()
Matrix groups: GL, SL, Sp, SU, GU, SO, GO
Paths: G.shortest path()
LLL reduction: matrix(ZZ,...).LLL()
Functions: G.sylow subgroup(p), G.character table(),
Visualize: G.plot(), G.plot3d()
Hermite form: matrix(ZZ,...).hermite_form()
G.normal subgroups(), G.cayley graph()
Automorphisms: G.automorphism group(),
Linear algebra
G1.is isomorphic(G2), G1.is subgraph(G2)
Noncommutative rings
Quaternions: Q.<i,j,k> = QuaternionAlgebra(a,b)
Free algebra: R.<a,b,c> = FreeAlgebra(QQ, 3)

Combinatorics

Integer sequences: sloane find(list), sloane.htabi


Partitions: P=Partitions(n) P.count()
Combinations: C=Combinations(list) C.list()
Cartesian product: CartesianProduct(P,C)
Tableau: Tableau([[1,2,3],[4,5]])
Words: W=Words("abc"); W("aabca")
Posets: Poset([[1,2],[4],[3],[4],[]])
Root systems: RootSystem(["A",3])

Vector space K n = K^n e.g. QQ^3


RR^2
CC^4
Subspace: span(vectors, field )
E.g., span([[1,2,3], [2,3,5]], QQ)
Kernel: A.right_kernel() (also left)
Sum and intersection: V + W and V.intersection(W)
Basis: V.basis()
Basis matrix: V.basis_matrix()
Restrict matrix to subspace: A.restrict(V)
Vector in terms of basis: V.coordinates(vector)

Python modules
import module name
module_name.htabi and help(module_name)
Profiling and debugging
time command : show timing information
timeit("command"): accurately time command
t = cputime(); cputime(t): elapsed CPU time
t = walltime(); walltime(t): elapsed wall time
%pdb: turn on interactive debugger (command line only)
%prun command: profile command (command line only)

You might also like