SAGE

SAGE / online reference /source code /Sage cell server

Projects

Gaussian primes
Modular forms
Linear algebra

Basics

For, if, etc.

for i in range(15):
  if gcd(i,15)==1: 
    print i^2
  elif gcd(i,15)==2:
    print i


if k%12==2: 
    d = floor(k/12)-1 
else:
    d = floor(k/12) 

Subroutine


def function(n):
  return n;

function(10)

list


v = [1,2,3]
v.append(4)

Plot

2d plots

p1=list_plot([[0,0],[2,2],[3,3]])
p2=point ((1,1))
p3=plot(x,xmin=0, ymin=0, xmax=10, ymax=10)
P=p1+p2+p3
P.show(xmin=0, ymin=0, xmax=10, ymax=10)

time

cputime(): return the time in CPU sec since SAGE started

Prime numbers

n.divides(m) : n diviedes m or not
primality testing: is_prime(n)
prim_pi(x) (:= # of primes <= x)
Primes(): set of primes prime_range(m,n) (:= { p in Primes() | m <= p < n})

list prime numbers <= N:


N= 100;
for n in [2..N]:
    if is_prime(n): 
        print n 


N=100;
[n for n in [2..N] if is_prime(n)]


N=100
prime=[2]
for n in [3,5,..,N]:
    for k in range(len(prime)):
        if n%prime[k] == 0: 
            break
        elif sqrt(n) < prime[k]:
            prime.append(m)
            break

print prime

list twin prime numbers <=N

N=100;
[(n,n+2) for n in [2..N] if is_prime(n) and is_prime(n+2)]

Brun's constant

N=1000000
T = [p for p in prime_range(2,N) if is_prime(p+2)]
sum(1/p + 1/(p+2) for p in T)*(1.0)