Items tagged with roots roots Tagged Items Feed

Dear all,

I want to know how can I solve a fourth or higher order equation to find out its roots, actually coefficients of each power terms itself are functins of other parameters not constant.

Please reply as soon as possible, as this is very urgent,


I have a characteristic equation. some times It has polar roots . sometimes It has real roots and sometimes both of them.

I want to extract real roots and extract polar roots if they are.

for instance:



I want to know how can I use if in this part ?

Hi guys,

I am trying to solve for the roots in a polynomial of infinite order. The idea is simply to approximate the infinite polynomial by a high order Taylor expansion, solve for the roots in this polynomial (both real and complex roots exists) and use these roots as initial guesses for finding the authentic roots of the infinite polynomial in this specific range.

I have tried to use the evalf(RootOf(PolyInfinite=0,x,Re + Im)), however the output from RootOf seems to converge to the same 2 or 3 roots almost independent of the initial guess. Is there specific options of this RootOf function that can stabilize the solution or another/better command to use?

On the other hand i could solve this by simply minimizing a least sqaure, however i have not found any optimization solver which supports solutions in the complex domain?

I sincerely hope that you are able to help me.

Kind regards


To motivate some ideas in my research, I've been looking at the expected number of real roots of random polynomials (and their derivatives).  In doing so I have noticed an issue/bug with fsolve and RootFinding[Isolate].  One of the polynomials I came upon was

f(x) = -32829/50000-(9277/50000)*x-(37251/20000)*x^2-(6101/6250)*x^3-(47777/20000)*x^4+(291213/50000)*x^5.

We know that f(x) has at least 1 real root and, in fact, graphing shows that f(x) has exactly 1 real root (~1.018).  However, fsolve(f) and Isolate(f) both return no real roots.  On the other hand, Isolate(f,method=RC) correctly returns the root near 1.018.  I know that fsolve's details page says "It may not return all roots for exceptionally ill-conditioned polynomials", though this system does not seem especially ill-conditioned.  Moreover, Isolate's help page says confidently "All significant digits returned by the program are correct, and unlike purely numerical methods no roots are ever lost, although repeated roots are discarded" which is clearly not the case here.  It also seems interesting that the RealSolving package used by Isolate(f,method=RS) (default method) misses the root while the RegularChains package used by Isolate(f,method=RC) correctly finds the root.

 All-in-all, I am not sure what to make of this.  Is this an issue which has been fixed in more recent incarnations of fsolve or Isolate?  Is this a persistent problem?  Is there a theoretical reason why the root is being missed, particularly for Isolate?

Any help or insight would be greatly appreciated.

Hello everybody,

I want to find all of roots of the complex variables functions in two ways.

(1) find the value which can make the function equals 0

(2) find the real value and imaginary value which make real part and imaginary part of function equal 0

(I know answers of these two case is not equal completely.)


The function is a non-linear function, including sin, cos and Bessel function, such as:


And, I used Analytic and fsolve to do case (1) and (2), but failure. The follow result is how I tried to find the real value answer:


It seems that both of two commands can only find some of roots. 

How to find all of roots of these cases? The related .mw file is attached.


Thanks a lot.


Can someone please help me to find first 5 coplex valued roots of the followind expression:

Frequency_Equation := -(2.220315292*10^21*I)*csgn(omega)*omega^4*sin(1.236117731*(omega^2)^(1/4))*cosh(1.236117731*(omega^2)^(1/4))-2.354665581*10^22*csgn(omega)*omega^3*sin(1.236117731*(omega^2)^(1/4))*cosh(1.236117731*(omega^2)^(1/4))-2.354665581*10^22*sinh(1.236117731*(omega^2)^(1/4))*csgn(omega)*omega^3*cos(1.236117731*(omega^2)^(1/4))-6.415296703*10^25*(omega^2)^(3/4)*cos(1.236117731*(omega^2)^(1/4))*cosh(1.236117731*(omega^2)^(1/4))-2.177438228*10^22*cosh(1.236117731*(omega^2)^(1/4))*(omega^2)^(3/4)*omega^2*cos(1.236117731*(omega^2)^(1/4))-5.946035576*10^21*omega^2*(omega^2)^(3/4)-6.415296702*10^25*(omega^2)^(3/4)-(3.560760000*10^24*I)*sinh(1.236117731*(omega^2)^(1/4))*omega^3*cos(1.236117731*(omega^2)^(1/4))+(3.560760000*10^24*I)*cosh(1.236117731*(omega^2)^(1/4))*omega^3*sin(1.236117731*(omega^2)^(1/4))-(2.613877239*10^21*I)*cosh(1.236117731*(omega^2)^(1/4))*(omega^2)^(3/4)*omega^3*cos(1.236117731*(omega^2)^(1/4))-(6.049258752*10^24*I)*(omega^2)^(3/4)*omega-1.907153069*10^25*sinh(1.236117731*(omega^2)^(1/4))*omega^2*sin(1.236117731*(omega^2)^(1/4))*(omega^2)^(1/4)-(2.220315292*10^21*I)*sinh(1.236117731*(omega^2)^(1/4))*csgn(omega)*omega^4*cos(1.236117731*(omega^2)^(1/4))-(6.049258753*10^24*I)*(omega^2)^(3/4)*cos(1.236117731*(omega^2)^(1/4))*cosh(1.236117731*(omega^2)^(1/4))*omega-3.500000000*10^21*cosh(1.236117731*(omega^2)^(1/4))*omega^4*sin(1.236117731*(omega^2)^(1/4))+3.500000000*10^21*sinh(1.236117731*(omega^2)^(1/4))*omega^4*cos(1.236117731*(omega^2)^(1/4))-2.156220000*10^25*sinh(1.236117731*(omega^2)^(1/4))*omega^2*cos(1.236117731*(omega^2)^(1/4))+2.156220000*10^25*cosh(1.236117731*(omega^2)^(1/4))*omega^2*sin(1.236117731*(omega^2)^(1/4));

I am trying to produce a worksheet that will give me the two roots of a quadratic equation.

This is what I have:

Maple Worksheet


As you can see, It's not giving me the right answers. What do I do?





Greetings everyone. I tried to get the roots of this polynomial by using allvalues command. But I got the roots in indeces instead of the value of the roots.

what should i do?



I wish to be able to calculate the roots of the function f(p) by using the roots of the function h(p) and applying the bisection method due to the fact that the roots of h(p) bracket the roots of f(p) as can be seen in the graph below. I have done this before for another example when h:=J0(p); and hence i could use The commands BesselJZeros(0,n)/BesselJZzeros(0,n+1) to find the roots. So my problem arises with the finding the roots of h(p) and how to insert them into my bisection loop(underlined below).

Any advice would amazing. Many thanks


Digits := 30:
with (plots):

#Define given parameters

R:=1: #external radius of particles, cm

d:=10^(-3): #diffusivity cm^2 per second

alpha:= 1: #fractional void volume

c0:=10^(-6): #concentartion of soltion in void volume of solid initially, moles per liter

C0:=0: #concentration of main body of solution initially, moles per liter

k1:=0.5: #constant in adsorption isotherm (ka)

k2:=0.75: #constant in adsorption isotherm (kd)

k:=2.5: #equilbrium constant for adsorption kinetics

n0:=(k1/k2)*c0:#initial amount absrobed on solid, moles per liter

V:=0.1: #volume of external solution, liters

W:=0.1: #weight of absorbant, grams

rho:=2.0: #solid aparrant density, g/cc












f:=p->(BesselJ(0,R*sqrt(-delta*p))*k*p-(R*sqrt(-delta*p))*BesselJ(1,R*sqrt(-delta*p))*(d*p/R + 2*beta*k/(R^2)));

proc (p) options operator, arrow; BesselJ(0, R*sqrt(-delta*p))*k*p-R*sqrt(-delta*p)*BesselJ(1, R*sqrt(-delta*p))*(d*p/R+2*beta*k/R^2) end proc




proc (p) options operator, arrow; BesselJ(0, R*sqrt(-delta*p)) end proc





rts:= Array(1..points):
for n from 1 by +1 to points do
pl:=evalf(#**first root of h**);
pu:=evalf(#**second root of h, i.e n+1 root**);
pe:= (pl+pu)/2;
while abs(f(pe))>10^(-6) do
if f(pu)*f(pe) <0 then
elif f(pl)*f(pe)<0 then
end if;










where K>=0, S (-15, 15) and alpha (-15, 15). While plotting for small values of S and alpha, I get complex roots.

  • How we can avoid the complex roots?
  • Is it possible to impose a condition in plotting? 




  • How to single out the range of S and alpha for which we have complex roots?



Hi there,
i am currently using maple5 as a new student in mathematics in the university. I am trying to know how to use maple5 to programme finding roots of quadratic equation. can anyone point me in the right direction?? Perhaps a book or a website on maple5. I know its old version but that's what we are allowed to use in my university and i'm new to this. Thanks

I want to find real roots only.  Cannot we find a simplified formula for x in this case which gives only real roots? 




eq1 := a^2*x^3+Typesetting:-delayDotProduct(2*a*b-Typesetting:-delayDotProduct(a^2, e), x^2)+(-2*a*b*c^2-a*c+b^2)*x-c*b-d-b^2*e = 0:


# Formula

eq2 := A*x^3+B*x^2+C*x+E = 0:



a := .7438:

b := 15.12*z[1]+10.85*z[1]^2:

c := 18.92-17.76*z[2]:

d := -.9224:

e := 2.106-5.317*z[2]+2.87*z[2]^2:NULL


A := a^2:

B := -a^2*e+2*a*b:

C := -2*a*b*e^2-a*c+b^2:

E := -b^2*e-b*c-d:



.55323844*x^3+(-1.165120155+2.941568785*z[2]-1.587794323*z[2]^2+22.492512*z[1]+16.140460*z[1]^2)*x^2+(-1.4876*(15.12*z[1]+10.85*z[1]^2)*(2.106-5.317*z[2]+2.87*z[2]^2)^2-14.072696+13.209888*z[2]+(15.12*z[1]+10.85*z[1]^2)^2)*x-(15.12*z[1]+10.85*z[1]^2)^2*(2.106-5.317*z[2]+2.87*z[2]^2)-(15.12*z[1]+10.85*z[1]^2)*(18.92-17.76*z[2])+.9224 = 0



``# Putting z1 and z2 value


.55323844*x^3+14.11629660*x^2+83.26002702*x-3.52866181 = 0




[[x = 0.4208050385e-1], [x = -9.354079555], [x = -16.20375615]]






I am trying to use Maple17 to create practice integration problems in which the integrands contain square roots.  I want the students to practice converting square roots, perhaps with fractions, to fractional and/or negative powers.  Hopefully Maple can typeset the integrals if I use the inert form "Int", and also do the integrals for me so I can find the answers quicker than doing it by hand, and not have to worry about making a careless mistake.  The trouble is, Maple is converting the square roots to fractional exponents:

Download DisplaySquareRoot.


I hope at least one of these works.  To make a long story short, when I display an integral using "Int", how do I prevent Maple from converting square roots to fractional exponents?





I have reason to believe that the expression below is a real number: 


A numerical approximation supports that. How can Maple help here to get a simplified expression?

1 2 3 Page 1 of 3