3
$\begingroup$

I was recently working with functions of the form $N - \sqrt{\frac{N}{x}}\cdot\left\lfloor \frac{N}{\sqrt{N/x}}\right\rfloor + \sqrt{\frac{N}{x}} - \left\lfloor \sqrt{\frac{N}{x}}\right\rfloor$ where $N$ is positive integer.

Almost any graphing calculator I used was unable to find the zeroes of the function mentioned above and I concluded that it probably was not possible to numerically locate the roots. I recently was working with an application called Desmos calculator which strangely enough was able to locate the zeroes of this function (and almost instantaneously at that). When I emailed the team they told me they were using a form of bisection but I am unclear exactly how to implement bisection to locate roots of this function. I would be very glad if someone here could explain how the implementation would be done (i.e. how to select anchor points, etc...). Would it also be possible to utilize Newton's method or some Householder Method on this curve for fast convergence?

I have attached images of the function below. The Red functions show the graph with $N = 2813$. And Blue functions show the graph with $N = 6$. The zeroes are displayed for red as $1.5$ and $0.66666$. The zeroes are displayed for blue as $3.345$ and $0.299$.

enter image description here enter image description here enter image description here enter image description here

To graph the functions yourself, go to https://www.desmos.com/calculator and there you can substitute the expression

N - (N/x)^(1/2)*floor(N/((N/x)^(1/2))) + (N/x)^(1/2) - floor((N/x)^(1/2)) 

with $N = 6$, and $2813$.

My main problem with bisection is that if one looks at the graphs they notice that they are impossible to bisect (all values are positive) and also using Newton's fails. So I suppose that any root finding algorithm that actually works for this would be also appreciated.

  • 0
    I used imgur to upload the files. They can be viewed at this link: http://imgur.com/a/r9zMu2013-01-01

1 Answers 1

3

$\begin{align} f(x) &= N - \sqrt\frac Nx\cdot\left\lfloor\sqrt{Nx}\right\rfloor + \sqrt{\frac Nx} - \left\lfloor\sqrt\frac Nx\right\rfloor \\ &\ge N - \sqrt\frac Nx\cdot\sqrt{Nx} + \sqrt\frac Nx - \sqrt\frac Nx \\ &= 0, \end{align}$ with equality holding if and only if $\sqrt{Nx}$ and $\sqrt{Nx^{-1}}$ are both integers.

The necessary and sufficient conditions on $x$ can be characterized in terms of in terms of the prime factorization of $N$. Let the prime factorization be $N = p_1^{n_1} p_2^{n_2} \cdots p_k^{n_k}$. Now $x$ must be rational, and it cannot contain any prime other than these $p_i$ as a factor in its reduced form, otherwise one of $Nx$ and $Nx^{-1}$ would not be an integer. So it is of the form $x = p_1^{m_1} p_2^{m_2} \cdots p_k^{m_k}$, where the $m_k$ are integers. Then $Nx = p_1^{n_1+m_1} p_2^{n_2+m_2} \cdots p_k^{n_k+m_k}$ is a square integer if and only if $m_i \equiv n_i \pmod 2$ and $m_i \ge -n_i$. Similarly, $Nx^{-1}$ is a square integer if and only if $m_i \equiv n_i \pmod 2$ and $m_i \le n_i$. That means $m_i \in \{-n_i, -n_i+2, \ldots, n_i-2, n_i\}$, and that's all there is to it.

For example, when $N=6$, we have $N = 2^1 3^1$, and there are four zeroes for $x$, namely $2^{-1}3^{-1} = \frac16$, $2^1 3^{-1} = \frac23$, $2^{-1}3^1 = \frac32$, and $2^1 3^1 = 6$.

  • 1
    Note that the numbers you mention aren't really that big. A very simple factorization algorithm will easily give the prime factors. Other than that, treating the function piecewise, which requires finding all the discontinuities anyway, is the only straightforward approach I see.2013-01-01