Size: 45948
Comment:
|
← Revision 68 as of 2020-06-14 09:10:48 ⇥
Size: 48543
Comment: fixone
|
Deletions are marked like this. | Additions are marked like this. |
Line 79: | Line 79: |
html(s) | pretty_print(html(s)) |
Line 88: | Line 88: |
def _(N=(100,(2..2000))): html("<font color='red'>$\pi(x)$</font> and <font color='blue'>$x/(\log(x)-1)$</font> for $x < %s$"%N) show(plot(prime_pi, 0, N, rgbcolor='red') + plot(x/(log(x)-1), 5, N, rgbcolor='blue')) |
def _(N=(100,list(range(2,2000)))): pretty_print(html(r"<font color='red'>$\pi(x)$</font> and <font color='blue'>$x/(\log(x)-1)$</font> for $x < %s$"%N)) show(plot(prime_pi, 0, N, color='red') + plot(x/(log(x)-1), 5, N, color='blue')) |
Line 115: | Line 115: |
else: print 'NaN' | else: print('NaN') |
Line 140: | Line 140: |
if start < 1 or end <=start: print "invalid start or end value" if n > end: print "WARNING: n is larger than the end value" |
if start < 1 or end <=start: print("invalid start or end value") if n > end: print("WARNING: n is larger than the end value") |
Line 172: | Line 172: |
#print x_cord, y_cord | |
Line 183: | Line 182: |
#print x, "=x y=", y, " num =", num | |
Line 209: | Line 207: |
print '(to go from x,y coords to an n, reset by setting n=0)' | print('(to go from x,y coords to an n, reset by setting n=0)') |
Line 211: | Line 209: |
#print 'if n =', n, 'then (x,y) =', (x_cord, y_cord) print '(x,y) =', (x_cord, y_cord), '<=> n =', find_n(x_cord, y_cord, start) print ' ' print "SW/NE line" if -y_cord<x_cord: print '4*t^2 + 2*t +', -x_cord+y_cord+start else: print '4*t^2 + 2*t +', +x_cord-y_cord+start print "NW/SE line" if x_cord<y_cord: print '4*t^2 +', -x_cord-y_cord+start else: print '4*t^2 + 4*t +', +x_cord+y_cord+start |
print('(x,y) =', (x_cord, y_cord), '<=> n =', find_n(x_cord, y_cord, start)) print(' ') print("SW/NE line") if -y_cord<x_cord: print('4*t^2 + 2*t +', -x_cord+y_cord+start) else: print('4*t^2 + 2*t +', +x_cord-y_cord+start) print("NW/SE line") if x_cord<y_cord: print('4*t^2 +', -x_cord-y_cord+start) else: print('4*t^2 + 4*t +', +x_cord+y_cord+start) |
Line 233: | Line 230: |
Needs fix for show_factors |
|
Line 239: | Line 238: |
if start < 1 or end <=start: print "invalid start or end value" if n > end: print "WARNING: n is greater than end value" |
if start < 1 or end <=start: print("invalid start or end value") if n > end: print("WARNING: n is greater than end value") |
Line 262: | Line 261: |
print 'n =', factor(n) | print('n = {}'.format(factor(n))) |
Line 284: | Line 283: |
print 'Pink Curve: n^2 +', c print 'Green Curve: n^2 + n +', c2 |
print('Pink Curve: n^2 +', c) print('Green Curve: n^2 + n +', c2) |
Line 312: | Line 311: |
print M; print '\n'*3 print "Computing basis...\n\n" |
print(M) print('\n' * 3) print("Computing basis...\n\n") |
Line 315: | Line 315: |
print "Space has dimension 0" | print("Space has dimension 0") |
Line 317: | Line 317: |
prec = max(prec, M.dimension()+1) | prec = max(prec, M.dimension() + 1) |
Line 320: | Line 320: |
print "\n\n\nDone computing basis." | print("\n\n\nDone computing basis.") |
Line 328: | Line 328: |
{{{#!sagecell html('<h1>Cuspidal Subgroups of Modular Jacobians J0(N)</h1>') |
ncols not working {{{#!sagecell pretty_print(html('<h1>Cuspidal Subgroups of Modular Jacobians J0(N)</h1>')) |
Line 333: | Line 335: |
print A.cuspidal_subgroup() | print(A.cuspidal_subgroup()) |
Line 475: | Line 477: |
MP += text('$\omega^2$',(i+.5,r-j-.5),rgbcolor='black') | MP += text(r'$\omega^2$',(i+.5,r-j-.5),rgbcolor='black') |
Line 477: | Line 479: |
MP += text('$\omega $',(i+.5,r-j-.5),rgbcolor='black') | MP += text(r'$\omega $',(i+.5,r-j-.5),rgbcolor='black') |
Line 486: | Line 488: |
MP += text('$ \pi_1$',(r/2,r+2), rgbcolor='black', fontsize=25) MP += text('$ \pi_2$',(-2.5,r/2), rgbcolor='black', fontsize=25) html('Symmetry of Primary Cubic Residues mod ' \ + '%d primary primes in $ \mathbf Z[\omega]$.'%r) |
MP += text(r'$ \pi_1$',(r/2,r+2), rgbcolor='black', fontsize=25) MP += text(r'$ \pi_2$',(-2.5,r/2), rgbcolor='black', fontsize=25) pretty_print(html('Symmetry of Primary Cubic Residues mod ' \ + r'%d primary primes in $ \mathbf Z[\omega]$.'%r)) |
Line 644: | Line 646: |
html('$$J(%s,%s) = %s$$'%(latex2(e),latex2(f),latex(js))) | pretty_print(html('$$J(%s,%s) = %s$$'%(latex2(e),latex2(f),latex(js)))) |
Line 664: | Line 666: |
html(s)}}} | pretty_print(html(s)) }}} |
Line 754: | Line 757: |
print "p = %s"%p show(E.change_ring(GF(p)).plot(),xmin=0,ymin=0) |
print("p = %s" % p) show(E.change_ring(GF(p)).plot(), xmin=0, ymin=0) |
Line 778: | Line 781: |
html(""" | pretty_print(html(""" |
Line 804: | Line 807: |
(g^ b)^a, g^a, b, p, (g^a)^b)) | (g^ b)^a, g^a, b, p, (g^a)^b))) |
Line 814: | Line 817: |
crows not working |
|
Line 817: | Line 822: |
c = list(continued_fraction(RealField(prec)(number))); print c | c = list(continued_fraction(RealField(prec)(number))); print(c) |
Line 826: | Line 831: |
def _(m=selector([1..15],nrows=2), n=(7,(3..10))): | def _(m=selector([1..15],nrows=2), n=(7,[3..10])): |
Line 828: | Line 833: |
s = "<h3>First n=%s Bernoulli numbers attached to characters with modulus m=%s</h3>"%(n,m) s += '<table border=1>' s += '<tr bgcolor="#edcc9c"><td align=center>$\\chi$</td><td>Conductor</td>' + \ ''.join('<td>$B_{%s,\chi}$</td>'%k for k in [1..n]) + '</tr>' |
s = r"<h3>First n=%s Bernoulli numbers attached to characters with modulus m=%s</h3>"%(n,m) s += r'<table border=1>' s += r'<tr bgcolor="#edcc9c"><td align=center>$\chi$</td><td>Conductor</td>' + \ ''.join(r'<td>$B_{%s,\chi}$</td>'%k for k in [1..n]) + '</tr>' |
Line 837: | Line 842: |
html(s) | pretty_print(html(s)) |
Line 846: | Line 851: |
L = [[-0.5, 2.0^(x/100.0) - 1 + sqrt(3.0)/2] for x in xrange(1000, -1, -1)] R = [[0.5, 2.0^(x/100.0) - 1 + sqrt(3.0)/2] for x in xrange(1000)] xes = [x/1000.0 for x in xrange(-500,501,1)] |
L = [[-0.5, 2.0^(x/100.0) - 1 + sqrt(3.0)/2] for x in range(1000, -1, -1)] R = [[0.5, 2.0^(x/100.0) - 1 + sqrt(3.0)/2] for x in range(1000)] xes = [x/1000.0 for x in range(-500,501,1)] |
Line 872: | Line 877: |
= Multiple Zeta Values = | = Multiple Zeta Values = |
Line 874: | Line 879: |
== Computing Multiple Zeta values == | == Computing Multiple Zeta values == |
Line 879: | Line 884: |
def _( weight=(5,(2..20))): | def _( weight=(5,(2..100))): |
Line 932: | Line 937: |
print zeta(a) | u=zeta(a) RIF=RealIntervalField(int(3.321928*D)) u=u/1 print(u) |
Line 939: | Line 947: |
def _( Depth=(5,(2..20))): | def _( Depth=(5,(2..100))): |
Line 998: | Line 1006: |
print zeta(a) |
u=zeta(a) RIF=RealIntervalField(int(3.321928*D)) u=u/1 print(u) |
Line 1002: | Line 1012: |
== Program to Compute Integer Relation between Multiple Zeta Values == {{{#!sagecell from mpmath import * print("Enter the number of composition") @interact def _( n=(5,(2..100))): a=[] for i in range(n): a.append([i+2,1]) print("In each box Enter composition as an array") @interact def _(v=('Compositions', input_box( default=a, to_value=lambda x: vector(flatten(x)))), accuracy=(100..100000)): D=accuracy R=RealField(10) a=v def comptobin(a): word=[] for i in range(len(a)): word=word+[0]*(a[i]-1)+[1] return(word) DD=int(D)+int(R(log(3.321928*D))/R(log(10)))+4 RIF=RealIntervalField(DD) mp.dps=DD def Li(word): n=int(DD*log(10)/log(2))+1 B=[] L=[] S=[] count=-1 k=len(word) for i in range(k): B.append(mpf('0')) L.append(mpf('0')) if(word[i]==1 and i<k-1): S.append(mpf('0')) count=count+1 T=mpf('1') for m in range(n): T=T/2 B[k-1]=mpf('1')/(m+1) j=count for i in range(k-2,-1,-1): if(word[i]==0): B[i]=B[i+1]/(m+1) elif(word[i]==1): B[i]=S[j]/(m+1) S[j]=S[j]+B[i+1] j=j-1 L[i]=T*B[i]+L[i] L[k-1]=T*B[k-1]+L[k-1] return(L) def dual(a): b=list() b=a b=b[::-1] for i in range(len(b)): b[i]=1-b[i] return(b) def zeta(a): b=dual(a) l1=Li(a)+[1] l2=Li(b)+[1] Z=mpf('0') for i in range(len(l1)): Z=Z+l1[i]*l2[len(a)-i] return(Z) zet=[] for i in range(n): zet.append((zeta(comptobin(a[i])))) mp.dps=D for i in range(n): zet[i]=zet[i]/1 print("zeta(", a[i], ")=", zet[i]) u=pslq(zet,tol=10**-D,maxcoeff=100,maxsteps=10000) print("the Intger Relation between the above zeta values given by the vector") print(u) }}} {{attachment:akhi10.png}} |
|
Line 1006: | Line 1093: |
def _( weight=(7,(2..30))): | def _( weight=(7,(2..100))): |
Line 1023: | Line 1110: |
print "Composition is ",bintocomp(a) | print("Composition is {}".format(bintocomp(a))) |
Line 1030: | Line 1117: |
def _( Depth=(7,(1..30))): | def _( Depth=(7,(1..100))): |
Line 1044: | Line 1131: |
print "Word is ",comptobin(a) | print("Word is {}".format(comptobin(a))) |
Line 1051: | Line 1138: |
def _( weight=(7,(2..30))): | def _( weight=(7,(2..100))): |
Line 1066: | Line 1153: |
print "Dual word is ",dual(a) | print("Dual word is {}"?format(dual(a))) |
Line 1075: | Line 1162: |
def _( w1=(2,(2..20)), w2=(2,(2..20))): | def _( w1=(2,(2..100)), w2=(2,(2..100))): |
Line 1153: | Line 1240: |
print c[1][i],"*",c[0][i] ,"+ ", print c[1][len(c[0])-1],"*",c[0][len(c[0])-1] |
print(c[1][i],"*",c[0][i] ,"+ ") print(c[1][len(c[0])-1],"*",c[0][len(c[0])-1]) |
Line 1162: | Line 1249: |
def _( w=(2,(2..20))): | def _( w=(2,(2..100))): |
Line 1302: | Line 1389: |
c=Regshuf0(a) | c = Regshuf0(a) |
Line 1305: | Line 1392: |
print c[1][i],"*",c[0][i] ,"+ ", | print(c[1][i],"*",c[0][i] ,"+ ") |
Line 1307: | Line 1394: |
print c[1][len(c[0])-1],"*",c[0][len(c[0])-1] | print(c[1][len(c[0])-1],"*",c[0][len(c[0])-1]) |
Line 1455: | Line 1542: |
c=Regshuf1(a) | c = Regshuf1(a) |
Line 1458: | Line 1545: |
print c[1][i],"*",c[0][i] ,"+ ", | print(c[1][i],"*",c[0][i] ,"+ ") |
Line 1460: | Line 1547: |
print c[1][len(c[0])-1],"*",c[0][len(c[0])-1] | print(c[1][len(c[0])-1],"*",c[0][len(c[0])-1]) |
Contents
Integer Factorization
Divisibility Poset
by William Stein
Factor Trees
by William Stein
More complicated demonstration using Mathematica: http://demonstrations.wolfram.com/FactorTrees/
Factoring an Integer
by Timothy Clemans
Sage implementation of the Mathematica demonstration of the same name. http://demonstrations.wolfram.com/FactoringAnInteger/
Prime Numbers
Illustrating the prime number theorem
by William Stein
Prime Spiral - Square FIXME
by David Runde
Prime Spiral - Polar
by David Runde
Needs fix for show_factors
Modular Forms
Computing modular forms
by William Stein
Computing the cuspidal subgroup
by William Stein
ncols not working
A Charpoly and Hecke Operator Graph
by William Stein
Modular Arithmetic
Quadratic Residue Table FIXME
by Emily Kirkman
Cubic Residue Table FIXME
by Emily Kirkman
Cyclotomic Fields
Gauss and Jacobi Sums in Complex Plane
by Emily Kirkman
Exhaustive Jacobi Plotter
by Emily Kirkman
Elliptic Curves
Adding points on an elliptic curve
by David Møller Hansen
Plotting an elliptic curve over a finite field
Cryptography
The Diffie-Hellman Key Exchange Protocol
by Timothy Clemans and William Stein
Other
Continued Fraction Plotter
by William Stein
crows not working
Computing Generalized Bernoulli Numbers
by William Stein (Sage-2.10.3)
Fundamental Domains of SL_2(ZZ)
by Robert Miller
Multiple Zeta Values
by Akhilesh P.
Computing Multiple Zeta values
Word Input
Composition Input
Program to Compute Integer Relation between Multiple Zeta Values
Word to composition
Composition to Word
Dual of a Word
Shuffle product of two Words
Shuffle Regularization at 0
Shuffle Regularization at 1