Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168731
Image: ubuntu2004

Bij het artikel: "On the representation of Natural Numbers as Sums of Squares",

Americ. Math. Monthly, 112, feb 2005, L. Panaitopol

def CkThm1(lim): R = set([]) for i in range(lim): for j in range(lim): for k in range(lim): R.add(F(i,j,k)) Rtotlimsquare = set(range(lim^2)).difference(R) evendeelR = Rtotlimsquare.difference(set[0,2,4,..,lim^2]) return evendeelR
def F(x,y,z): return x^2+y^2+2*z^2
CkThm1(100);
set([])
def F(x,y,z): return x^2+2*y^2+3*z^2
CkThm1(100)
set([])
def F(x,y,z): return x^2+2*y^2+4*z^2
CkThm1(100)
set([])

De bovenstaande drie checks bevestigen Thm1 voor de oneven getallen t/m 100. Een andere kwadratische functie zou dus niet alle oneven getallen meer kunnen representeren. We testen een voorbeeld.

def F(x,y,z): return x^2+3*y^2+4*z^2
CkThm1(20)
set([135, 393, 267, 141, 15, 285, 159, 33, 297, 303, 177, 51, 321, 195, 69, 339, 213, 87, 357, 231, 105, 375, 249, 123])

Nu gaan we Thm2 controleren.

def CkThm2(lim): R = set([]) for i in range(lim): for j in range(lim): for k in range(lim): R.add(F(i,j,k)) Rtotlimsquare = set(range(lim^2)).difference(R) onevendeelR = Rtotlimsquare.difference(set[1,3,5,..,lim^2]) return onevendeelR
def F(x,y,z): return x^2+y^2+z^2
CkThm2(20)
set([368, 112, 156, 124, 28, 60, 240, 92, 188, 220, 252, 284, 316, 348, 380])

Dit confirmeert het resultaat van Gauss: de getallen die niet als som van drie kwadraten gerepresenteerd kunnen worden, zijn van de vorm 4^i*(8k + 7), voor i en k niet-negatief.