Finding Roots of Polynomials in C

In summary, the equation f(z) = z^4 + iz^2 + 2 = 0 has two roots with |z|=1 and two roots with |z|=sqrt(2), but only two solutions exist.
  • #1
variety
22
0

Homework Statement


Show the the equation f(z) = z^4 + iz^2 + 2 = 0 has two roots with |z|=1 and two roots with |z|=sqrt(2), without actually solving the equation.

Homework Equations


Rouche's theorem, the argument principle?

The Attempt at a Solution


This is what I have done so far: First show that no solutions lie outside of the circle |z|=sqrt(2). This is true because if we suppose there was a solution, say p, then 0 = |p^4 + ip^2 + 2| >= |p|^4 - |p|^2 - 2 > 0 since |p| > sqrt(2). This contradiction implies that all solutions must lie inside of the disk |z| <= sqrt(2). After this, I wanted to show that f(z) has only two solutions INSIDE the circle |z|=sqrt(2), which would imply that two solutions must exist ON the circle. I tried to use Rouche's theorem, but I could not get the strict inequality to hold in any case. Then I realized that in the statement of the theorem, we require that no zeros or poles lie on the circle, so I could not use Rouche's theorem anyway. Okay, now we can also show that no solutions exist inside the unit circle in exactly the same way as for outside of |z|=sqrt(2). Suppose there was a solution, say q. Then 0 = |q^4 + iq^2 + 2| >= 2 - |q|^4 - |q|^2 > 0 since |q| < 1. Hence, all solutions must lie on the set {z : 1 <= |z| <= sqrt(2)}. This is where I am stuck. I am not sure how to show that solutions cannot exist somewhere in between. Any hints would be greatly appreciated. I feel like I should be using some theorem in this part, because for the parts I have done, I have only used some basic properties of the absolute value. Thanks!
 
Physics news on Phys.org
  • #2
You can start by completing the square - you don't have to solve for z, but could do for something else.
 
  • #3
What if it factors as (z^2 + a)(z^2 + b)? Then ab = 2 and a + b = i. Find a and b. Go from there.
 
  • #4
Oh I got it. Thanks a lot!
 

1. How do you find the roots of a polynomial in C?

To find the roots of a polynomial in C, you can use the roots function from the math.h library. This function takes in the coefficients of the polynomial as its parameters and returns the roots as complex numbers.

2. What is the difference between real and complex roots of a polynomial?

Real roots of a polynomial are values that make the polynomial equal to zero when substituted into the equation. Complex roots, on the other hand, are values that satisfy the polynomial but involve imaginary numbers.

3. Can a polynomial have more than one root?

Yes, a polynomial can have multiple roots. The number of roots a polynomial has is equal to its degree. For example, a quadratic polynomial can have two roots, while a cubic polynomial can have three roots.

4. How do you handle complex roots when finding the roots of a polynomial in C?

When finding the roots of a polynomial in C, the roots function will return complex numbers for complex roots. You can use the creal() and cimag() functions to extract the real and imaginary parts of the complex numbers, respectively.

5. Are there any other methods for finding roots of polynomials in C?

Yes, there are other methods for finding roots of polynomials in C, such as the Newton-Raphson method and the Euler's method. These methods involve using iterative processes to approximate the roots of a polynomial.

Similar threads

  • Calculus and Beyond Homework Help
Replies
7
Views
489
  • Calculus and Beyond Homework Help
Replies
2
Views
439
  • Calculus and Beyond Homework Help
Replies
0
Views
118
  • Calculus and Beyond Homework Help
Replies
24
Views
617
  • Calculus and Beyond Homework Help
Replies
5
Views
792
  • Calculus and Beyond Homework Help
Replies
4
Views
613
  • Calculus and Beyond Homework Help
Replies
7
Views
998
  • Calculus and Beyond Homework Help
Replies
8
Views
301
  • Calculus and Beyond Homework Help
Replies
3
Views
797
  • Calculus and Beyond Homework Help
Replies
12
Views
1K
Back
Top