使用 sagemath 的哥德巴赫图
Goldbach graph using sagemath
我正在学习 SageMath(使用 Python 3)
并玩弄哥德巴赫猜想。
我写了这个函数(有效!):
def Goldbach(n):
if n % 2 != 0 or n <= 2:
show("No és parell")
else:
for i in srange(n):
if is_prime(i):
for j in srange(n):
if is_prime(j) and i + j == n:
a = [i, j]
show(a)
return
现在我正在尝试(不知道)做以下情节:
用r(2k)
表示2k
的哥德巴赫分区数,
猜想肯定 r(2k) > 0
如果 k > 1
.
我必须绘制点图 (k, r(2k))
、k > 2
。
我该怎么做?
首先,让我们在 Sage 中获得一些更好的实现
计算 r(K)(对于 K > 2 某个偶数整数)的例程 p + 的解q = 2k, p, q素数.
当解 (p, q) 和 (q, p) 不同时,我们计算它们。
def r(K):
if K not in ZZ or K <= 2 or K % 2:
return None
if K == 4:
return 1
count = 0
for p in primes(3, K):
for q in primes(3, K + 1 - p):
if p + q == K:
count += 1
return count
goldbach_points = [(K, r(K)) for K in range(4, 100,2)]
show(points(goldbach_points))
这给出:
我正在学习 SageMath(使用 Python 3) 并玩弄哥德巴赫猜想。
我写了这个函数(有效!):
def Goldbach(n):
if n % 2 != 0 or n <= 2:
show("No és parell")
else:
for i in srange(n):
if is_prime(i):
for j in srange(n):
if is_prime(j) and i + j == n:
a = [i, j]
show(a)
return
现在我正在尝试(不知道)做以下情节:
用r(2k)
表示2k
的哥德巴赫分区数,
猜想肯定 r(2k) > 0
如果 k > 1
.
我必须绘制点图 (k, r(2k))
、k > 2
。
我该怎么做?
首先,让我们在 Sage 中获得一些更好的实现 计算 r(K)(对于 K > 2 某个偶数整数)的例程 p + 的解q = 2k, p, q素数.
当解 (p, q) 和 (q, p) 不同时,我们计算它们。
def r(K):
if K not in ZZ or K <= 2 or K % 2:
return None
if K == 4:
return 1
count = 0
for p in primes(3, K):
for q in primes(3, K + 1 - p):
if p + q == K:
count += 1
return count
goldbach_points = [(K, r(K)) for K in range(4, 100,2)]
show(points(goldbach_points))
这给出: