cs0204053/corr.tex
1: \documentclass{article}
2: 
3: \newif\ifpdf
4: \ifx\pdfoutput\undefined
5:   \pdffalse
6: \else
7:   \pdfoutput=1
8:   \pdftrue
9: \fi
10: 
11: \ifpdf
12:   \usepackage[pdftex]{graphicx}
13:   \usepackage[pdftex]{color}
14:   \DeclareGraphicsExtensions{.pdf,.png,.jpg}
15: \else
16:   \usepackage[dvips]{graphicx}
17:   \usepackage[dvips]{color}
18:   \DeclareGraphicsExtensions{.eps,.epsi,.ps}
19: \fi
20: 
21: \usepackage{times}
22: \usepackage{amsfonts}
23: \usepackage{latexsym}
24: \usepackage{fullpage}
25: 
26: \title{Qualitative Analysis of Correspondence \\ for Experimental Algorithmics}
27: 
28: \author{
29: Chris Bailey-Kellogg \\
30: 1398 Computer Science Building\\
31: Department of Computer Sciences \\
32: Purdue University, IN 47907\\
33: {\tt cbk@cs.purdue.edu}
34: \and
35: Naren Ramakrishnan \\
36: 629 McBryde Hall \\
37: Department of Computer Science \\
38: Virginia Tech, VA 24061\\
39: {\tt naren@cs.vt.edu}
40: }
41: 
42: \newlength\colwidth \setlength\colwidth{\textwidth}
43: \long\def\todo#1{{\color{red}[#1]}}
44: \long\def\gobble#1{}
45: \def\set#1{{\{#1\}}}
46: \def\R{{\ensuremath\mathbb{R}}}
47: \def\N{{\ensuremath\mathbb{N}}}
48: \def\Bool{\{0,1\}}
49: 
50: \newenvironment{closeitemize}{\begin{list}{-}{\topsep=0in\itemsep=0in\parsep=0in}}{\end{list}}
51: 
52: \begin{document}
53: 
54: \maketitle
55: 
56: \begin{abstract}
57: 
58: Correspondence identifies relationships among objects via similarities
59: among their components; it is ubiquitous in the analysis of spatial
60: datasets, including images, weather maps, and computational
61: simulations.  This paper develops a novel multi-level mechanism for
62: qualitative analysis of correspondence.  Operators leverage domain
63: knowledge to establish correspondence, evaluate implications for model
64: selection, and leverage identified weaknesses to focus additional data
65: collection.  The utility of the mechanism is demonstrated in two
66: applications from experimental algorithmics --- matrix spectral
67: portrait analysis and graphical assessment of Jordan forms of
68: matrices.  Results show that the mechanism efficiently samples
69: computational experiments and successfully uncovers high-level problem
70: properties.  It overcomes noise and data sparsity by leveraging domain
71: knowledge to detect mutually reinforcing interpretations of spatial
72: data.
73: 
74: \end{abstract}
75: 
76: \section{Introduction}
77: 
78: Correspondence is a ubiquitous concept in the interpretation of
79: spatial datasets.  Correspondence establishes analogy, indicating
80: objects that play similar roles with respect to some context.  For
81: example, correspondence between template and image features supports
82: object recognition, correspondence among isobars in a weather map aids
83: identification of pressure troughs and ridges, and, as shown in this
84: paper, correspondence and lack thereof among level curves in datasets
85: like Fig.~\ref{fig:compan} supports characterization of matrix
86: properties for scientific computing applications.
87: 
88: This paper develops a novel qualitative analysis mechanism for
89: extracting and utilizing correspondence in spatial data, with
90: particular focus on model selection in applications with sparse, noisy
91: data.  We develop our mechanism in the context of {\em experimental
92: algorithmics}, an emerging field that designs methodologies for
93: empirically evaluating algorithms on realistic test problems, and
94: interpreting and generalizing the results to guide selection of
95: appropriate mathematical software.  It is the preferred method of
96: analysis in applications where domain knowledge is imperfect and for
97: which our understanding of the factors influencing algorithm
98: applicability is incomplete.  For instance, when solving linear
99: systems associated with finite-difference discretization of elliptic
100: partial differential equations (PDEs), there is little mathematical
101: theory to guide a choice between, say, a direct solver and an
102: iterative Krylov solver plus preconditioner.  An experimental
103: algorithmics approach is to parameterize a suitable family of
104: problems, and mine a database of PDE ``solves'' to gain insight into
105: the likely relative performance of these two
106: approaches~\cite{naren-ribbens}.  Thus experimental algorithmics is
107: data-driven and aims to empirically capture the relationship between
108: problem characteristics and algorithm performance.
109: 
110: \begin{figure}
111: \begin{center}
112: \includegraphics[width=3in]{compan} 
113: \end{center}
114: \caption{An example spectral portrait, for a matrix with eigenvalues
115: at 1, 2, 3, and 4.  Qualitative properties of the portait correspond
116: to important characteristics of the underlying problem that must be
117: considered with respect to algorithm selection. For instance, a level
118: curve surrounding multiple eigenvalues indicates a level of precision
119: beyond which the eigenvalues cannot be distinguished.}
120: \label{fig:compan}
121: \end{figure}
122: 
123: Many tasks in experimental algorithmics involve assessing the
124: eigenstructure of a given matrix.  Eigenstructure helps characterize
125: the stability, sensitivity, and accuracy of numerical methods as well
126: as the fundamental tractability of problems.  Recently, the {\em
127: spectral portrait} (e.g.\ Fig.~\ref{fig:compan}) has emerged as a tool
128: for graphically visualizing eigenstructure.  A spectral portait
129: characterizes how the eigenvalues of a matrix change as perturbations
130: (e.g.\ due to numerical error) are introduced in computations
131: involving the matrix.  Level curves in a spectral portait correspond
132: to perturbations, and the region enclosed by a level curve contains
133: all possible eigenvalues that are equivalent with respect to
134: perturbations of a given magnitude.  Analysis of level curves with
135: respect to a class of perturbations reveals information about the
136: matrix (e.g.\ nonnormality and defective eigenvalues) and the effects
137: of different algorithms and numerical approximations.
138: 
139: Experimental algorithmics thus determines {\em high-level properties}
140: from analysis of data from {\em low-level computational experiments};
141: we focus here on the particular case where such properties are
142: extracted from {\em graphical representations} and where it is
143: necessary to minimize the computational experiments performed (owing
144: to the cost and complexity of conducting them).  We pose the
145: extraction of high-level properties as a model selection problem and
146: show that correspondence can be exploited to drive data collection in
147: order to discriminate among possible models.  Each step in our
148: framework is parameterized by domain knowledge of properties such as
149: locality, similarity, and correspondence.  Therefore the
150: framework is generic both with respect to a variety of problems in
151: experimental algorithmics (two case studies are presented here), and
152: to problems in other domains (e.g.\ connections to weather data
153: analysis are discussed).  Furthermore, the approach leads to efficient
154: and explainable data collection motivated directly by the need to
155: disambiguate among high-level models.
156: 
157: \section{Qualitative Analysis of Spatial Data}
158: 
159: Our mechanism for qualitative analysis of correspondence is based on
160: the Spatial Aggregation Language (SAL)~\cite{bailey-kellogg96,yip96a}
161: and the ambiguity-directed sampling
162: framework~\cite{bailey-kellogg-naren01}.  SAL programs apply a set of
163: uniform operators and data types (Fig.~\ref{fig:sal}) in order to
164: extract multi-layer geometric and topological representations of
165: spatial data.  These operators utilize domain knowledge of physical
166: properties such as continuity and locality, specified as metrics,
167: adjacency relations, and equivalence predicates, to uncover regions of
168: uniformity in spatially distributed data.  Ambiguity-directed sampling
169: focuses data collection so as to clarify difficult choice points in an
170: aggregation hierarchy.  It seeks to maximize information content while
171: minimizing the number and expense of data samples.
172: 
173: \begin{figure}
174: \begin{center}
175: \includegraphics[width=3in]{sal}
176: \end{center}
177: \caption{The spatial aggregation language provides a uniform vocabulary of 
178: operators utilizing domain knowledge to build multi-layer structural
179: descriptions of spatial data.}
180: \label{fig:sal}
181: \end{figure}
182: 
183: As an example of aggregation, consider the construction of level
184: curves in the spectral portrait in Fig.~\ref{fig:compan}.  The key
185: steps in such an analysis (after ~\cite{huang99}) are:
186: 
187: \begin{itemize}
188: \item The {\em input field} maps sample locations (e.g.\ on a uniform
189: grid) to perturbation levels, representing allowable imprecision
190: before a point becomes indistinguishable from an eigenvalue
191: (computational details are discussed later).
192: \item {\em Aggregate} points in a {\em neighborhood graph} (e.g.\
193: Delaunay triangulation or regular grid), localizing computation to
194: spatially proximate points.
195: \item {\em Interpolate} values at new locations from
196: values at neighboring samples, in this case determining locations of
197: points with perturbation level belonging to a discrete set (e.g.\
198: $10^{-1}$, $10^{-2}$, $\ldots$).
199: \item {\em Classify} neighboring similar-enough objects into
200: equivalence classes with an {\em equivalence predicate}, in this case
201: testing equality of field value.\footnote{While an implementation such
202: as marching squares might combine interpolation,
203: aggregation, and classification, we view them as conceptually distinct
204: operations.}
205: \item {\em Redescribe} each equivalence class of lower-level objects
206: as a single higher-level object, in this case abstracting connected
207: points into curves.  The curve can be represented more compactly
208: and abstractly (e.g.\ with a spline) than its set of sample points.
209: \end{itemize}
210: 
211: As a consequence of redescription, the next aggregation level can
212: treat curves as first-class objects, and aggregate, classify, and
213: redescribe them, for example to find curves nested around a single
214: eigenvalue.  This higher-level process uses the same operators, but
215: with different parameters specifying locality, equivalence, and
216: abstraction.  Ambiguity arises when, for example, not enough sample
217: points are available to be confident in a curve's location, or in the
218: separation of two curves.  Ambiguity-directed sampling then optimizes
219: selection of new locations (e.g.\ near the ambiguity) for data
220: collection in order to clarify the decision-making.
221: 
222: As this example illustrates, SAL and ambiguity-directed sampling
223: provide a suitable {\em vocabulary} (e.g.\ distance and similarity
224: metrics) and {\em mechanism} (bottom-up aggregation and top-down
225: sampling) to uncover multi-level structures in spatial data sets.
226: Successful applications include decentralized control
227: design~\cite{bailey-kellogg99,bailey-kellogg01} weather data
228: analysis~\cite{huang99}, analysis of diffusion-reaction
229: morphogenesis~\cite{ordonez00}, and identification of pockets in
230: $n$-dimensional space and decomposition of a field based on control
231: influences~\cite{bailey-kellogg-naren01}.
232: 
233: \section{Qualitative Analysis of Correspondence}
234: 
235: Our correspondence mechanism builds on the relationship between
236: lower-level and higher-level objects in a SAL hierarchy (refer again
237: to Fig.~\ref{fig:sal}).  The mechanism has two key steps: (1)
238: establish {\em analogy} as a relation among lower-level constituents
239: of higher-level objects; (2) establish {\em correspondence} between
240: higher-level objects as an {\em abstraction} of the analogy between
241: their constituents.  For example, in object recognition, analogy might
242: match image and template features, and correspondence might abstract
243: the analogy as a rigid-body transformation.  Similarly, in level curve
244: analysis, analogy might match sample points on neighboring curves by
245: location and local curvature, and correspondence might abstract the
246: match as a parameterized deformation of spline representations of the
247: curves.  The analogy between constituents is well-defined only because
248: of the context of the higher-level objects; higher-level
249: correspondence then captures a more global view of the local matches.
250: 
251: Tab.~\ref{tab:ops} outlines our correspondence mechanism.  Traditional
252: SAL operators collect and abstract groups of lower-level objects into
253: higher-level objects, and establish pairs of higher-level objects for
254: which correspondence is to be considered.  Two pieces of domain
255: knowledge are then applied:
256: 
257: \begin{description}
258: \item[Analogy predicate] indicates pairs (and confidence in the pairs) 
259: of lower-level objects that are analogous with respect to the
260: higher-level objects they comprise.  Examples include testing feature
261: values for each pair of lower-level objects, hashing indices in the
262: higher-level objects' local coordinate systems, or explicitly
263: constructing a spatial relation such as a triangulation.  The
264: predicate can enforce bijective analogy if appropriate.  The {\em
265: analogize} operator in Tab.~\ref{tab:ops} applies a predicate $a$ for
266: the constituent objects $l_1 \in h_1$ and $l_2 \in h_2$ of neighboring
267: (by $g_h$) higher-level object pairs $h_1$ and $h_2$; it returns a
268: graph labeling the confidence of each analogous object pair.
269: 
270: \item[Correspondence abstraction function] abstracts an analogy
271: relation on lower-level objects into a description of higher-level
272: object correspondence.  Examples include redescribing point-wise
273: matches as a rigid-body transformation or a parameterized deformation.
274: The abstraction captures confidence in the overall correspondence, for
275: example computing root-mean squared distance or a Hausdorff metric
276: between locations or features (e.g.\ local curvature) of analogous
277: objects.  Correspondence optimization thus entails adjusting the
278: underlying analogy to maximize the abstracted confidence.  Finally,
279: while nearby constituents of one object often match nearby
280: constituents of another, {\em discontinuity} (e.g.\ when an outer
281: curve envelops two inner ones in Fig.~\ref{fig:compan}) is a
282: noteworthy event detectable with the abstraction mechanism.  The {\em
283: correspond} operator in Tab.~\ref{tab:ops} performs correspondence
284: abstraction from an analogy $g_l$, applying a function $c$ to the
285: subgraph of $g_l$ on the constituent objects $\ell(h_1)$ and
286: $\ell(h_2)$ of neighboring (by $g_h$) higher-level objects $h_1$ and
287: $h_2$; it returns a graph labeling each such higher-level object pair
288: with the resulting correspondence spatial object.
289: \end{description}
290: 
291: \begin{table}
292: \fbox{%
293: \begin{minipage}{\colwidth}
294: \begin{enumerate}
295: \item Given lower-level objects $L$, {\em aggregate}, {\em
296: classify}, and {\em redescribe} them into higher-level objects $H$.
297: 
298: \item {\em Aggregate} higher-level objects $H$ into a
299: neighborhood graph $G_H$ localizing potential correspondence.
300: 
301: \item Apply an {\em analogy predicate} to relate constituent
302: lower-level objects of neighboring higher-level objects. \\
303: {\small
304: {\it analogize} $: G_H \times (L \times L \rightarrow \R)
305: \rightarrow G_L$\\
306: $(g_h,a) \mapsto \set{\set{l_1,l_2,a(l_1,l_2)}\,|\,\set{h_1,h_2} \in g_h, 
307: l_1 \in h_1, l_2 \in h_2}$
308: }
309: where $l_i \in h_i$ represents constituency.
310: 
311: \item Apply a {\em correspondence abstraction function}
312: to establish correspondence between higher-level objects based
313: on the analogy on their constituent lower-level objects.
314: {\small
315: {\it correspond} $: G_H \times G_L \times (G_L \rightarrow SO)
316: \rightarrow G_H'$ \\
317: $(g_h,g_l,c) \mapsto \set{\set{h_1,h_2,c(g_l[\ell(h_1) \cup
318: \ell(h_2)])}\,|\, \set{h_1,h_2} \in g_h}$
319: }
320: where $\ell(\cdot)$ obtains constituents, $g_l[\cdot]$ is the
321: subgraph for the given nodes, and $c$ returns a spatial object ($SO$)
322: representing the abstracted correspondence.
323: \end{enumerate}
324: \end{minipage}
325: }
326: \vspace*{-0.5\baselineskip}
327: \caption{Qualitative correspondence analysis mechanism, including
328: formal definitions of new operators.}
329: \label{tab:ops}
330: \end{table}
331: 
332: An aggregation/correspondence hierarchy establishes a distribution of
333: possible high-level models for an input instance, thereby posing a
334: {\em model selection problem}: choose the one that (e.g.\ in a
335: maximum-likelihood sense) best matches the data.  Our mechanism
336: supports model selection in two key ways. (1) The operators estimate
337: and optimize confidence in correspondence.  Since correspondence
338: implies mutual support among parts of a model, it can allow relatively
339: high-confidence model selection even with sparse, noisy data.  (2) The
340: operators bridge the lower-/higher-level gap.  This allows weaknesses
341: and inconsistencies detected in higher-level correspondence to focus
342: lower-level data collection to be maximally effective for model
343: disambiguation.
344: 
345: \section{Applications in Experimental Algorithmics}
346: 
347: We present two case studies applying our analysis framework to
348: experimental algorithmics problems.  For each we describe the
349: underlying numerical analysis problem, our particular solution
350: approach, and results.  To the best of our knowledge, these are the
351: {\em first} systematic algorithms for performing complete imagistic
352: analyses (as opposed to relying on human visual
353: inspection~\cite{precise}), and which focus data collection and
354: evaluate models until a high-confidence model is obtained.
355: 
356: \subsection{Matrix Spectral Portrait Analysis}
357: 
358: Our first case study focuses on the previously introduced task of
359: matrix spectral portrait analysis (Fig.~\ref{fig:compan}).  Formally,
360: the spectral portrait of a matrix $\mathcal{A}$ is defined as:
361: \begin{equation}\label{eq:portrait}
362: {\mathcal P}(z) = \log {\parallel \mathcal{A} \parallel}_2 \,\, 
363: {\parallel {(\mathcal{A} - zI)}^{-1}\parallel}_2,
364: \end{equation}
365: where $I$ is the identity matrix.  The singularities of this map are
366: located at the eigenvalues of the matrix, and the analysis determines
367: the sensitivity of computation to numerical imprecision by analyzing
368: how the map decreases moving away from the eigenvalues.  As discussed
369: in the introduction, the region enclosed by a level curve of a certain
370: magnitude contains all points that act as ``equivalent'' eigenvalues
371: under perturbations of that magnitude.  For example,
372: Fig.~\ref{fig:compan} illustrates that, under large enough
373: perturbation, eigenvalues at 3 and 4 are indistinguishable; after
374: larger perturbations, their joint contour also surrounds the
375: eigenvalue at 2, and then the eigenvalue at 1.  This illustrates that
376: sensitivity analysis is solved by identifying values at which level
377: curves merge.
378: 
379: Tab.~\ref{tab:ellipse-code} describes qualitative correspondence
380: analysis of spectral portraits.  Data are collected by computing
381: Eq.~\ref{eq:portrait}; the analysis determines perturbation
382: equivalence of eigenvalues by detecting curve merges via level curve
383: correspondence.  The first aggregation level generates samples on a
384: coarse regular grid around the known eigenvalue locations, and then
385: interpolates and abstracts level curves as in the spatial aggregation
386: example.  The second aggregation level finds correspondence among
387: these curves from a Delaunay triangulation analogy of their
388: constituent points.  It tracks correspondence outward from the
389: eigenvalues to establish a model of merge events, establishing
390: confidence in such a model by good analogy (most points match) and
391: good curve separation (regularly-spaced samples separate the two
392: curves, providing evidence that contours do not merge at a smaller
393: perturbation).  Ambiguity-directed sampling generates additional data
394: in order to separate curves and to ensure that each eigenvalue pair is
395: merged at some perturbation.
396: 
397: \begin{table}[t]
398: \fbox{%
399: \begin{minipage}{\colwidth}
400: {\bf Input}: matrix ${\mathcal A}$, eigenvalues $E$,
401: perturbation levels $V$. \\
402: {\bf Output}: $\set{(E_i,E_j,v_{ij})}$ such that eigenvalues $E_i$ and
403: $E_j$ are equivalent with respect to perturbation of $v_{ij} \in V$.
404: 
405: \medskip
406: 
407: {\bf Level one}:
408: \begin{closeitemize}
409: \item Data collection: Eq.~\ref{eq:portrait}.
410: \item Initial samples $P$: points on coarse regular grid.
411: \item Output: level curves $C$.
412: \item Aggregation: aggregate grid; interpolate points $I$ at
413: values in $V$; classify by perturbation; redescribe into curves.
414: \item Aggregation 2: $G_I$ = triangulation of points $I$.
415: \end{closeitemize}
416: 
417: \medskip
418: 
419: {\bf Level two}:
420: \begin{closeitemize}
421: \item Input: curves $C$.
422: \item Output: problem output $\set{(E_i,E_j,v_{ij})}$.
423: \item Aggregation: $(C_k,C_l) \in G_C$ iff constituent points are
424: neighbors in $G_I$.
425: \item Correspondence:
426:   \begin{closeitemize}
427:   \item Analogy: cross-curve neighbors in $G_I$.
428:   \item Abstraction: $C_k,C_l \mapsto (m_k,m_l,\theta_{kl})$, for
429: $m_i$\% and $m_j$\% constituent points matched, and samples $P'
430: \subseteq P$ between $C_k$ and $C_l$ separated by no more than
431: $\theta_{kl}$ in angle around the enclosed eigenvalue.
432:   \end{closeitemize}
433: \item Model evaluation: follow correspondence outward from each
434: pair of eigenvalues $(i,j)$; evaluate confidence with respect to
435: $(m_k,m_l,\theta_{kl})$.
436: \item Sampling: 
437:   \begin{closeitemize}
438:   \item When no $(E_i,E_j,v_{ij})$ for some $(i,j)$, expand grid.
439:   \item When some $\theta_{kl}$ too large, subsample on finer grid.
440:   \end{closeitemize}
441: \end{closeitemize}
442: \end{minipage}
443: }
444: \vspace*{-0.5\baselineskip}
445: \caption{Correspondence mechanism instantiation for spectral portrait
446: analysis.}
447: \label{tab:ellipse-code}
448: \end{table}
449: 
450: \begin{figure}
451: \begin{center}
452: \begin{tabular}{cc}
453: \includegraphics[width=3in]{ellipse-trig1} & 
454: \includegraphics[width=3in]{ellipse-trig2} \\
455: \includegraphics[width=3in]{ellipse-corr1} &
456: \includegraphics[width=3in]{ellipse-corr2b} \\
457: \includegraphics[width=2.5in]{ellipse-tree1} &
458: \includegraphics[width=2.5in]{ellipse-tree2}
459: \end{tabular}
460: \end{center}
461: \caption{Example of correspondence analysis of spectral
462: portraits for (left) a small, coarse grid, and (right) an extended,
463: subsampled grid.  (top) Delaunay triangulation analogy for
464: interpolated points comprising contours.  (middle) Analogy at an
465: example merge event; separating samples marked with ``+''.  (bottom)
466: Curve-tracking tree: eigenvalues at bottom; node for curves labeled
467: with perturbation level.  Merge events indicate at what perturbation
468: level descendant eigenvalues are indistinguishable.}
469: \label{fig:ellipse-demo}
470: \end{figure}
471: 
472: Fig.~\ref{fig:ellipse-demo} demonstrates the application of the
473: mechanism to the companion matrix of the polynomial $(x-1)^3 (x-2)^3
474: (x-3)^3 (x-4)$~\cite{precise} (see also Fig.~\ref{fig:compan}).  The
475: initial grid has at least one sample between each eigenvalue (in the
476: example, a resolution of 0.5) and extends one unit beyond the bounding
477: box of the eigenvalues.  While correspondence is found even with this
478: coarse grid (left of Fig.~\ref{fig:ellipse-demo}), the confidence is
479: not high (only a few samples separate the curves), and no curve
480: surrounds all eigenvalues.  Ambiguity-directed sampling computes
481: additional points on a finer, larger grid (right of
482: Fig.~\ref{fig:ellipse-demo}), yielding the correct results.  We have
483: applied this same mechanism to a variety of polynomial companion
484: matrices with different numbers and spacings of roots; in each case,
485: the correspondence mechanism correctly identifies the correct model
486: with high confidence after 1-3 subsamples and 1-3 grid expansions.
487: 
488: \subsection{Qualitative Computation of Jordan Forms}
489: 
490: Our second case study focuses on analysis of the {\em Jordan
491: decomposition} of a matrix.  Matrix decomposition is an important
492: technique, revealing pertinent features of a matrix and supporting
493: algorithmic techniques in areas including data analysis, PDEs, and
494: linear algebra.  The Jordan decomposition reveals the eigenstructure
495: of a matrix as follows.  Consider a matrix $\mathcal{A}$ that has $r$
496: independent eigenvectors with eigenvalues $\lambda_i$ of multiplicity
497: $\rho_i$.  The Jordan decomposition of $\mathcal{A}$ contains $r$
498: upper triangular ``blocks,'' as revealed by the diagonalization:
499: {\small
500: \[
501: \mathcal{B}^{-1} \mathcal{A} \mathcal{B} = 
502: \left[ \begin{array}{cccc}
503:        {\mathcal{J}}_1 & & & \\
504:        & {\mathcal{J}}_2 & & \\
505:        & & \cdot & \\
506:        & & & {\mathcal{J}}_r\\
507:        \end{array} \right],
508: \,\,
509: {\mathcal{J}}_i = 
510: \left[ \begin{array}{cccc}
511:        \lambda_i & 1 & & \\
512:        & \lambda_i & 1 & \\
513:        & & \cdot & 1 \\
514:        & & & \lambda_i \\
515:        \end{array} \right]
516: \]
517: }
518: 
519: The typical approach to computing the Jordan form leads to a
520: numerically unstable algorithm~\cite{golub-loan}; taking extra care
521: usually requires more work than the original computation!  Recently,
522: however, an experimental algorithmics approach, inferring multiplicity
523: from a geometric analysis of eigenvalue perturbations, has proved
524: successful~\cite{precise}.  It is well known that the {\it
525: computed eigenvalues} corresponding to the actual value $\lambda_i$
526: are given by:
527: \begin{equation}\label{eq:jordan-perturb}
528: \lambda_i + |\delta|^{1\over{\rho_i}} e^{{i\phi}\over{\rho_i}},
529: \end{equation}
530: where $\lambda_i$ is of multiplicity $\rho_i$, and the phase $\phi$ of
531: the perturbation $\delta$ ranges over
532: \set{$2\pi, 4\pi, \ldots, 2\rho_i \pi$} if $\delta$ is positive and
533: over \set{$3\pi, 5\pi, \ldots, 2(\rho_i+1) \pi$} if $\delta$ is
534: negative.  The insight of~\cite{precise} is to graphically {\it
535: superimpose} numerous such perturbed calculations so that the
536: aggregate picture reveals eigenvalue multiplicity.  The phase
537: variations imply that computed eigenvalues lie on the vertices of a
538: regular polygon with $2 \rho_i$ sides, centered on $\lambda_i$, and
539: with diameter influenced by $|\delta|$.  For example,
540: Fig.~\ref{fig:jordan} shows perturbations for the 8-by-8 Brunet matrix
541: with Jordan structure $(-1)^1 (-2)^1 (7)^3 (7)^3$~\cite{precise}, for
542: $\delta \in [2^{-50},2^{-40}]$.  The six ``sticks'' around the
543: eigenvalue at 7 clearly reveal that its Jordan block is of size
544: 3.\footnote{The multiplicity of the second eigenvalue at 7 is revealed
545: at a smaller perturbation level.}  The ``noise'' in
546: Fig.~\ref{fig:jordan} is a consequence of having two Jordan blocks
547: with the same eigenvalue and size, and a ``ring'' phenomenon studied
548: in~\cite{edelman-ma}; we do not attempt to capture these effects in
549: this paper.
550: 
551: \begin{figure}
552: \begin{center}
553: \begin{tabular}{cc}
554: \includegraphics[width=3in]{example-jordan1}
555: \end{tabular}
556: \end{center}
557: \caption{Superimposed spectra for assessing the Jordan form
558: of the Brunet matrix.}
559: \label{fig:jordan}
560: \end{figure}
561: 
562: Tab.~\ref{tab:star-code} describes qualitative correspondence analysis
563: of Jordan form.  Data are collected by randomly perturbing at a
564: specified magnitude $\delta$; the analysis determines multiplicity by
565: detecting {\em symmetry} correspondence in the samples.  The first
566: aggregation level collects the samples for a given $\delta$ into
567: triangles.  The second aggregation level finds congruent triangles via
568: geometric hashing~\cite{hash}, and uses congruence to establish
569: analogy among triangle vertices.  Correspondence abstracts the analogy
570: into a rotation about a point (the eigenvalue), and evaluates whether
571: each point rotates onto another and whether matches define regular
572: polygons.  Ambiguity-directed sampling collects additional random
573: samples as necessary.  A third level then compares rotations across
574: different perturbations, re-visiting perturbations or choosing new
575: perturbations in order to disambiguate.  Fig.~\ref{fig:star-demo}
576: demonstrates this mechanism on the Brunet matrix discussed above.  The
577: top part uses a small set of sample points, while the bottom two parts
578: use a larger set and illustrate a good vs.\ bad correspondence.
579: 
580: We organized data collection into rounds of 6-8 samples each and
581: experimented with three policies on where next to collect data after
582: completing a round: (1) at the same perturbation level, (2) at a
583: higher perturbation level, or (3) at the same perturbation level
584: unless the number of posited models increased (model
585: ``hallucination,'' as in bottom of Fig.~\ref{fig:star-demo}).  We tested
586: 10 matrices across 4-10 perturbation levels each, as described
587: in~\cite{precise}.  We varied a tolerance parameter for triangle
588: congruence from 0.1 to 0.5 (effectively increasing the number of
589: models posited) and determined the number of rounds needed to
590: determine the Jordan form.  Policy 1 required an average of 1 round at
591: a tolerance of 0.1, up to 2.7 rounds at 0.5.  Even with a large number
592: of models proposed, additional data quickly weeded out bad models.
593: Policy 2 fared better only for cases where policy 1 was focused on
594: lower perturbation levels, and policy 3 was preferable only for the
595: Brunet-type matrices.  In other words, there is no real advantage to
596: moving across perturbation levels!  In retrospect, this is not
597: surprising since our Jordan form computation treats multiple
598: perturbations (irresp.\ of level) as independent estimates of
599: eigenstructure.
600: 
601: \begin{table}[t]
602: \fbox{%
603: \begin{minipage}{\colwidth}
604: {\bf Input}: matrix ${\mathcal A}$, perturbations $\set{\delta_1,
605: \ldots, \delta_m}$, region $R$. \\
606: {\bf Output}: eigenvalue $\lambda$ and multiplicity $\rho$ in region
607: $R$.
608: 
609: \medskip
610: {\bf Level one}:
611: \begin{closeitemize}
612: \item Data collection: for $\delta_i$, compute random normwise
613: perturbation of ${\mathcal A}$ as $a_{ij} \pm 2^{(1 - \delta_i)}
614: {\parallel \mathcal{A} \parallel}_{\infty}$, yielding $P_i$.
615: \item Initial samples: At some level $i$.
616: \item Output: triangles $T_i$.
617: \item Aggregation: triangulate $P_i$ (for efficiency, require 2 vertices 
618: on convex hull).
619: \end{closeitemize}
620: 
621: \medskip
622: {\bf Level two}:
623: \begin{closeitemize}
624: \item Input: Triangles $T_i$.
625: \item Output: set of rotations $(x,y,\theta)$.
626: \item Aggregation: congruent triangles by geom.\ hashing.
627: \item Correspondence:
628:   \begin{closeitemize}
629:   \item Analogy: by triangle congruence.
630:   \item Abstraction: $(t_j,t_k) \mapsto (x,y,\theta,d,r)$,
631: where rotation $(x,y,\theta)$ yields same analogy, with
632: RMSD $d$ between $P_i$ and rotated, and polygon regularity $r
633: = \parallel \parallel p_a-p_b \parallel - \parallel p_b-p_c \parallel
634: \parallel$, where rotation maps $p_a \rightarrow p_b \rightarrow p_c$.
635:   \end{closeitemize}
636: \item Model evaluation: confidence with respect to $d$ and $r$; priors
637: support rotations around $(x,y)$ in convex hull of $P_i$ and by
638: $\theta$ corresponding to ``reasonable'' multiplicity.
639: \item Sampling: for multiple ``good'' models, collect additional
640: random samples at perturbation $\delta_i$.
641: \end{closeitemize}
642: 
643: \medskip
644: {\bf Level three}:
645: \begin{closeitemize}
646: \item Input: $\set{(x_{ij},y_{ij},\theta_{ij})}$ over models ($j$)
647: from chosen perturbation levels ($i$).
648: \item Output: $(\lambda,\rho)$.
649: \item Aggregation: clustering in $(x,y,\theta)$-space.
650: \item Model evaluation: for $\lambda=(x,y),\rho=\pi/\theta$, take
651: joint probability over $i,j$ of $(x_{ij},y_{ij},\theta_{ij}) \approx
652: (x,y,\theta)$.
653: \item Sampling: for high entropy in model evaluation, add samples and
654: re-evaluate at outlier $\delta_j$ or try new $\delta_k$.
655: \end{closeitemize}
656: \end{minipage}
657: }
658: \vspace*{-0.5\baselineskip}
659: \caption{Correspondence mechanism instantiation for Jordan form
660: analysis.}
661: \label{tab:star-code}
662: \end{table}
663: 
664: \begin{figure}
665: \begin{center}
666: \includegraphics[width=3in]{star-trig2a}\hspace*{0.1in}\includegraphics[width=3in]{star-corr2a}
667: \\
668: \vspace*{0.1in}
669: \includegraphics[width=3in]{star-trig4a}\hspace*{0.1in}\includegraphics[width=3in]{star-corr4a}
670: \\
671: \vspace*{0.1in}
672: \includegraphics[width=3in]{star-trig4b}\hspace*{0.1in}\includegraphics[width=3in]{star-corr4b}
673: \end{center}
674: \caption{Example of correspondence analysis of Jordan form, for (top)
675: small sample set; (middle) larger sample set; (bottom) larger sample
676: set but lower-scoring model.  (left) Approximately-congruent
677: triangles.  (right) Evaluation of correspondence in terms of match
678: between original (red dots) and rotated (green circles) samples.}
679: \label{fig:star-demo}
680: \end{figure}
681: 
682: \section{Discussion}
683: 
684: Our general mechanism for uncovering and utilizing correspondence has
685: proved successful on challenging problems from experimental
686: algorithmics.  The mechanism leverages properties such as locality,
687: continuity, and decomposability, which are exhibited by the
688: applications studied here as well as many physical systems.
689: Decomposability and locality allow us to qualify correspondence in a
690: manner that drives data collection.  Contintuity allows correspondence
691: to obtain confidence in a model even with sparse, noisy data:
692: consistent matches among nearby constituents mutually reinforce each
693: other, allowing correspondence abstraction to detect and filter out
694: inconsistent interpretations.
695: 
696: Correspondence can be an appropriate analysis tool for a variety of
697: reasons.  In the spectral portrait application, level curves summarize
698: groups of eigenvalue computations, so their high-level correspondence
699: aids characterization of the underlying computation.  In the Jordan
700: form application, however, the higher-level entity has no significance
701: as a geometric object in numerical analysis terms, but correspondence
702: is applicable due to the semantics of superposition.  This semantics
703: also leads to phenomena such as hallucination (given enough samples,
704: any pattern can be found), requiring a more careful treatment of
705: decomposition.
706: 
707: Our work is similar in spirit to that of~\cite{huang99} for weather
708: data interpretation, and can be seen as a significant generalization,
709: formalization, and application of techniques studied there for finding
710: correspondence in meteorological data.  Similarly, our correspondence
711: framework captures and generalizes the computation required in object
712: recognition, allowing the body of research developed there to be
713: applied to a broader class of applications, such as experimental
714: algorithmics.  Compared to traditional manual analyses of graphical
715: representations in experimental algorithmics, the algorithmic nature
716: of our approach yields advantages such as model evaluation and
717: targeted sampling.  As with compositional modeling~\cite{compo}, we
718: advocate targeted use of domain knowledge, and as with
719: qualitative/quantitative model selection (e.g.~\cite{ironi}), we seek
720: to determine high level models for empirical data.  Our focus is on
721: problems requiring particular forms of domain knowledge to overcome
722: sparsity and noise in spatial datasets. A possible direction of future
723: work is to explore if the inclusion-exclusion methodology popular in
724: grid algorithms~\cite{gallopoulos-portrait} is also useful for
725: tracking correspondence.
726: 
727: Our long-term goal is to study data collection policies and their
728: relationships to qualitative model determination.  The notion of
729: estimating problem-solving performance by collecting data (and vice
730: versa) is reminiscent of reinforcement learning~\cite{boyan00} and
731: active learning~\cite{jordan-jair}.  The decomposable nature of SAL
732: computations promises to (i) support the design of efficient,
733: hierarchical algorithms for model estimation and (ii) provide a deeper
734: understanding of the recurring roles that correspondence plays in
735: spatial data analysis.
736: 
737: \bibliographystyle{plain}
738: \bibliography{corr}
739: 
740: \end{document}
741: