1: \documentclass[12pt]{article}
2: \author{Gun Srijuntongsiri\thanks{4130 Upson Hall, Cornell University, Ithaca, NY 14853. Email: gunsri@cs.cornell.edu.},
3: Stephen A. Vavasis\thanks{MC 6054, University of Waterloo, 200
4: University Avenue W., Waterloo, ON N2L 3G1, Canada. Email:
5: vavasis@math.uwaterloo.ca.}}
6: \title{A Condition Number Analysis of a Line-Surface Intersection Algorithm\thanks{Supported in part by NSF DMS 0434338 and NSF CCF 0085969.}}
7: \date{\today}
8:
9: \usepackage{amsmath, amsthm, amssymb,graphicx,subfig}
10:
11: \begin{document}
12: \maketitle
13:
14: \newcommand{\cond}[1]{\mathop{\rm{cond}}(#1)}
15: \newcommand{\norm}[1]{\left\|#1\right\|} %_\infty}
16: %\newcommand{\norminf}[1]{\left\|#1\right\|_\infty}
17: \newcommand{\norma}[1]{\left\|#1\right\|} % arbitrary norm
18: \newcommand{\inv}[1]{#1^{-1}}
19: \newcommand{\nchoosek}[2]{\left(\begin{array}{c} #1\\ #2 \end{array} \right)}
20:
21: \newtheorem{thm}{Theorem}[section]
22: \newtheorem{cor}[thm]{Corollary}
23: \newtheorem{lemma}[thm]{Lemma}
24: \newtheorem{prop}{Proposition}[thm]
25:
26: \theoremstyle{remark}
27: \newtheorem{rem}[thm]{Remark}
28:
29: \begin{abstract}
30: %We propose an algorithm based on Newton's method and subdivision for
31: %finding all zeros of a polynomial system in a bounded region of the
32: %plane. This algorithm can be used to find the
33: %intersections between a line and a surface, which has
34: %applications in graphics and computer-aided geometric design. Our
35: %analysis shows that the running time of the algorithm is bounded in
36: %terms of the condition number of the polynomial's zeros. We argue that,
37: %in contrast, some other well known algorithms for this problem similarly
38: %based on Newton and subdivision may in certain cases require excessive
39: %computation even for well conditioned problems.
40: We propose an algorithm based on Newton's method and subdivision
41: for finding all zeros of a polynomial system in a bounded region
42: of the plane. This algorithm can be used to find the
43: intersections between a line and a surface, which has applications
44: in graphics and computer-aided geometric design. The algorithm can
45: operate on polynomials represented in any basis that satisfies a
46: few conditions. The power basis, the Bernstein basis, and the
47: first-kind Chebyshev basis are among those compatible with the
48: algorithm. The main novelty of our algorithm is an analysis
49: showing that its running is bounded only in terms of the condition
50: number of the polynomial's zeros and a constant depending on the
51: polynomial basis.
52: \end{abstract}
53:
54: \section{Introduction}
55:
56: The problem of line-surface intersection has many applications in
57: areas such as geometric modeling, robotics, collision avoidance,
58: manufacturing simulation, scientific visualization, and computer
59: graphics. It is also a basis for considering intersections between
60: more complicated objects. This article deals with intersections
61: of a line and a parametric surface. The parametric method of
62: surface representation is a very convenient way of approximating
63: and designing curved surfaces, and computation using parametric
64: representation is often much more efficient than other types of
65: surface representations.
66:
67: Typically, intersection problems reduce to solving systems of
68: nonlinear equations. Subdivision methods introduced by Whitted
69: \cite{whitted, rubi} were the first to be used for this problem.
70: In these methods, a simple shape such as rectangular box or sphere
71: is used to bound the surface and is tested whether the line
72: intersects the bounding volume. If it does, the surface patch is
73: subdivided, and the bounding volumes are found for each subpatch.
74: The process repeats until no bounding volumes intersect the line
75: or the volumes are smaller than a specified size where the
76: intersection between such volumes and the line are taken as the
77: intersections between the surface and the line. Subdivision
78: methods are robust and simple, but normally not efficient when
79: high accuracy of the solutions are required. They also cannot
80: indicate if there are more than one zero inside the remaining
81: subdomains.
82:
83: Regardless, a variation of subdivision methods known as B\'{e}zier clipping
84: by Nishita et al.\ should be noted for its efficient subdivision \cite{nishita}.
85: For a non-rational B\'{e}zier surface,
86: B\'{e}zier clipping uses the intersection between the convex hull of the
87: orthographic projection of the surface along the line
88: and a parameter axis to determine the regions which do not contain any intersections
89: before subdividing the remaining region. Sherbrooke and Patrikalakis
90: generalizes B\'{e}zier clipping to a zero-finding algorithm for an $n$-dimensional
91: nonlinear polynomial system called
92: \emph{Projected Polyhedron} (PP) algorithm \cite{sherbrooke}.
93:
94: On the numerical side, Kajiya \cite{kajiya} proposes a method for intersecting
95: a line with a bicubic surface based on algebraic geometry without subdivisions.
96: His method is robust and simple. However, it is too costly to extend
97: to higher degree polynomials.
98: J\'{o}nsson and Vavasis \cite{jonsson} introduce
99: an algorithm for solving systems of two polynomials in two variables using
100: Macaulay resultant matrices.
101: They also analyze
102: the accuracy of the computed zeros in term of the conditioning of the problem.
103:
104: Another approach is to combine a subdivision method with
105: a Newton-type method, using the latter to find the solutions of
106: the resulted system of equations after subpatches pass some criteria.
107: %Similar to pure subdivision methods,
108: %algorithms in this category subdivide the surface and use bounding volumes
109: %to eliminate the areas that cannot have intersections. But when
110: %the remaining subpatch is small enough, an iterative method, usually Newton's method,
111: %is invoked to compute the exact intersection.
112: The advantages of Newton's method are
113: its quadratic convergence and simplicity in implementation, but it requires
114: a good initial approximation to converge and does not guarantee
115: that all zeros have been found.
116: To remedy these shortcomings, Toth \cite{toth}
117: uses the result from interval analysis to determine
118: the ``safe regions", where a Newton-like method starting from any point in them
119: are guaranteed to converge. He tests each patch if it is a safe region
120: and if its axis-aligned bounding box intersects the line. If neither
121: is true, the patch is subdivided recursively.
122: Lischinski and Gonczarowski \cite{Lischinski}
123: propose an improvement to Toth's algorithm specific to
124: scene-rendering in computer graphics
125: by utilizing ray and surface coherences.
126:
127: In contrast, other researchers develop
128: methods to estimate good initial points for Newton's method
129: rather than test for convergence of each choice of initial points.
130: These methods use tighter bounding volumes and subdivide the surface adaptively
131: until subpatches are \emph{flat} enough, that is, until they are close
132: enough to the bounding volumes. Then the intersection between
133: the bounding volume and the line is chosen as the initial point
134: for Newton's method. Examples of methods in this category are
135: \cite{barth, fournier, qin, sweeney, yang}.
136: There is also the ray-tracing algorithm by Wang et al.\ that
137: combines Newton's method
138: and B\'{e}zier clipping together \cite{wang}.
139:
140: Our algorithm is in the same category as Toth's in that it tests
141: for the convergence of initial points before performing Newton's
142: iteration to find solutions and it uses a bounding polygon of a
143: subpatch to exclude the one that cannot have a solution. The
144: convergence test our algorithm uses is the Kantorovich test.
145: Because the Kantorovich test also tells us whether Newton's method
146: converges quadratically for the initial point in question in
147: addition to whether it converges at all, we can choose to hold off
148: Newton's method until quadratic convergence is assured.
149:
150: The main feature of our algorithm is that there is an upper bound
151: on the number of subdivisions performed during the course of the
152: algorithm that depends only on the condition number of the problem
153: instance. For example, having a solution located exactly on the
154: border of a subpatch does not adversely affect its efficiency. To
155: the best of our knowledge, there is no previous algorithm in this
156: class whose running time has been bounded in terms of the
157: condition of the underlying problem instance, and we are not sure
158: whether such an analysis is possible for previous algorithms. Its
159: efficiency also depends on the choice of basis because the type of
160: bounding polygon depends on the basis.
161:
162: The notion of bounding the running time of an iterative method
163: in terms of the condition number of the instance is an old one,
164: with the most notable example being the condition-number
165: bound of conjugate gradient (see Chapter 10 of \cite{gvl}).
166: This approach has also been used in interior-point methods
167: for linear programming \cite{freund} and Krylov-space eigenvalue
168: computation \cite{toh}.
169:
170: \section{The theorem of Kantorovich}
171:
172: Denote the closed ball centered at $x$ with radius $r>0$ by
173: \[
174: \bar{B}(x,r) = \{ y \in \mathbb{R}^n : \norm{y-x} \leq r \},
175: \]
176: and denote $B(x,r)$ as the interior of $\bar{B}(x,r)$.
177: Kantorovich's theorem in affine invariant
178: form is
179:
180: \begin{thm}[Kantorovich, affine invariant form \cite{deuflhard, kantorovich}]
181: \label{standardkantorovich}
182: Let $f : D \subseteq \mathbb{R}^n \rightarrow \mathbb{R}^n$ be differentiable in
183: the open convex set $D$. Assume that for some point $x^0 \in D$, the Jacobian $f'(x^0)$
184: is invertible with
185: \[
186: \norm{f'(x^0)^{-1}f(x^0)} \leq \eta.
187: \]
188: Let there be a Lipschitz constant $\omega > 0$ for $f'(x^0)^{-1} f'$ such that
189: \[
190: \norm{f'(x^0)^{-1}(f'(x)-f'(y))} \leq \omega \cdot \norm{x-y} \textrm{ for all } x,y \in D.
191: \]
192: If $h = \eta\omega \leq 1/2$ and $\bar{B}(x^0,\rho_-) \subseteq D$, where
193: \[
194: \rho_- = \frac{1-\sqrt{1-2h}}{\omega},
195: \]
196: then $f$ has a zero $x^*$ in $\bar{B}(x^0,\rho_-)$. Moreover, this zero is the unique zero
197: of $f$ in $(\bar{B}(x^0,\rho_-) \cup B(x^0,\rho_+)) \cap D$ where
198: \[
199: \rho_+ = \frac{1+\sqrt{1-2h}}{\omega}
200: \]
201: and the Newton iterates $x^k$ with
202: \[
203: x^{k+1} = x^k - f'(x^k)^{-1}f(x^k)
204: \]
205: are well-defined, remain in $\bar{B}(x^0,\rho_-)$, and converge to $x^*$. In addition,
206: \begin{equation}
207: \label{rapidconv}
208: \norm{x^*-x^k} \leq \frac{\eta}{h}\left( \frac{(1-\sqrt{1-2h})^{2^k}}{2^k} \right), k = 0,1,2,\ldots
209: \end{equation}
210: \end{thm}
211: We call $x^0$ a \emph{fast starting point} if the sequence of Newton iterates starting from it
212: converges to a solution $x^*$ and (\ref{rapidconv}) is satisfied with $h \leq 1/4$,
213: which implies quadratic convergence of the iterates starting from $x^0$.
214: The Kantorovich's theorem also holds for complex functions \cite{farouki}.
215:
216:
217: \section{Formulation and representation of the line-surface
218: intersection problem} \label{section_formulation}
219:
220: Let $\phi_0$, \ldots, $\phi_n$ denote a basis for the set of
221: univariate polynomials of degree at most $n$. For example, the
222: power basis is defined by $\phi_i(t)=t^i$. Other choices of basis
223: are discussed below.
224:
225: Let $S$ be a two-dimensional surface embedded in $\mathbb{R}^3$
226: parametrized by
227: \[
228: \begin{array}{llll}
229: \bar{f}(u,v) &=& \sum_{i=0}^m \sum_{j=0}^n \bar{c}_{ij}
230: \phi_i(u)\phi_j(v), & 0 \leq u,v \leq 1,
231: \end{array}
232: \]
233: where $\bar{c}_{ij} \in \mathbb{R}^3$ $(i=0,1,\ldots,m;
234: j=0,1,\ldots,n)$ denote the coefficients. Define a line
235: \[
236: \begin{array}{llll}
237: L & =& \{p+dt : & t \in \mathbb{R} \},
238: \end{array}
239: \]
240: where $p, d \in \mathbb{R}^3, d \neq 0$. The line-surface
241: intersection problem is to find all of the intersections between
242: $S$ and $L$, which are the solutions of the polynomial system
243: \begin{equation}
244: \label{inteq} \bar{f}(u,v)-(p+dt)=0.
245: \end{equation}
246: The system (\ref{inteq}) can be reduced to a system of two
247: equations and two unknowns. To show this, we first break
248: (\ref{inteq}) into its component parts
249: \begin{eqnarray}
250: \bar{f}_1(u,v)-p_1-td_1 & = &0, \nonumber \\
251: \bar{f}_2(u,v)-p_2-td_2 & = &0, \nonumber \\
252: \bar{f}_3(u,v)-p_3-td_3 & = &0. \nonumber
253: \end{eqnarray}
254: Here, the subscript $i$ denotes the $i$th coordinate of the point
255: in three-dimensional space. Assuming $|d_1| \geq \max
256: \left\{|d_2|,|d_3|\right\}$, we have the equivalent system
257: \begin{equation}
258: \left.
259: \begin{array}{lll}
260: d_1(\bar{f}_2(u,v)-p_2)-d_2(\bar{f}_1(u,v)-p_1) = 0, \\
261: d_1(\bar{f}_3(u,v)-p_3)-d_3(\bar{f}_1(u,v)-p_1) = 0,
262: \end{array} \right.
263: \label{red1}
264: \end{equation}
265: which can be rewritten with the same basis $\phi_i(u)\phi_j(v)$
266: (see item \ref{constant_poly_easy} on the list of basis properties below) as
267: \begin{equation}
268: \label{red2} f(u,v) \equiv \sum_{i=0}^m \sum_{j=0}^n c_{ij}
269: \phi_i(u)\phi_j(v) = 0.
270: \end{equation}
271: The system (\ref{red2}) is the one our algorithm operates on.
272:
273: Since the parametric domain of the surface under consideration is
274: square, our algorithm uses the infinity norm for all of its norm
275: computation. Therefore, for the rest of this article, the
276: notation $\norm{\cdot}$ is used to refer specifically to infinity
277: norm.
278:
279: Our algorithm works with any polynomial basis $\phi_i(u)\phi_j(v)$
280: provided that the following properties hold:
281: \begin{enumerate}
282: \item There is a natural interval $[l,h]$ that is the domain for the polynomial.
283: In the case of Bernstein polynomials, this is $[0,1]$, and in the case of power and
284: Chebyshev polynomials, this is $[-1,1]$.
285:
286: \item It is possible to compute a bounding polygon $P$ of $S =
287: \{f(u,v) : l \leq u,v \leq h \}$, where $f(u,v) = \sum_{i=0}^m
288: \sum_{j=0}^n c_{ij} \phi_i(u)\phi_j(v)$ and $c_{ij} \in
289: \mathbb{R}^d$ for any $d \geq 1$, that satisfies the following
290: properties: \label{bounding_prop}
291: \begin{enumerate}
292: \item Determining whether $0 \in P$ can be done efficiently
293: (ideally in $O(mn)$ operations).
294:
295: \item Polygon $P$ is affinely and translationally invariant. In other words,
296: the bounding polygon of $\{Af(u,v)+b: l \leq u,v \leq h\}$
297: is $\{Ax+b : x \in P \}$ for any nonsingular matrix
298: $A \in \mathbb{R}^{d \times d}$ and any vector $b \in \mathbb{R}^d$.
299:
300: \item For any $y \in P$,
301: \begin{equation}
302: \norm{y} \leq \theta\max_{l \leq u,v \leq h} \norm{ f(u,v) },
303: \label{thetadef}
304: \end{equation}
305: where $\theta$ is a function of $m$ and $n$.
306: \item If $d=1$, then the endpoints of $P$ can be computed efficiently (ideally in $O(mn)$ time).
307: \label{prop_endpoint}
308: \end{enumerate}
309:
310: \item It is possible to reparametrize with $[l,h]^2$ the surface
311: $S_1 = \{ f(x) : x \in \bar{B}(x^0,r) \}$, where $x^0 \in
312: \mathbb{R}^2$ and $r \in \mathbb{R} > 0$. In other words, it is
313: possible (and efficient) to compute the polynomial $\hat f$
314: represented in the same basis such that $S_1=\{\hat f(\hat x):
315: \hat x \in [l,h]^2\}$.
316:
317: \item Constant polynomials are easy to represent. \label{constant_poly_easy}
318:
319: \item Derivatives of polynomials are easy to determine in the same basis. (preferably in $O(mn)$ operations).
320: \label{prop_deriv}
321: \end{enumerate}
322: Recall that $P$
323: is a bounding polygon of $S$ if and only if $x \in S$ implies $x
324: \in P$.
325:
326: As shown later in Section \ref{section_analysis}, the efficiency
327: of our algorithm depends on $\theta$. Hence, the choice
328: of the basis affects the algorithm's performance as each basis
329: allows different ways to compute bounding polygons.
330: %The readers
331: %are referred to \cite{srijuntongsiri2} for detail analysis of
332: %$\theta$ and $\tau$ for power, Bernstein, and Chebyshev bases.
333:
334:
335: \section{The Kantorovich-Test Subdivision algorithm}
336:
337: Before we detail our algorithm, we define notation and crucial
338: quantities that are used by the algorithm and its analysis.
339: Denote $x = (u,v)$ as a point in two-dimensional parametric space
340: and $f(x) = f(u,v)$ as the value of $f$ at $x$.
341:
342: For a given zero $x^*$ of polynomial $f$,
343: let $\omega_*(x^*)$ and $\rho_*(x^*)$
344: be quantities satisfying the conditions that, first, $\omega_*(x^*)$ is the smallest Lipschitz constant
345: for $f'(x^*)^{-1}f'$, i.e.,
346: \begin{equation}
347: \label{lip1}
348: \norm{f'(x^*)^{-1}\left( f'(x)-f'(y) \right)} \leq \omega_*(x^*) \cdot \norm{x-y} \textrm{ for all } x,y \in \bar{B}(x^*,\rho_*(x^*))
349: \end{equation}
350: and, second,
351: \begin{equation}
352: \label{rhostar}
353: \rho_*(x^*) = \frac{2}{\omega_*(x^*)}.
354: \end{equation}
355: Since $\omega_*(x^*)$ is nondecreasing as $\rho_*(x^*)$ increases in (\ref{lip1}) but
356: $\rho_*(x^*)$ is decreasing as $\omega_*(x^*)$ increases in (\ref{rhostar}), there exists a unique pair
357: $(\omega_*(x^*),\rho_*(x^*))$ satisfying the above conditions, and this pair can be obtained by binary search.
358: When more than one function is being discussed, we use $\omega_*^f(x^*)$ to denote $\omega_*(x^*)$ of
359: the function $f$. Approximation to these two quantities, $\omega_*(x^*)$ and $\rho_*(x^*)$, are computed and made use of by
360: the algorithm.
361:
362: For clarity, we simply abbreviate
363: $\omega_*(x^*)$ and $\rho_*(x^*)$ as $\omega_*$ and $\rho_*$, respectively,
364: throughout the rest of this article when it is clear from the context to which
365: $x^*$ the quantities belong.
366:
367: Straightforward application of the affine invariant form of Kantorovich's theorem with $x^0=x^*$ and $D = \bar{B}(x^*,\rho_*(x^*))$
368: yields the result that $x^*$ is the unique zero of $f$ in $\bar{B}(x^*,\rho_*(x^*))$. In fact,
369: the above definitions of $\omega_*(x^*)$ and
370: $\rho_*(x^*)$ are chosen such that the ball that is guaranteed by the
371: Kantorovich's theorem to contain no other zeros than $x^*$ is the largest possible.
372:
373: Define
374: \[
375: \gamma(\theta) = 1 / \left(4\sqrt{\theta(4\theta+1)}-8\theta \right),
376: \]
377: where $\theta$ is as in (\ref{thetadef}). Observe that $1 \leq \gamma(\theta) \leq \left(\sqrt{5}+2\right)/4 \approx 1.0590$ since $\gamma(\theta)$ is a decreasing function for positive $\theta$ and $\theta \geq 1$ by
378: the definition of a bounding polygon.
379: Another quantity of interest is $\omega_{D'}$, which is defined as
380: the smallest nonnegative constant $\omega$ satisfying
381: \begin{equation}
382: \begin{array}{llll}
383: \norm{f'(x^*)^{-1}\left(f'(y)-f'(z)\right)} & \leq & \omega \cdot \norm{y-z}, & y,z \in D', x^* \in [0,1]^2
384: \\
385: & & & \textrm{satisfying } f(x^*) = 0, \label{om}\end{array}
386: \end{equation}
387: where
388: \begin{equation}
389: \label{dprimedef} D' =
390: \left[-\gamma(\theta),1+\gamma(\theta)\right]^2.
391: \end{equation}
392: The motivation of this definition of $D'$ is that it contains all
393: domains whose Lipschitz constants may be needed during the course
394: of the algorithm. Denote $\omega_f$ as the maximum of
395: $\omega_{D'}$ and all $\omega_*(x^*)$
396: \[
397: \omega_f = \max\{\omega_{D'}, \max_{x^* \in \mathbb{C}^2 : f(x^*)=0} \omega_*(x^*)\}.
398: \]
399: Finally, define the condition number of $f$ to be
400: \begin{equation}
401: \label{conddef}
402: \cond{f} = \max \{ \omega_f, \max_{x^* \in \mathbb{C}^2 : f(x^*)=0,y \in [0,1]^2} \norm{\inv{f'(x^*)}f'(y)}\}.
403: \end{equation}
404: Note that in (\ref{om}), $x^*$ is restricted to zeros in $[0,1]^2$ whereas in (\ref{conddef}),
405: $x^*$ ranges over all complex zeros of $f$.
406: We defer the discussion of why (\ref{conddef}) is a reasonable condition number until
407: after the description of our algorithm.
408:
409: We define the \emph{Kantorovich test} on a region $X =
410: \bar{B}(x^0,r)$ as the application of Kantorovich's Theorem on
411: the point $x^0$ using $\bar{B}(x^0,2\gamma(\theta)r)$ as the
412: domain $D$ in the statement of the theorem and
413: $\norm{f'(x^0)^{-1}f(x^0)}$ as $\eta$. For $\omega$, we instead
414: use $\hat{\omega} \geq \omega$, where $\hat{\omega}$ is defined by
415: (\ref{computedlip}) below. The region $X$ passes the Kantorovich
416: test if $\eta \hat{\omega} \leq 1/4$ and $\bar{B}(x^0,\rho_-)
417: \subseteq D'$, which implies that $x^0$ is a fast starting point.
418:
419: The other test our algorithm uses is the exclusion test. For a
420: given region $X$, let $\hat{f}_X$ be the polynomial in the basis
421: $\phi_i(u)\phi_j(v)$ that reparametrizes with $[l,h]^2$ the
422: surface defined by $f$ over $X$. The region $X$ passes the
423: \emph{exclusion test} if the bounding polygon of $\{
424: \hat{f}_X(u,v) : l \leq u,v \leq h \}$ excludes the origin. Note
425: that the bounding polygon used in this test must satisfy
426: item \ref{bounding_prop} of the basis properties listed in Section \ref{section_formulation}.
427: %The
428: %choice of which type of bounding polygons to use depends on the
429: %choice of the polynomial basis. A suitable bounding polygon
430: %should be easy to compute and determine if it intersects with
431: %another polygon of the same type. For most bases, an axis-aligned
432: %bounding boxes can be used as the bounding polygon. For Bernstein
433: %basis, a convex hull is a better choice as it can be computed
434: %directly from the coefficients and it bounds the surface tighter
435: %than the axis-aligned bounding box. Note that computing a convex
436: %hull of a surface represented by other basis is generally too
437: %expensive to compensate for the tighter bound it offers over other
438: %kinds of bounding polygons.
439:
440: We now proceed to describe our algorithm, the
441: \emph{Kantorovich-Test Subdivision algorithm} or KTS in short.
442:
443: \begin{flushleft}
444: \textbf{Algorithm KTS}:
445: \end{flushleft}
446: \begin{itemize}
447: \item Let $Q$ be a queue with $[0,1]^2$ as its only entry. Set $S = \emptyset$.
448: \item Repeat until $Q = \emptyset$
449: \begin{enumerate}
450: \item Let $X$ be the patch at the front of $Q$. Remove $X$ from $Q$.
451: \item If $X \not\subseteq X_S$ for all $X_S \in S$,
452: \begin{itemize}
453: \item Perform the exclusion test on $X=\bar{B}(x^0,r)$
454: \item If $X$ fails the exclusion test,
455: \begin{enumerate}
456: \item Perform the Kantorovich test on $X$
457: \item If $X$ passes the Kantorovich test,
458: \begin{enumerate}
459: \item Perform Newton's method starting from $x^0$ to find a zero $x^*$.
460: \item If $x^* \not\in X_S$ for any $X_S \in S$ (i.e., $x^*$ has not been found previously),
461: \begin{itemize}
462: \item Compute $\rho_*(x^*)$ and its associated $\omega_*(x^*)$ by binary search.
463: \item Set $S = S \cup \left\{\bar{B}(x^*,\rho_*(x^*))\right\}$.
464: \end{itemize}
465: \end{enumerate}
466: \item Subdivide $X$ along both $u$ and $v$-axes into four equal subregions. Add these subregions
467: to the end of $Q$.
468: \end{enumerate}
469: \end{itemize}
470: \end{enumerate}
471: \end{itemize}
472: A few remarks are needed regarding the description of the KTS algorithm.
473: \begin{itemize}
474: \item The subdivision in step 2.c is performed regardless of the result of the Kantorovich test.
475: In general, passing the Kantorovich test does not imply that there is only one zero in $X$.
476: \item The check that the zero found
477: by Newton's method is not a duplicate (step 2.b.ii) is necessary
478: since the Kantorovich test may detect a zero outside $X$.
479: \item If the Kantorovich test is not applicable
480: for a certain patch due to the Jacobian of the midpoint being singular, the patch is
481: treated as if it fails the Kantorovich test.
482: \end{itemize}
483:
484: One property of KTS is that it is affine invariant. In other words, left-multiplying $f$
485: with a 2-by-2 matrix $A$ prior to executing KTS does not change its behavior.
486: This is the main reason we define the condition number to be affine invariant.
487: Define $g \equiv Af$.
488: To see that our condition number is affine invariant, note that
489: $\inv{g'(x)}g'(y) = \inv{[Af'(x)]}Af'(y) = \inv{f'(x)}\inv{A}Af'(y) = \inv{f'(x)}f'(y)$
490: for any $x, y \in \mathbb{R}^n$. Therefore, $\cond{g} = \cond{f}$.
491: In contrast, simpler condition numbers such as Lipschitz constants for $f'$
492: are not affine invariant and hence are not chosen for our analysis.
493:
494: Since Toth's algorithm is the most similar one to KTS, it is worthwhile to discuss
495: the main differences between the two and the implications these differences make. First,
496: Toth's uses the Krawczyk-Moore test and another unnamed test, both based on interval
497: analysis, as the convergence test. These two tests guarantee linear convergence for the \emph{simple} Newton iteration---a variation of Newton's method where the Jacobian of the initial
498: point is used in place of the Jacobian of the current point in every iteration.
499: With our Kantorovich test, KTS starts Newton's method only when quadratic
500: convergence is assured.
501:
502: Another main difference is in the choice of domains for the convergence test.
503: Toth's uses the subpatch $X$ itself as the domain for the test. This choice
504: may exhibit undesirable behavior when a zero lies on the border of a subpatch,
505: which is not necessarily on or near the border of the original domain $[0,1]^2$.
506: For example, consider the function $f(u,v)=(u^2-.25,v-.8)^T$ whose zeros are $(.5,.8)$
507: and $(-.5,.8)$. The patch $\{ (u,v) : .5 \leq u \leq .5+\epsilon, a \leq v \leq b \}$
508: does not pass either of Toth's convergence tests for any $\epsilon > 0$ and any $a \leq .8 \leq b$
509: although the patch $\{ (u,v) : .45 \leq u \leq .8, 0 \leq v \leq 1 \}$, a large patch whose
510: borders do not coincide with any zeros, does pass the Krawczyk-Moore test. This results
511: in excessive subdivisions by Toth's algorithm. KTS uses $\bar{B}(x^0,2\gamma(\theta)r)$ as
512: the domain for $X$ to avoid this problem. Theorem \ref{thm1} below shows that the Kantorovich test
513: does not have trouble detecting the zeros locating on the border of the subpatch.
514:
515:
516: \section{Implementation details when using power, Bernstein, or Chebyshev bases}
517:
518: This section covers the implementation details of KTS when the
519: polynomial system is in the power, Bernstein, or Chebyshev
520: bases. The power basis for polynomials of degree $n$ is $\phi_k(t) =
521: t^k$ $(0 \leq k \leq n)$. The Bernstein basis is $\phi_k(t) =
522: Z_{k,n}(t) = \nchoosek{n}{k}(1-t)^{n-k}t^k$ $(0 \leq k \leq n)$.
523: The Chebyshev basis is $\phi_k(t) = T_k(t)$ $(0 \leq k \leq n)$,
524: where $T_k(t)$ is the Chebyshev polynomial of the first kind
525: generated by the recurrence relation
526: \begin{eqnarray}
527: T_0(t) &= &1, \nonumber \\
528: T_1(t) &= & t, \nonumber \\
529: T_{k+1}(t) & = & 2tT_k(t)-T_{k-1}(t) \textrm{ for } k \geq 1.
530: \label{cheb_recurrence}
531: \end{eqnarray}
532:
533: \subsection{Bounding polygons}
534: \label{section_bounding_polygon} We begin with the choices of $l$
535: and $h$ and the definitions of bounding polygons of the surface
536: $S = \{ f(u,v) : l \leq u,v \leq h\}$, where $f(u,v)$ is represented
537: by one of the three bases, that satisfy the required properties
538: detailed in Section \ref{section_formulation}. For Bernstein
539: basis, the convex hull of the coefficients (control points), call
540: it $P_1$, satisfies the requirements for $l = 0$ and $h=1$. The
541: convex hull $P_1$ can be described as
542: \begin{equation}
543: \label{p1def} P_1 = \left\{ \sum_{i,j} c_{ij} s_{ij} : \sum_{i,j}
544: s_{ij} = 1, 0 \leq s_{ij} \leq 1 \right\}.
545: \end{equation}
546: For power and Chebyshev bases, the bounding polygon
547: \begin{equation}
548: \label{p2def} P_2 = \left\{ c_{00} + \sum_{i+j > 0} c_{ij} s_{ij} : -1
549: \leq s_{ij} \leq 1 \right\}
550: \end{equation}
551: satisfies the requirements for $l = -1$ and $h = 1$. Note that
552: $P_2$ is a bounding polygon of $S$ in the Chebyshev case since $|T_k(t)| \leq 1$
553: for any $k \geq 0$ and any $t \in [-1,1]$.
554: Determining whether $0 \in P_2$ is done by solving a small linear programming problem.
555: The value of $\theta$ for each case is summarized in Table
556: \ref{table_theta}. The reader is referred to \cite{srijuntongsiri2} for
557: the derivation of $\theta$ for each of the three bases
558: as well as the proofs that $P_1$ and $P_2$ satisfy all of the basis properties listed in Section \ref{section_formulation}.
559:
560: \begin{table}
561: \begin{center}
562: \begin{tabular}{|c|c|}
563: \hline
564: Basis & $\theta$ \\
565: \hline \hline
566: %Bernstein & $0$ & $1$ & convex hull of coefficients & $(m+1)(n+1)m^{m} n^n$ \\
567: Bernstein & %convex hull of coefficients &
568: $\left(\sum_{i=0}^m \prod_{i' \neq i} \frac{\max\{|m-i'|,|i'|
569: \}}{|i-i'|} \right)
570: \left(\sum_{j=0}^n \prod_{j' \neq j} \frac{\max\{|n-j'|,|j'| \}}{|j-j'|} \right) = O(m^{m+1}n^{n+1})$ \\
571: Chebyshev & %$\{ c_{00} + \sum_{i+j > 0} c_{ij} s_{ij} : -1 \leq s_{ij} \leq 1 \}$
572: $2(m+1)(n+1)$ \\
573: Power & %$\{ c_{00} + \sum_{i+j > 0} c_{ij} s_{ij} : -1 \leq s_{ij} \leq 1 \}$
574: $(m+1)(n+1)(3^{m+1}-1)(3^{n+1}-1)/2$ \\
575: \hline
576: \end{tabular}
577: \end{center}
578: \caption{The value of $\theta$'s of the power,
579: the Bernstein, and the Chebyshev bases and their corresponding bounding polygons.} \label{table_theta}
580: \end{table}
581:
582:
583: \subsection{Computation of Lipschitz constant}
584: \label{section_imp} Another step of KTS that needs further
585: elaboration is the computation of Lipschitz constant in the
586: Kantorovich test. The Lipschitz constant for $f'(x^0)^{-1}f'
587: \equiv g$ is obtained from an upper bound of the derivative of $g$
588: \[
589: g'(x) =
590: \left(\frac{\partial^2\left(f'(x^0)^{-1}f\right)_i(x)}{\partial
591: x_j
592: \partial x_k} \right)
593: \]
594: for all $x \in X$. Let $\hat{g} \equiv \hat{g}_X$ be the
595: polynomial in the same basis as $f$ that reparametrizes with
596: $[l,h]^2$ the surface defined by $g$ over $X$. We have that
597: \begin{eqnarray}
598: \max_{x \in X} \norm{g'(x)} & = & \max_{x \in [l,h]^2} \norm{\hat{g}'(x)} \nonumber \\
599: & = & \max_{x \in [l,h]^2} \max_{\norm{y}=1} \norm{\hat{g}'(x)y} \nonumber \\
600: & \leq & \max_{x \in [l,h]^2} \max_i \sum_{j=1}^2\sum_{k=1}^2 |\hat{g}'_{ijk}(x)| \nonumber \\
601: & \leq & 4 \max_{i,j,k} \max_{x \in [l,h]^2} | \hat{g}'_{ijk}(x)
602: |.\nonumber
603: % & \leq & 4 \max_{i,j,k} \max_{x \in X} U_{ijk}, \nonumber
604: \end{eqnarray}
605: Note that each entry of $\hat{g}'$ can be written as a polynomial
606: in the same basis as $f$ (refer to property \ref{prop_deriv} of the basis). For this reason, an upper bound of
607: $\max_{x \in [l,h]^2} | \hat{g}'_{ijk}(x)|$ can be computed as
608: follows: Let $P_{ijk}$ be the bounding polygon (bounding interval
609: in this case) of $\{\hat g'_{ijk}(x): x\in[l,h]^2\}$
610: computed in the same way as described in Section
611: \ref{section_bounding_polygon}. The maximum absolute value of the
612: endpoints of $P_{ijk}$ (refer to property \ref{prop_endpoint} of the basis) is an upper bound of $\max_{x \in [l,h]^2}
613: | \hat{g}'_{ijk}(x)|$. Let $\hat{\omega}$ denote the Lipschitz
614: constant computed in this manner, that is,
615: \begin{equation}
616: \label{computedlip} \hat{\omega} \equiv 4 \max_{i,j,k} \max_{x \in [l,h]^2} | \hat{g}'_{ijk}(x)|,
617: \end{equation}
618: where $\max_{x \in [l,h]^2} | \hat{g}'_{ijk}(x)|$ is computed from the
619: endpoints of its bounding interval.
620:
621:
622: \section{Significance of our condition number}
623:
624: We now discuss the significance of (\ref{conddef}) to the
625: conditioning of the problem. In particular, we attempt to justify
626: that the efficiency of any algorithm in the same class as KTS is
627: dependent on (\ref{conddef}). This class of algorithms being
628: considered includes any algorithm that (i) isolates unique zeros
629: with subdivision before finding them and (ii) will not discard a
630: patch until the convex hull of its function values (which is
631: clearly a subset of any possible bounding convex polygon) excludes
632: the origin.
633:
634: \subsection{Condition number and the Kantorovich test}
635:
636: This section discusses the relationship between $\omega_f$ and the
637: Kantorovich test. We show that, for any given zero $x^*$ of an
638: arbitrary $f$, there is a function $\bar{f}$ such that $x^*$ is
639: also a zero of $\bar{f}$, $f'(x^*) = \bar{f}'(x^*)$,
640: $\omega_*^f(x^*) = \omega_*^{\bar{f}}(x^*)$, and $\bar{f}$ has
641: another zero $y^*$ with $\norm{y^*-x^*} = \rho_*(x^*)$.
642: For example, consider a zero $x^* = (.5,.5)$ of
643: the function $f = (u^3-2.2 u^2+1.55 u-.35,v^2-.7 v+.1)^T$,
644: of which $\rho_*(x^*) = .1$.
645: A corresponding $\bar{f}$ with the above properties is
646: $\bar{f} = (u^2-.9 u+.2, .3 v -.15)^T$,
647: which has zeros at $(.5,.5)$ and $(.4,.5)$.
648: Since the
649: Kantorovich test uses only the function value, its first
650: derivative, and the Lipschitz constant, all of which are the same
651: for $f$ and $\bar{f}$ at $x^*$, the functions $f$ and $\bar{f}$
652: are identical from the perspective of the Kantorovich test applied
653: to $x^*$. Therefore, $\rho_*(x^*)$ is a reasonable number that
654: quantifies the distance between $x^*$ and its nearest other zero
655: barring the usage of additional information. Consequently,
656: $\omega_f$, which is greater than or equal to $\omega_*(x^*) =
657: 2/\rho_*(x^*)$ for all zeros $x^*$ of $f$, describes the distance
658: between the closest pairs of zeros of $f$. Therefore, the
659: efficiency of any algorithm that isolates unique zeros is
660: dependent on $\omega_f$.
661: %\begin{figure}
662: %% \centering
663: % \subfloat[The contour lines of $f$ and the zeros of $f$. The zero $x^*$ has $\omega_*^f(x^*)=20$ and $\rho_*(x^*)=.1$.]{ \includegraphics[width=0.9\textwidth]{kanto_fig_f}}\qquad
664: % \subfloat[The contour lines of $\bar{f}$ and the two zeros $x^*=(.5,.5)$ and $y^*=(.4,.5)$ of $\bar{f}$. The distance between the two zeros $\norm{y^*-x^*} = .1 = \rho_*(x^*)$.]{\includegraphics[width=0.9\textwidth]{kanto_fig_fbar}\label{f1b}}
665: % \caption{The function $f = (u^3-2.2 u^2+1.55 u-.35,v^2-.7 v+.1)^T$ and its corresponding
666: % $\bar{f} = (u^2-.9 u+.2, .3 v -.15)^T$. Choose $x^* = (.5,.5)$. The two functions $f$ and $\bar{f}$ satisfies $f(x^*)=\bar{f}(x^*)=0$, $f'(x^*)=\bar{f}'(x^*)$, $\omega_*^f(x^*)=\omega_*^{\bar{f}}(x^*)$, and $\bar{f}$ has
667: % another zero $y^*$ with $\norm{y^*-x^*} = \rho_*(x^*)$.}
668: % \label{fig_kanto}
669: %\end{figure}
670: %
671:
672: The function $\bar{f}$ with the above properties can be
673: constructed as follows: Let $x^* = (u^*,v^*),$ $f'(x^*) = \left( \begin{array}{cc}
674: \alpha_1 & \alpha_2 \\ \alpha_3 & \alpha_4 \end{array} \right)$,
675: %[\alpha_1, \alpha_2 ; \alpha_3, \alpha_4]$,
676: and $\omega_*^f(x^*) =
677: \omega$. If $|\alpha_4| \geq |\alpha_3|$,
678: \begin{equation}
679: \label{ggg1}
680: \bar{f}(u,v) = \left( \begin{array}{c}
681: \frac{\omega(\alpha_1\alpha_4-\alpha_2\alpha_3)}{2\alpha_4}(u-u^*)^2+\alpha_1(u-u^*)+\alpha_2 (v-v^*) \\
682: \alpha_3 (u-u^*) +\alpha_4 (v-v^*)\end{array} \right).
683: \end{equation}
684: Otherwise,
685: \[
686: \bar{f}(u,v) = \left( \begin{array}{c}
687: \alpha_1(u-u^*)+\frac{\omega(\alpha_1\alpha_4-\alpha_2\alpha_3)}{2\alpha_3}(v-v^*)^2+\alpha_2(v-v^*) \\
688: \alpha_3 (u-u^*) +\alpha_4 (v-v^*)
689: \end{array} \right).
690: \]
691:
692: It is straightforward to verify that $\bar{f}(x^*) = 0$, $\bar{f}'(x^*) = f'(x^*)$, and
693: $\omega_*^{\bar{f}}(x^*) = \omega$.
694: We now show that $\norm{y^*-x^*} = \rho_*(x^*)$ for the
695: case where $|\alpha_4| \geq |\alpha_3|$.
696: The other case can be verified in the same manner. Let $y^* = (u^* + \Delta u, v^*+\Delta v)$.
697: Substituting $y^*$ into (\ref{ggg1}) and setting it to zero yields
698: \begin{equation}
699: \label{gsimple}
700: g(u^* + \Delta u, v^*+\Delta v) = \left( \begin{array}{c}
701: \frac{\omega(\alpha_1\alpha_4-\alpha_2\alpha_3)}{2\alpha_4}(\Delta u)^2 + \alpha_1 \Delta u + \alpha_2 \Delta v \\
702: \alpha_3 \Delta u + \alpha_4 \Delta v \end{array} \right)
703: = \left( \begin{array}{c} 0\\ 0 \end{array} \right).
704: \end{equation}
705: Solving (\ref{gsimple}) yields
706: \begin{eqnarray}
707: \Delta u & = & -\frac{2}{\omega}, \nonumber \\
708: \Delta v & = & \frac{\alpha_3}{\alpha_4}\cdot\frac{2}{\omega}. \nonumber
709: \end{eqnarray}
710: Since $|\alpha_4| \geq |\alpha_3|$ and $\rho_*(x^*) = 2/\omega$, $\norm{y^*-x^*} = \rho_*(x^*)$.
711:
712: \subsection{Condition number and the exclusion test}
713:
714: The other term in our condition number, $\max_{x^* \in
715: \mathbb{C}^2 : f(x^*) = 0, y \in [0,1]^2}
716: \norm{\inv{f'(x^*)}f'(y)}$, relates to the convex bounding polygon
717: test---the test to determine whether the convex bounding polygon
718: of a subpatch contains the origin. We show that there exists a
719: function $f$ such that a patch $B(x^0,r)$ where $x^0$ is
720: relatively close to a zero, fails the convex bounding polygon test
721: if $r \geq O(1/\cond{f})$. Denote $x^0 = (u^0,v^0)$. Define the
722: complex function $g(z) =
723: \left(z-(u^0-\epsilon-i\epsilon)\right)\cdot\left(z-(u^0+\epsilon-i\epsilon)\right)$,
724: where $\epsilon \in \mathbb{R}$ and $0 < \epsilon < 1$. Consider
725: the following function
726: \begin{eqnarray}
727: f(u,v) & =& \left( \begin{array}{l}
728: % u^2-v^2-2u^0u-2\epsilon v - 2\epsilon^2 + (u^0)^2\\
729: % 2uv-2u^0v+2\epsilon u - 2 \epsilon u^0
730: {\rm Re}\left( g(u+iv) \right)\\
731: {\rm Im}\left( g(u+iv) \right)
732: \end{array} \right) \nonumber \\
733: & = & \left( \begin{array}{l}
734: u^2-v^2-2u^0u-2\epsilon v - 2\epsilon^2 + (u^0)^2\\
735: 2uv-2u^0v+2\epsilon u - 2 \epsilon u^0
736: \end{array} \right), \label{fexc}
737: \end{eqnarray}
738: %where $\Re \epsilon > 0$.
739: where ${\rm Re}(z)$ and ${\rm Im}(z)$ denote the real and imaginary parts of the complex number $z$, respectively.
740: The four complex zeros of $f$ are $(u^0-\epsilon,-\epsilon)$, $(u^0+\epsilon,-\epsilon)$,
741: $(u^0,-\epsilon-i\epsilon )$, and $(u^0,-\epsilon+i\epsilon)$. Therefore,
742: \[
743: \max_{x^* \in \mathbb{C}^2 : f(x^*) = 0, y \in [0,1]^2} \norm{\inv{f'(x^*)}f'(y)} = O(1/\epsilon).
744: \]
745: Moreover,
746: \[
747: \omega_f = O(1/\epsilon).
748: \]
749:
750: We now show for the case that $v^0 = O(\epsilon)$ that $B(x^0,r)$
751: fails the convex bounding polygon test if $r \geq O(\epsilon)$.
752: Let $A$ be the circular arc centered at $(u^0,-\epsilon)$ that
753: goes from $(u^0+r,v^0-r)$ to $(u^0-r,v^0-r)$ counterclockwise.
754: Observe that $f$ maps $A$ to the circular arc centered at
755: $(-\epsilon^2,0)$ that goes from $(2(v^0+\epsilon)r-2\epsilon
756: v^0-(v^0)^2-2\epsilon^2,2r(v^0+\epsilon-r))$ to
757: $(2(v^0+\epsilon)r-2\epsilon
758: v^0-(v^0)^2-2\epsilon^2,-2r(v^0+\epsilon-r))$ counterclockwise
759: (see Figure \ref{fig_exclusion}).
760: Notice that $2r(v^0+\epsilon-r) \geq 0$ because $B(x^0,r)
761: \subseteq [0,1]^2$. Therefore, the convex bounding polygon of
762: $f(A)$ contains the origin if $r > ((v^0)^2+2\epsilon v^0 +
763: 2\epsilon^2) / (2(v^0+\epsilon)) = O(\epsilon)$ (recall the
764: assumption that $v^0 = O(\epsilon)$). Since $A \subset B(x^0,r)$,
765: the convex bounding polygon of $f(B(x^0,r))$ also contains the
766: origin and the convex bounding polygon test fails.
767: \begin{figure}
768: % \centering
769: \subfloat[The circular arc $A \subseteq \bar{B}(x^0,r)$ .]{ \includegraphics[width=0.9\textwidth]{exclusion_fig_a}}\qquad
770: \subfloat[The range $f(A)$ and its convex bounding polygon]{\includegraphics[width=0.9\textwidth]{exclusion_fig_b}\label{f2b}}
771: \caption{The circular arc $A$ centered at $(u^0,-\epsilon)$
772: that goes from $(u^0+r,v^0-r)$ to $(u^0-r,v^0-r)$ and its range $f(A)$ where $f$ is
773: as in (\ref{fexc}). Figure \ref{f2b} shows that the bounding convex
774: polygon of $f(A)$ contains the origin, and therefore $\bar{B}(x^0,r)$
775: fails the convex bounding polygon test.}
776: \label{fig_exclusion}
777: \end{figure}
778: %
779: \section{Time complexity analysis}
780: \label{section_analysis}
781:
782: In this section, we prove a number of theorems relating to the
783: behavior of the KTS algorithm. We analyze the efficiency of KTS
784: by showing that a patch either is a subset of a safe region,
785: passes the Kantorovich test, or passes the exclusion test when it
786: is smaller than a certain size that depends on the condition
787: number of the function. Hence, we have the upper bound of the
788: total number of patches examined by KTS in order to solve the
789: intersection problem.
790:
791: Recall that the Lipschitz constant $\hat{\omega}$ given by
792: (\ref{computedlip}) is not the smallest Lipschitz constant of
793: $\inv{f'(x^0)}f$ over $D'$, where $D'$ is given by
794: (\ref{dprimedef}). However, we can show that $\hat{\omega} \leq
795: 4\theta\omega$, where $\omega$ denotes the smallest Lipschitz
796: constant of $\inv{f'(x^0)}f$ over $D'$. Since $\hat{\omega}$
797: is computed from the
798: endpoints of the bounding intervals of $\max_{x \in [l,h]^2} | \hat{g}'_{ijk}(x)|$,
799: by (\ref{thetadef}),
800: \begin{eqnarray}
801: \hat{\omega} & \leq & 4\theta \max_{i,j,k}\max_{x \in [l,h]^2} \left|\hat{g}'_{ijk}(x) \right| \nonumber \\
802: & = & 4\theta \max_{i,j,k}\max_{x \in X} \left|g'_{ijk}(x) \right| \nonumber \\
803: & \leq & 4\theta \max_{x \in X} \norm{g'(x)} = 4\theta\omega.
804: \label{hodef}
805: \end{eqnarray}
806: With this bound on $\hat{\omega}$, we can now analyze the behavior of the Kantorovich test.
807:
808: \begin{thm}
809: \label{thm1} Let $x^0$ be a point in $[0,1]^2$ such that $f'(x^0)$
810: is invertible. Let $x^*$ be a zero of $f$ that is contained in
811: $\bar{B}(x^0,r)$, where $r$ is the radius of the patch under
812: consideration. The patch $X = \bar{B}(x^0,r) \subseteq [0,1]^2$
813: passes the Kantorovich test if
814: \begin{equation}
815: \label{thm1a1}
816: r \leq \frac{\gamma(\theta)-1}{\gamma(\theta)\omega_{D'}}.
817: \end{equation}
818: \end{thm}
819: \begin{proof}
820: The first step is to show that $\eta\hat{\omega} \leq 1/4$, where
821: $\hat{\omega}$ is as in (\ref{computedlip}). Since $r \leq 1/2$,
822: $\bar{B}(x^0,2\gamma(\theta)r) \subseteq D'$. Observe that for any
823: $x, y \in D'$,
824: \begin{eqnarray}
825: \norm{\inv{f'(x^0)}(f'(x)-f'(y))} & = & \|\left(\inv{f'(x^*)} + (\inv{f'(x^0)}-\inv{f'(x^*)})\right)
826: \nonumber \\
827: & & \left(f'(x)-f'(y)\right)\| \nonumber \\
828: & \leq & \norm{\inv{f'(x^*)}\left(f'(x)-f'(y)\right)}+ \|\inv{f'(x^*)} \nonumber \\
829: & & (f'(x^*)-f'(x^0))\inv{f'(x^0)}(f'(x)-f'(y))\| \nonumber \\
830: & \leq & \omega_{D'} \norm{x-y} + \norm{\inv{f'(x^*)}(f'(x^*)-f'(x^0))}\cdot \nonumber \\
831: & & \norm{\inv{f'(x^0)}(f'(x)-f'(y))} \nonumber \\
832: & \leq & \omega_{D'} \norm{x-y} + \nonumber \\
833: & & \omega_{D'}\norm{x^*-x^0} \cdot \norm{\inv{f'(x^0)}(f'(x)-f'(y))} \nonumber\\
834: & \leq & \omega_{D'} \norm{x-y} + \nonumber \\
835: & & \omega_{D'} r \cdot \norm{\inv{f'(x^0)}(f'(x)-f'(y))}.
836: \label{thm1l1}
837: \end{eqnarray}
838: Since (\ref{thm1a1}) implies
839: \begin{equation}
840: \label{onewr} 1-\omega_{D'}r \geq 1/\gamma(\theta) > 0,
841: \end{equation}
842: the inequality (\ref{thm1l1}) becomes
843: \[
844: \norm{\inv{f'(x^0)}(f'(x)-f'(y))} \leq \left(\frac{\omega_{D'}}{1-\omega_{D'} r}\right) \norm{x-y}.
845: \]
846: Hence
847: \begin{equation}
848: \omega \leq \frac{\omega_{D'}}{1-\omega_{D'} r}, \label{w}
849: \end{equation}
850: where $\omega$ is the smallest Lipschitz constant of
851: $\inv{f'(x^0)}f'$ over $D'$.
852:
853: Recall that $f(x^*) = 0$ and $X \subseteq D'$. Observe that
854: \begin{eqnarray}
855: \eta & \equiv & \norm{f'(x^0)^{-1}f(x^0)} \nonumber \\
856: & = & \norm{f'(x^0)^{-1}(f(x^0)-f(x^*))} \nonumber \\
857: & \leq & \left(\max_{x \in X} \norm{\inv{f'(x^0)}f'(x)}\right)\cdot \norm{x^0-x^*} \nonumber \\
858: & \leq & \left(\max_{x \in X} \norm{\inv{f'(x^0)}(f'(x)-f'(x^0))+\inv{f'(x^0)}f'(x^0)}\right)\cdot r \nonumber \\
859: & \leq & \left(\max_{x \in X} \norm{\inv{f'(x^0)}(f'(x)-f'(x^0))}+1\right)\cdot r \nonumber \\
860: & \leq & (\omega r + 1 ) r. \label{et}
861: \end{eqnarray}
862:
863: Using (\ref{hodef}), (\ref{thm1a1}), (\ref{onewr}), (\ref{w}), and
864: (\ref{et}) together give
865: \[
866: \eta\hat{\omega} \leq \frac{1}{4}.
867: \]
868:
869: The last step is to to verify the other condition that
870: $\bar{B}(x^0,\rho_{-}) \subseteq \bar{B}(x^0,2\gamma(\theta)r)$.
871: Noting that $\sqrt{1-2h} \geq 1-2h$ for $0 \leq h \leq 1/2$, it is
872: seen that
873: \begin{eqnarray}
874: \rho_-(\eta,\hat{\omega}) & = & \frac{1-\sqrt{1-2\eta\hat{\omega}}}{\hat{\omega}} \nonumber \\
875: & \leq & 2 \eta \nonumber \\
876: & \leq & 2 (\omega r + 1 ) r \nonumber \\
877: & \leq & 2\gamma(\theta)r. \qedhere \nonumber
878: \end{eqnarray}
879: \end{proof}
880:
881: Next results are concerned with the size of the patch satisfying the exclusion test.
882:
883: % Lemma 1.1: If ||f(x0)|| is small and roots are well conditioned and such, then x0 is near a root.
884: \begin{lemma}
885: \label{lem1}
886: Let $f: \mathbb{C}^n\rightarrow \mathbb{C}^n$ be a polynomial function with generic coefficients.
887: Assume that all zeros of $f$ are invertible.
888: Let $x^0$ be a point in $\mathbb{R}^n$.
889: If
890: \begin{equation}
891: \label{lemmaas}
892: \norm{\inv{f'(x^*)}f(x^0)} \leq \frac{1}{2\omega_f}
893: \end{equation}
894: for all complex zeros $x^*$ of $f$,
895: then there exists $\hat{x}^*$, a zero of $f$, such that
896: \begin{eqnarray}
897: \label{lemmacn}
898: \norm{x^0-\hat{x}^*} & \leq & \frac{1-\sqrt{1-2\omega_f\norm{\inv{f'(\hat{x}^*)}f(x^0)}}}{\omega_f} \\
899: & \equiv & \sigma(\hat{x}^*,x^0). \nonumber
900: \end{eqnarray}
901: \end{lemma}
902: \begin{proof}
903: By the assumption that $f$ has generic coefficients, the polynomial $f$ has a finite number of zeros.
904: Let $x^*_1$, $x^*_2$, \ldots, $x^*_d$ be all the complex zeros of $f$.
905: Recall that a multiple zero has singular Jacobian. Hence, $f$ has no multiple zeros by assumption.
906:
907: Define the polynomial $\bar{f}(x) = f(x)-f(x^0)$. Note that $x^0$ is a zero of $\bar{f}$.
908: We apply the Kantorovich's theorem for complex functions (see \cite{farouki}) to each $x^*_i$ with respect to
909: $\bar{f}$. For each $x^*_i$, we use $D = \bar{B}(x^*_i,\rho_*(x^*_i))$ and $\omega = \omega_f$.
910: Since $\eta \equiv \norm{\inv{\bar{f}'(x^*_i)}\bar{f}(x^*_i)} = \norm{\inv{f'(x^*_i)}f(x^0)}$,
911: the assumption (\ref{lemmaas}) guarantees that the condition $\eta\omega \leq 1/2$ is satisfied.
912: The condition $\bar{B}(x^*_i,\rho_-) \subseteq D$ is also satisfied by the definition of $D$. Therefore, the Kantorovich
913: theorem states that there is a zero of $\bar{f}$, call it $\bar{x}^*_i$, such that
914: \begin{equation}
915: \label{lenofh}
916: \norm{\bar{x}^*_i-x^*_i} \leq \sigma(x^*_i,x^0).
917: \end{equation}
918: Recall that, for any $j$, $x^*_j$ is the unique zero of $f$ in $\bar{B}(x^*_j,\rho_*(x^*_j))$.
919: Therefore,
920: \begin{equation}
921: \label{rootdistance}
922: \norm{x^*_i-x^*_j} > \max\{\rho_*(x^*_i),\rho_*(x^*_j)\}, i \neq j.
923: \end{equation}
924: But (\ref{lenofh}) and (\ref{rootdistance}) together imply that
925: \begin{equation}
926: \label{distinct}
927: \bar{x}^*_i \neq \bar{x}^*_j, i \neq j.
928: \end{equation}
929: Hence the mapping $x^*_i \rightarrow \bar{x}^*_i$ is injective.
930: But since $f$ has generic coefficients and $f$ and $\bar{f}$ are of the same degrees, $f$
931: has at least as many zeros as $\bar{f}$ \cite{emiris}.
932: This implies that $x^0 = \bar{x}^*_i$, for some $i$. The lemma follows.
933: \end{proof}
934:
935: \begin{thm}
936: \label{thm2} Let $f(x)=f(u,v)$ be a polynomial system in basis
937: $\phi_i(u)\phi_j(v)$ in two dimensions
938: with generic coefficients. %Let $m$ be the highest $u$ degree of
939: %$f$ and $n$ be its highest $v$ degree.
940: Let $x^0 = (u^0,v^0)$ be a
941: point in $[0,1]^2$ such that $f'(x^0)$ is invertible and $f(x^0)
942: \neq 0$, $x^*$ be the closest zero in $\mathbb{R}^2$ of $f$ to
943: $x^0$, and $\delta$ denote $\norm{x^0-x^*}$. Let $r > 0$ be such
944: that $\bar{B}(x^0,r) \subseteq [0,1]^2$. Assume $\delta >
945: \frac{1}{\omega_f}$. Define $\hat{f}(\hat{u},\hat{v})$ such that
946: \begin{equation}
947: \label{rescale}
948: \hat{f}(\hat{u},\hat{v}) = f( \frac{2r}{h-l}\hat{u}-\frac{2hr}{h-l}+u^0+r,
949: \frac{2r}{h-l}\hat{v}-\frac{2hr}{h-l}+v^0+r).
950: \end{equation}
951: In other word, $\hat{f}$ is a polynomial in basis
952: $\phi_i(u)\phi_j(v)$ that reparametrizes with $[l,h]^2$ the
953: surface defined by $f$ over the patch $\bar{B}(x^0,r)$.
954: %Let $h(f)$ denote the convex hull of $\{\textbf{b}_{ij}\}$.
955: The bounding polygon of $\{ \hat{f}(u,v) : l \leq u,v \leq h\}$
956: satisfying item \ref{bounding_prop} of the basis properties listed in Section \ref{section_formulation}
957: does not contain the origin if
958: \begin{equation}
959: \label{deltahatcond} r \leq \frac{1}{2\theta\cond{f}^2}.
960: \end{equation}
961: \end{thm}
962: \begin{proof}
963: Let $X$ denote the patch $\bar{B}(x^0,r)$ and $x$ denote an arbitrary point in $X$.
964: Since $\delta > \frac{1}{\omega_f}$, the contrapositive of Lemma \ref{lem1} implies there exists
965: a zero $\bar{x}^*$ of $f$ satisfying
966: $\norm{f'(\bar{x}^*)^{-1}f(x^0)} > \frac{1}{2\omega_f}$. Therefore, the condition
967: (\ref{deltahatcond}) implies
968: \begin{eqnarray}
969: r & \leq & \frac{1}{2\theta\cond{f}^2} \nonumber \\
970: & \leq & \frac{1}{2\theta\omega_f\norm{f'(\bar{x}^*)^{-1}f'(x)}} \nonumber \\
971: & < &
972: \frac{\norm{f'(\bar{x}^*)^{-1}f(x^0)}}{\theta\norm{f'(\bar{x}^*)^{-1}f'(x)}}
973: \nonumber.
974: \end{eqnarray}
975: More specifically, we have
976: \[
977: r < \frac{\norm{f'(\bar{x}^*)^{-1}f(x^0)}}{\theta\max_{y\in
978: X}\norm{f'(\bar{x}^*)^{-1}f'(y)}},
979: \]
980: which is equivalent to
981: \begin{equation}
982: \label{fx1} \theta\cdot\max_{y \in
983: X}\norm{f'(\bar{x}^*)^{-1}f'(y)}\cdot r <
984: \norm{f'(\bar{x}^*)^{-1}f(x^0)}.
985: \end{equation}
986: Recall that $\max_{y \in X}\norm{f'(\bar{x}^*)^{-1}f'(y)}$ is the Lipschitz constant for
987: $\inv{f'(\bar{x}^*)}f$ on $X$. Hence, for any $x \in X$,
988: \begin{eqnarray}
989: \norm{f'(\bar{x}^*)^{-1}f(x)-f'(\bar{x}^*)^{-1}f(x^0)} &\leq &
990: \max_{y \in X}\norm{f'(\bar{x}^*)^{-1}f'(y)} \cdot \norm{x-x^0} \nonumber \\
991: & \leq & \max_{y \in X}\norm{f'(\bar{x}^*)^{-1}f'(y)} \cdot r.
992: \label{lip}
993: \end{eqnarray}
994: Combining (\ref{fx1}) and (\ref{lip}) gives
995: \[
996: \theta\cdot\norm{f'(\bar{x}^*)^{-1}f(x)-f'(\bar{x}^*)^{-1}f(x^0)} <
997: \norm{f'(\bar{x}^*)^{-1}f(x^0)},
998: \]
999: which is equivalent to
1000: \[
1001: \theta\cdot\norm{f'(\bar{x}^*)^{-1}\hat{f}(\hat{x})-f'(\bar{x}^*)^{-1}\hat{f}(\hat{x}^0)}
1002: < \norm{f'(\bar{x}^*)^{-1}\hat{f}(\hat{x}^0)}
1003: \]
1004: for some $\hat{x} \in [l,h]^2$, where $\hat{x}$ is the rescaled $x$ and $\hat{x}^0$ is the rescaled $x^0$
1005: according to (\ref{rescale}). In particular,
1006: \begin{equation}
1007: \label{beforebi} \theta\cdot\max_{\hat{x} \in
1008: [l,h]^2}\norm{f'(\bar{x}^*)^{-1}\hat{f}(\hat{x})-f'(\bar{x}^*)^{-1}\hat{f}(\hat{x}^0)}
1009: < \norm{f'(\bar{x}^*)^{-1}\hat{f}(\hat{x}^0)}.
1010: \end{equation}
1011: Let $h(\hat{x}) \equiv f'(\bar{x}^*)^{-1}\hat{f}(\hat{x})$ and $g(\hat{x}) \equiv h(\hat{x})-h(\hat{x}^0)$. By (\ref{thetadef}),
1012: \begin{equation}
1013: \label{fromlemma} \norm{z} \leq
1014: \theta\cdot\max_{\hat{x} \in
1015: [l,h]^2}\norm{g(\hat{x})},
1016: %\label{fromlemma} \norm{y-h(\hat{x}^0)} \leq
1017: %2\tau\cdot\max_{\hat{x} \in
1018: %[0,1]^2}\norm{h(\hat{x})-h(\hat{x}^0))},
1019: \end{equation}
1020: for any $z$ in the bounding polygon $P_g$ of $\{ g(\hat{x}) :
1021: \hat{x} \in [l,h]^2 \}$. Since the bounding polygon is required to be
1022: translationally invariant (item \ref{bounding_prop} of the basis properties
1023: listed in Section \ref{section_formulation}),
1024: (\ref{fromlemma}) is equivalent to
1025: \begin{equation}
1026: \label{shifted_theta} \norm{y-h(\hat{x}^0)} \leq
1027: \theta\cdot\max_{\hat{x} \in
1028: [l,h]^2}\norm{h(\hat{x})-h(\hat{x}^0))},
1029: \end{equation}
1030: for any $y$ in the bounding polygon $P_h$ of $\{ h(\hat{x}) :
1031: \hat{x} \in [l,h]^2 \}$.
1032: Substituting (\ref{shifted_theta}) into the
1033: left hand side of (\ref{beforebi}) yields
1034: \begin{equation}
1035: \label{convexnozero} \norm{y-h(\hat{x}^0)} < \norm{h(\hat{x}^0)},
1036: \end{equation}
1037: which implies that $P$ does not contain the origin. Since
1038: $f'(\bar{x}^*)^{-1}$ is invertible and the bounding polygon is
1039: affinely invariant, the bounding polygon of $\{ \hat{f}(\hat{x})
1040: : \hat{x} \in [l,h]^2 \}$ does not contain the origin, either.
1041: \end{proof}
1042:
1043: \begin{thm}
1044: \label{thm3} Let $f(x)=f(u,v)$ be a polynomial system in basis
1045: $\phi_i(u)\phi_j(v)$ in two dimensions with generic coefficients
1046: whose zeros are sought. Let $X = \bar{B}(x^0,r)$ be a patch under
1047: consideration during the course of the KTS algorithm. The
1048: algorithm does not need to subdivide $X$ if
1049: \begin{equation}
1050: \label{thm3ass} r \leq \frac{1}{2}\cdot\min
1051: \left\{\frac{1-1/\gamma(\theta)}{\omega_f},
1052: \frac{1}{2\theta\cond{f}^2}\right\}.
1053: \end{equation}
1054: \end{thm}
1055: \begin{proof}
1056: %If $X$ contains a zero $x^*$, (\ref{thm3ass}) implies that $\bar{B}(x^0,r)$ passes the Kantorovich test
1057: %according to Theorem \ref{thm1}.
1058: If $\delta > 1/\omega_f$, where $\delta$ is the distance between
1059: $x^0$ and the closest zero $x^*$, $r \leq
1060: \left(1-1/\gamma(\theta)\right)/(2\omega_f)$ implies that $X$ does
1061: not contain a zero. Therefore, $r \leq 1/(4\theta\cond{f}^2)$
1062: implies that $X$ is excluded by the exclusion test according to
1063: Theorem \ref{thm2}.
1064:
1065: Observe that $\omega_* \leq \omega_f$. If $\delta \leq
1066: \frac{1}{\omega_f}$, for any $x \in X$,
1067: \begin{eqnarray}
1068: \norm{x-x^*} & \leq & \norm{x-x^0} + \norm{x^0-x^*} \nonumber \\
1069: & \leq & r + \delta \nonumber \\
1070: & \leq & \frac{1-1/\gamma(\theta)}{\omega_f} + \frac{1}{\omega_f} \nonumber \\
1071: & < & \frac{2}{\omega_f} \leq \frac{2}{\omega_*} = \rho_*. \nonumber
1072: \end{eqnarray}
1073: In other word, $X$ is contained within $\bar{B}(x^*,\rho_*)$, a
1074: safe region and therefore is excluded, provided that $x^*$ is
1075: found before $X$ is checked against all safe regions. By Theorem
1076: \ref{thm1}, $x^*$ is found by a region of size $2r \leq
1077: (1-1/\gamma(\theta))/\omega_{D'}$. Since KTS examines larger
1078: regions before smaller ones, $x^*$ is found before $X$ is checked
1079: against safe regions.
1080: \end{proof}
1081: It should be noted that
1082: \begin{equation}
1083: \label{lingam}
1084: 1-1/\gamma(\theta) \geq 1/(18\theta)
1085: \end{equation}
1086: hence both terms of the
1087: right hand side of (\ref{thm3ass}) are asymptotically linear in $1/\theta$.
1088: The inequality (\ref{lingam}) follows from the fact that
1089: \begin{equation}
1090: \label{asmp}
1091: \sqrt{1+a} \leq 1+a/2-a^2/9
1092: \end{equation}
1093: for any $a \in [0,1/4]$. To prove (\ref{asmp}), simplify (\ref{asmp}) to $a^2-9a+9/4 \geq 0$,
1094: whose left hand side is a convex quadratic polynomial that crosses the x-axis at $(9-6\sqrt{2})/2 \approx .2574$
1095: and at $(9+6\sqrt{2})/2$.
1096:
1097:
1098: \section{Computational results}
1099:
1100: The KTS algorithm is implemented in Matlab and is tested against a
1101: number of problem instances with varying condition numbers. As
1102: B\'{e}zier surfaces are widely used in geometric modeling, we
1103: choose to implement KTS for the Bernstein basis case. Most of the
1104: test problems are created by using normally distributed random
1105: numbers as the coefficients $c_{ij}$'s of $f$. For some of the
1106: test problems especially those with high condition number, some
1107: coefficients are manually entered. The degrees of the test
1108: polynomials are between biquadratic and biquartic. As an example,
1109: the test case with $\cond{f} = 3.5 \times 10^3$ is $c_{00} =
1110: (1.2,.5)^T$, $c_{01} = (-.6,-.6)^T$, $c_{02} = (.1,1.1)^T$,
1111: $c_{10} = (-1.1,-.3)^T$, $c_{11} = (.6,-2.3)^T$, $c_{12} =
1112: (-2,-.1)^T$, $c_{20} = (.6,1.2)^T$, $c_{21} = (-1.1,-1.2)^T$, and
1113: $c_{22} = (-.5,.4)^T$. This is the test problem for the result in
1114: the second row of Table \ref{table_res}.
1115:
1116: For the experiment, we use the algorithm by J\'{o}nsson and
1117: Vavasis \cite{jonsson} to compute the complex zeros required to
1118: estimate the condition number. Table \ref{table_res} compares the
1119: efficiency of KTS with its condition number. The total number of
1120: subpatches examined by KTS during the entire computation, the
1121: width of the smallest patch among those examined, and the maximum
1122: number of Newton iterations (in the cases with more than one zero)
1123: to converge to a zero are reported. The result shows that KTS
1124: needs to examine more number of patches and needs to subdivide to
1125: smaller patches as the condition number becomes larger. Note that
1126: the high number of Newton iterations of some test cases is due to
1127: roundoff error.
1128:
1129: %\begin{figure}
1130: % \centering
1131: % \includegraphics[width=0.9\textwidth]{fig2}
1132: % \caption{Intersection between the chosen bicubic surface and the line of the fourth test case.}
1133: % \label{fig}
1134: %\end{figure}
1135: \begin{table}
1136: \begin{center}
1137: \begin{tabular}{|r|r|r|r|r|r|}
1138: \hline
1139: & \multicolumn{1}{c}{Num. of}\vline & \multicolumn{1}{c}{Distance}\vline & \multicolumn{1}{c}{Num. of}\vline &
1140: Smallest& \multicolumn{1}{c}{Max. num. of}\vline\\
1141: $\cond{f}$& \multicolumn{1}{c}{zeros}\vline & \multicolumn{1}{c}{between two}\vline &
1142: \multicolumn{1}{c}{patches}\vline & \multicolumn{1}{c}{width}\vline & \multicolumn{1}{c}{Newton}\vline \\
1143: && \multicolumn{1}{c}{closest zeros}\vline &examined& &iterations \\
1144: \hline
1145: $6.0 \times 10^2$ & 1 & - & 21 & .0625 & 3 \\
1146: $3.5 \times 10^3$ & 2 & .4196 & 29 & .0625 & 3 \\
1147: $8.3 \times 10^4$ & 2 & .6638 & 33 & .0625 & 3 \\
1148: $1.6 \times 10^5$ & 1 & - & 41 & .03125 & 4 \\
1149: $2.2 \times 10^7$ & 3 & .3624 & 57 & .03125 & 4 \\
1150: $1.3 \times 10^8$ & 4 & .2806 & 81 & .015625 & 6 \\
1151: $1.9 \times 10^9$ & 4 & .3069 & 69 & .03125 & 6 \\
1152: $2.0 \times 10^{10}$ & 2 & .7810 & 105 & .015625 & 6 \\
1153: $2.9 \times 10^{11}$ & 1 & - & 257 & .0039 & 9 \\
1154: \hline
1155: \end{tabular}
1156: \end{center}
1157: %\caption{The condition number, the number of zeros in $[0,1]^2$, and
1158: %the distance between the closest pair of zeros in $[0,1]^2$ of each test problem instance. }
1159: \caption{Efficiency of KTS algorithm on problems of different condition numbers.}
1160: \label{table_res}
1161: \end{table}
1162: %\begin{table}
1163: %\begin{center}
1164: %\scriptsize
1165: %\begin{tabular}{|r|r|r|r|r|r|r|r|r|r|r|r|}
1166: %\hline
1167: % & \multicolumn{3}{c}{Power basis} \vline& \multicolumn{3}{c}{Bernstein basis}\vline & \multicolumn{3}{c}{Chebyshev basis}\vline\\
1168: %\cline{2-10}
1169: %Instance \# & Num. of & Smallest & Num. of & Num. of & Smallest & Num. of & Num. of & Smallest & Num. of\\
1170: %& \multicolumn{1}{c}{patches}\vline & \multicolumn{1}{c}{width}\vline & \multicolumn{1}{c}{Newton}\vline
1171: %& \multicolumn{1}{c}{patches}\vline & \multicolumn{1}{c}{width}\vline & \multicolumn{1}{c}{Newton}\vline
1172: %& \multicolumn{1}{c}{patches}\vline & \multicolumn{1}{c}{width}\vline & \multicolumn{1}{c}{Newton}\vline \\
1173: %& & & \multicolumn{1}{c}{iter.}\vline & & & \multicolumn{1}{c}{iter.}\vline & & & \multicolumn{1}{c}{iter.}\vline \\
1174: %\hline \hline
1175: %1 & 25 & .125 & 3 & 29 & .0625 & 4 & 25 & .125 & 3 \\
1176: %2 & 17 & .125 & 4 & 13 & .125 & 4 & 17 & .125 & 4 \\
1177: %3 & 53 & .0625 & 6 & 33 & .0625 & 3 & 49 & .0625 & 6 \\
1178: %4 & 53 & .0625 & 4 & 41 & .0313 & 4 & 45 & .0625 & 4 \\
1179: %6 & 121 & .0313 & 6 & 57 & .0313 & 4 & 101 & .0313 & 6 \\
1180: %7 & 177 & .0078 & 6 & 69 & .0313 & 6 & 161 & .0078 & 6 \\
1181: %%$6.2 \times 10^2$ & 13 & .125\\
1182: %%%$8.4 \times 10^2$ & 17 & .125\\
1183: %%$2.2 \times 10^3$ & 17 & .0625\\
1184: %%%$1.4 \times 10^4$ & 21 & .03125\\
1185: %%%$4.1 \times 10^4$ & 21 & .0625\\
1186: %%$7.0 \times 10^4$ & 17 & .0625\\
1187: %%%$1.0 \times 10^5$ & 49 & .0625 \\
1188: %%$2.9 \times 10^5$ & 29 & .0625\\
1189: %%$1.5 \times 10^6$ & 25 & .015625 \\
1190: %%$2.2 \times 10^7$ & 57 & .0313 \\
1191: %%$3.5 \times 10^9$ & 149 & .0039 \\
1192: %%$2.9 \times 10^{11}$ & 257 & .0039\\
1193: %\hline
1194: %\end{tabular}
1195: %\end{center}
1196: %\label{table}
1197: %\end{table}
1198:
1199:
1200: \section{Conclusion and future directions}
1201:
1202: We present KTS algorithm for finding the intersections between a
1203: parametric surface and a line. By using the combination of
1204: subdivision and Kantorovich's theorem, our algorithm can take
1205: advantage of the quadratic convergence of Newton's method without
1206: the problems of divergence and missing some intersections that
1207: commonly occur with Newton's method. We also show that the
1208: efficiency of KTS has an upper bound that depends solely on the conditioning of the
1209: problem and the representation of the surface. Nevertheless, there
1210: are a number of questions left unanswered by this article such as
1211: \begin{itemize}
1212: \item \textbf{Extensibility to piecewise polynomial surfaces
1213: and/or NURBS}. Since KTS only requires the ability to compute the
1214: bounding polygon of a subpatch that satisfies the list of basis properties, it may
1215: be possible to extend KTS to handle these more general surfaces if
1216: bounding polygons having similar properties can be computed
1217: relatively quickly.
1218:
1219: \item \textbf{Tighter condition number}. The
1220: condition number presented earlier seems overly loose. It is
1221: likely that a tighter condition number exists. If a tighter
1222: condition number is found, we would be able to calculate a tighter
1223: bound on the time complexity of KTS, too.
1224:
1225: \item \textbf{The
1226: necessity of the generic coefficients assumption}. Is it possible
1227: to analyze the efficiency of KTS without this assumption?
1228:
1229: \item
1230: \textbf{Using KTS in floating point arithmetic}. In the presence
1231: of roundoff error, we may need to make adjustments for KTS to be
1232: able to guarantee that all zeros are found. In addition, the
1233: accuracy of the computed zeros would become an important issue in
1234: this case.
1235:
1236: \item \textbf{Choice of polynomial basis}. It is evident from
1237: Table \ref{table_theta} that the Chebyshev basis has the best
1238: (smallest) value of $\theta$, and therefore ought to require the
1239: fewest number of subdivisions. Our preliminary computational
1240: results \cite{srijuntongsiri2} comparing bases, however, do not
1241: indicate a clear-cut advantage for the Chebyshev basis. Therefore,
1242: the impact of the choice of basis on practical efficiency is an
1243: interesting topic for further research.
1244: \end{itemize}
1245:
1246:
1247: \begin{thebibliography}{99}
1248:
1249: \bibitem{barth} W. Barth and W. St\"{u}rzlinger. Efficient ray-tracing for
1250: B\'{e}zier and B-spline surfaces. \emph{Computers and Graphics}, 17(4):423--430, 1993.
1251:
1252: \bibitem{deuflhard} Peter Deuflhard and Gerhard Heindl. Affine invariant convergence theorems for
1253: Newton's method and extensions to related methods. \emph{SIAM J. Numer. Anal.}, 16:1--10, 1980.
1254:
1255: \bibitem{emiris} I. Z. Emiris and J. F. Canny. Efficient incremental algorithms for the sparse
1256: resultant and the mixed volume. \emph{J. Symb. Comput.}, 20:117--149, 1995.
1257:
1258: \bibitem{farin} Gerald Farin. \emph{Curves and Surfaces for CAGD: A Practical Guide}, fifth edition, Academic Press, 2002.
1259:
1260: \bibitem{farouki} Rida T. Farouki, Bethany K. Kuspa, Carla Manni, and Alessandra Sestini.
1261: Efficient solution of the complex quadratic tridiagonal system for $\mathcal{C}^2$ PH quintic splines.
1262: \emph{Numerical Algorithms}, 27:35--60, 2001.
1263:
1264: \bibitem{fournier} Alain Fournier and John Buchanan. Chebyshev polynomials for boxing and
1265: intersections of parametric curves and surfaces. \emph{Computer Graphics Forum}, 13(3):C-127--C-142, 1994.
1266:
1267: \bibitem{freund} Robert M. Freund and Jorge R. Vera.
1268: Condition-Based Complexity of Convex Optimization in Conic Linear Form via the Ellipsoid Algorithm.
1269: \emph{SIAM J. Optim.}, 10:155--176, 1999.
1270:
1271: \bibitem{gvl} Gene H. Golub and Charles F. Van Loan. \emph{Matrix Computations}, third edition,
1272: the Johns Hopkins University Press, 1996.
1273:
1274: \bibitem{jonsson} G. J\'{o}nsson and S. Vavasis. Accurate solution of polynomial equations using Macaulay resultant matrices. \emph{Mathematics of Computation}, 74:221–-262, 2005.
1275:
1276: \bibitem{kajiya} James T. Kajiya. Ray tracing parametric patches.
1277: \emph{Computer Graphics (SIGGRAPH '82 Proceedings)}, 16(3):245--254, 1982.
1278:
1279: \bibitem{kantorovich} L. Kantorovich. On Newton's method for functional equations (Russian).
1280: \emph{Dokl. Akad. Nauk SSSR}, 59:1237--1240, 1948.
1281:
1282: \bibitem{Lischinski} Daniel Lischinski and Jakob Gonczarowski. Improved techniques
1283: for ray tracing parametric surfaces. \emph{The Visual Computer}, 6:134--152, 1990.
1284:
1285: %\bibitem{maekawa} T. Maekawa. \emph{Robust Computational Methods for Shape Interrogation}.
1286: %PhD thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1993.
1287:
1288: \bibitem{nishita} T. Nishita, T. W. Sederberg, and M. Kakimoto.
1289: Ray tracing trimmed rational surface patches. \emph{ACM Computer Graphics}, 24(4):337--345, 1990.
1290:
1291: %\bibitem{ortega} James Ortega and Werner Rheinboldt. \emph{Iterative Solution of Nonlinear Equations
1292: %in Several Variables}, Academics Press, New York, 1970.
1293:
1294: \bibitem{qin} K. H. Qin, M. L. Gong, Y. J. Guan, and W. P. Wang.
1295: A new method for speeding up ray tracing NURBS surfaces. \emph{Computers and Graphics},
1296: 21(5):577--586, 1997.
1297:
1298: \bibitem{rubi} Seven M. Rubin and Turner Whitted. A 3-dimensional representation for
1299: fast rendering of complex scenes. \emph{Computer Graphics (SIGGRAPH '80 Proceedings)},
1300: 14(3):110--116, 1980.
1301:
1302: \bibitem{sherbrooke} E. C. Sherbrooke and N. M. Patrikalakis. Computation of the
1303: solutions of nonlinear polynomial systems. \emph{Computer Aided Geometric Design},
1304: 10(5):379--405, 1993.
1305:
1306: \bibitem{srijuntongsiri2} G. Srijuntongsiri and S. A. Vavasis.
1307: Properties of polynomial bases used in a line-surface intersection
1308: algorithm, http://arxiv.org/abs/0707.1515, 2007.
1309:
1310: \bibitem{sweeney} M. A. J. Sweeney and R. H. Bartels. Ray tracing free-form B-spline surface.
1311: \emph{IEEE Computer Graphics and Application}, 6:41--49, 1986.
1312:
1313: \bibitem{toh} Kim-Chuan Toh and Lloyd N. Trefethen.
1314: Calculation of pseudospectra by the Arnoldi iteration. \emph{SIAM J. Sci. Comput.}, 17:1--15, 1996.
1315:
1316: \bibitem{toth} Daniel L. Toth. On ray tracing parametric surfaces.
1317: \emph{Computer Graphics (SIGGRAPH '85 Proceedings)}, 19(3):171--179, 1985.
1318:
1319: \bibitem{wang} S. W. Wang, Z. C. Shih, and R. C. Chang. An efficient and stable ray tracing algorithm for
1320: parametric surfaces. \emph{Journals of Information Science and Engineering}, 18(4):541--561, 2002.
1321:
1322: \bibitem{whitted} Turner Whitted. An improved illumination model for shaded display.
1323: \emph{Communications of the ACM}, 23(6):343--349, 1980.
1324:
1325: \bibitem{yang} C. G. Yang. On speeding up ray tracing of B-spline surfaces.
1326: \emph{Computer Aided Design}, 19:122--130, 1987.
1327:
1328: %\bibitem{wood} Charles Woodward. Ray tracing parametric surfaces by subdivision in viewing plane.
1329: %\emph{Proc. Theory and Practice of Geometric Modeling}, W. Strasser ed., Springer-Verlag, 1989.
1330:
1331: \end{thebibliography}
1332:
1333:
1334:
1335: \end{document}
1336: