# Question:Finding roots of a complex trigonometric expression

## Question:Finding roots of a complex trigonometric expression

Maple

I have the following trigonometric expression:

`detA:= -(-((-16*cosh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`)+16*sinh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`))*sinh(beta*xi[1]*`&ell;`)+(-16*sin(beta*`&ell;`*xi[2])*cos(beta*`&ell;`)+16*cos(beta*`&ell;`*xi[2])*sin(beta*`&ell;`))*sin(beta*xi[1]*`&ell;`)-(16*(-sin(beta*`&ell;`*xi[2])*sin(beta*`&ell;`)+cosh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`)-sinh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`)-cos(beta*`&ell;`*xi[2])*cos(beta*`&ell;`)))*(cos(beta*xi[1]*`&ell;`)-cosh(beta*xi[1]*`&ell;`)))*sin(beta*`&ell;`*xi[2])+16*cos(beta*`&ell;`*xi[2])*((sin(beta*`&ell;`*xi[2])*sin(beta*`&ell;`)-cosh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`)+sinh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`)+cos(beta*`&ell;`*xi[2])*cos(beta*`&ell;`))*sin(beta*xi[1]*`&ell;`)+(sin(beta*`&ell;`*xi[2])*cos(beta*`&ell;`)-cos(beta*`&ell;`*xi[2])*sin(beta*`&ell;`))*(cos(beta*xi[1]*`&ell;`)-cosh(beta*xi[1]*`&ell;`))))*sinh(beta*`&ell;`*xi[2])+16*cosh(beta*`&ell;`*xi[2])*((sin(beta*`&ell;`*xi[2])*sin(beta*`&ell;`)-cosh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`)+sinh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`)+cos(beta*`&ell;`*xi[2])*cos(beta*`&ell;`))*sinh(beta*xi[1]*`&ell;`)+(sinh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`)-cosh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`))*(cos(beta*xi[1]*`&ell;`)-cosh(beta*xi[1]*`&ell;`)))*sin(beta*`&ell;`*xi[2])-(16*(cos(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`*xi[2])-1))*((sin(beta*`&ell;`*xi[2])*cos(beta*`&ell;`)-cos(beta*`&ell;`*xi[2])*sin(beta*`&ell;`))*sinh(beta*xi[1]*`&ell;`)+sin(beta*xi[1]*`&ell;`)*(sinh(beta*`&ell;`*xi[2])*cosh(beta*`&ell;`)-cosh(beta*`&ell;`*xi[2])*sinh(beta*`&ell;`)))`

where:

```xi1_val:= 0.05:
xi2_val:= 0.10:
ell_val:= 12:

```

I want to determine the roots "beta[1]..beta[N]" of this expression. For this, I have tried:

```evalf(subs([xi[1] = xi1_val, xi[2] = xi2_val, `&ell;` = ell_val], detA)):
sol_beta:= Student[Calculus1][Roots](%, 1e-5..15);
```

which yields:

`sol_beta:= [10.4719755]`

However, I'm pretty sure there is another root before this, as we can see by the plot of the function:

```plot(subs([xi[1] = xi1_val, xi[2] = xi2_val, `&ell;` = ell_val], detA), beta = 5.2..5.3,
axes = boxed,
gridlines = true,
labels = [typeset(beta), typeset(`det A`)],
size = [0.5,0.5]
);```

it is clear that there is a root about beta = 5.2359, which is not captured by "Roots" function.

Can someone help me build an algorythm that will get all roots wihtin a given interval? Particularly, I need it to be an efficient routine, because I will later vary parameters "xi[1]" and "xi[2]" and make a surface with the solutions. So I will run it several times.

﻿