Ask Your Question
0

How to factorise a quantity obtained after summing?

asked 2020-04-05 02:38:08 -0500

list=[]

for n in range(2,20,2):
    s = sum(1/k^n,k,1,oo)/(pi)^n
    print(s)
    list.append(s.factor())
print(list)

My code is given above I'm not able to use the .factor() function, I understand that this is due to the type of s in the above code which is sage.symbolic.expression.Expression . My question is how to convert it into ๐šœ๐šŠ๐š๐šŽ.๐š›๐š’๐š—๐š๐šœ.๐š›๐šŠ๐š๐š’๐š˜๐š—๐šŠ๐š•.๐š๐šŠ๐š๐š’๐š˜๐š—๐šŠ๐š• or something else so that I can factorise it. In the end I want to make a list of these numbers factorized.

edit retag flag offensive close merge delete

2 answers

Sort by ยป oldest newest most voted
2

answered 2020-04-05 08:30:32 -0500

rburing gravatar image

Replace s.factor() by QQ(s).factor() to convert the symbolic expression to a rational and to factor that rational. Indeed, SR(1/6).factor() yields 1/6 while QQ(1/6).factor() yields 2^-1 * 3^-1.

edit flag offensive delete link more
0

answered 2020-04-05 10:46:08 -0500

vdelecroix gravatar image

For your problem, since zeta(2n) has an explicit expression in terms of Bernoulli number I would rather go with

sage: [((-1)**(1+n//2)*2**(n-1) * bernoulli(n)/factorial(n)).factor() for n in range(2,20,2)]
[2^-1 * 3^-1,
 2^-1 * 3^-2 * 5^-1,
 3^-3 * 5^-1 * 7^-1,
 2^-1 * 3^-3 * 5^-2 * 7^-1,
 3^-5 * 5^-1 * 7^-1 * 11^-1,
 3^-6 * 5^-3 * 7^-2 * 11^-1 * 13^-1 * 691,
 2 * 3^-6 * 5^-2 * 7^-1 * 11^-1 * 13^-1,
 2^-1 * 3^-7 * 5^-4 * 7^-2 * 11^-1 * 13^-1 * 17^-1 * 3617,
 3^-9 * 5^-3 * 7^-3 * 11^-1 * 13^-1 * 17^-1 * 19^-1 * 43867]
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2020-04-05 02:38:08 -0500

Seen: 21 times

Last updated: Apr 05