Ask Your Question

rain1's profile - activity

2021-12-25 02:00:02 +0100 received badge  Notable Question (source)
2021-09-27 03:04:14 +0100 received badge  Popular Question (source)
2021-05-13 15:46:15 +0100 received badge  Popular Question (source)
2020-07-19 20:24:44 +0100 received badge  Scholar (source)
2020-07-19 20:24:32 +0100 received badge  Supporter (source)
2020-07-19 18:21:45 +0100 asked a question What are these extra terms in symmetric polynomial calculations?

I am trying to calculate the discriminant of the cubic using symmetric polynomials, here is my attempt:

P = PolynomialRing(QQ, 'x', 3)
x = P.gens()
S = SymmetricFunctions(QQ)
e = SymmetricFunctions(QQ).e()

def nice_symmetric_poly(coeffs, u):
    v = var(coeffs)
    return sum(x[1]*product(v[i] for i in x[0]) for x in list(u))

d = (x[0]-x[1])*(x[0]-x[2])*(x[1]-x[2])
u = e.from_polynomial(d^2)
nice_symmetric_poly('a b c d e', u)

This gives me u:

e[2, 2, 1, 1] - 4*e[2, 2, 2] - 4*e[3, 1, 1, 1] + 18*e[3, 2, 1] - 27*e[3, 3] - 8*e[4, 1, 1] + 24*e[4, 2]

and the nice polynomial version:

b^2*c^2 - 4*b^3*d - 4*c^3 + 18*b*c*d - 8*b^2*e - 27*d^2 + 24*c*e

but I was expecting the result from here https://www.johndcook.com/blog/2019/0...

Δ = 18bcd – 4b³d + b²c² – 4c³ – 27d².

I don't understand why these "e" terms exist: - 8b^2e + 24ce

and why is there anything with a e[4] in it inside u.

Thank you for any insight into this problem.

2020-07-18 21:22:37 +0100 asked a question How to calculate discriminant using symmetric polynomials?

I want to calculate discriminants using symmetric polynomials. I am working on the quadratic discriminant first. Here is my attempt:

P.<x1,x2>=PolynomialRing(QQ)
S=SymmetricFunctions(P.base_ring())
e = S.elementary()
e(S.from_polynomial((x1-x2)^2))

this produces

e[1, 1] - 4*e[2]

How can I convert this output to b^2 - 4 * a * c?

Thank you

2020-06-15 16:18:45 +0100 received badge  Student (source)
2020-06-14 05:10:55 +0100 asked a question Why is Galois group computation failing?
L = NumberField(x^2 - x - 1, 'theta')
G = L.galois_group()

works

L = NumberField(x^3 - x - 1, 'theta')
G = L.galois_group()

gives me the error

TypeError: You must specify the name of the generator.