Finding all complex roots of polynomial of nth degree

Hey folks,
so, I am very new to programming in general, but as I am graduating in theoretical physics there is no getting around it anymore.
My problem is finding all complex roots of a quite complicated polynomial which looks as follows:

Q2N(u) = 1/4*(pow((pow(u,2)+pow(abs(Delta_f),2)),2)*pow(P(u),2))
with P(u) = prod (u - ek)*F(u)
and F(u) = sum 1/((u-ek)*Ek)

where product and sum are over k and go from 0 to N; N is finite and is defined by a cut off energy for the k (wave vectors) (should I post the code? That part works.)

So, I want to find the 2N complex roots u of Q2N and to get the data of Re(u) and Im(u) to later plot them.

My first idea was to use the <PolynomialRootFinder.h> package - my problem is that I just cannot type all the coefficients (I am working on a 1000x1000 lattice, means N is close to 1000)...
Is there a possibility to solve my problem differently?
Thanks in advance!
I think you had better post a better picture or link to that maths. It's not very intelligible as it stands, and that expression for F(u) makes it look rather non-polynomial.
Why do you think you need to type the coefficients? Surely you know how to generate them from an expression, right?

https://arxiv.org/pdf/1611.07089.pdf
page 12, eqs A8 - A10


and yes, I have the given expression, but in case I would use the PolynomialRootFinder package (as far as I understood it) I would have to retype them all...
do you need to code it or do you need the answer? If you are in school, there is a pretty good chance you have a math software in a lab somewhere... maple or something?

no, you don't have to type them out again if you have them somewhere. PDF can usually be OCR (sigh, if someone built it from an image) or extracted (if they did it from real text correctly) to a text file (I can't see the link, its blocked for me). Or if you have a math way to generate them, write a stub program that writes them to the screen and redirect to a file (you can even write the stub so it makes a valid c++ storage segment).

consider just x*x for squares, it will clean up the expression some and its faster.

if sum & prod represent series(?) summation, it isnt a polynomial, as mentioned?

I don't understand. Why would you need to type the coefficients in? I would guess that PRF lets you do something along the lines of
1
2
3
4
5
Polynomial p;
p.set_degree(1000);
for (int i = 0; i < 1000; i++)
    p.set_coefficient(i, compute_coefficient(i));
Roots r = p.find_roots(0);
Topic archived. No new replies allowed.