Вы находитесь на странице: 1из 12

COMPUTER

AIDED
GEOMETRIC
DESIGN
ELSEVIER Computer Aided Geometric Design 14 (1997) 707-718

Fitting helices to data by total least squares ~r

Yves Nievergelt l
Department of Mathematics, Eastern Washington University, Cheney, WA 99004-2431, USA
Received January 1996; revised October 1996

Abstract
Total least squares and the singular value decomposition provide a method to fit cylindrical
helices to data, with applications in--but not restricted to---engineering and nuclear physics. © 1997
Elsevier Science B.V.
Keywords: Curve fitting; Helices; Total least squares

O. Introduction

The problem of fitting a helix to data arises, for instance, in engineering and in nuclear
physics. In engineering, straight lines, circles, and cylindrical helices--the only curves
with constant curvature and constant torsion (Berger and Gostiaux, 1988)---~1ow for the
design of devices where one rigid piece of tubing must slide smoothly inside another
piece of tubing, as in a rigid photographic cable release. In nuclear accelerators, physicists
measure the positions of a charged particle moving along a helicoidal trajectory in a
magnetic field, and fitting a helix to the measurements yields estimates of the particle's
momentum. In all applications known to this author, the data consist of points scattered
over at most--usually much less than----one period of revolution around the helix's axis.
Though a few locally convergent iterative methods to fit helices with known axes to such
data have been published---by Altherr et al. (1993), Friihwirth et al. (1993), Gyulassy
and Harlander (1991), Lindstr6m (1995), and Ohlsson (1993)--no provably globally
convergent method accommodating yet unknown axes seems to have appeared in print
hitherto. The present work establishes such a method, with the following features.

This research was conducted at the University of Washington during a leave from Eastern Washington
University.
J E-mail: ynievergelt@ewu.edu.

0167-8396/97/$17.00 © 1997 Elsevier Science B.V. All rights reserved.


PII S0167-8396(96)00058-1
708 Y Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

(A) Continuity upon the data: the helices produced by the algorithm depend con-
tinuously upon generic data. (A definition of "generic" appears at the end of
Subsection 2.1.)
(B) Faithfulness to exact fits: if exactly one helix passes through all the data, then the
algorithm produces that helix.
(C) Identification of degeneracy: if the data lie on or near a smaller affine subspace--a
plane, a line, or a point--then the algorithm identifies that subspace.
(D) Global convergence: the algorithm converges for all generic data sets.
Though the algorithm does not purport to minimize any particular objective, in other
applications it may also serve to provide an initial estimate for a subsequent iterative
method to minimize a particular functional, for instance, Newton's method to minimize
either the average squared distance from the data to the fitted helix, or a function of energy
(Ohlsson, 1993). Indeed, with locally rapidly convergent algorithm, such as Newton's
method, there may still exist no auxiliary algorithms to locate an adequate initial estimate
(Ohlsson, 1993):
"a universal procedure for initiating the algorithm is difficult to find."
The present algorithm provides such a universal procedure.
The third feature of the method--identification of degeneracy--becomes particularly
important in fitting helices, because the problem is inherently ill-posed. Indeed, if all the
data lie on a straight line in space, then arbitrarily small changes may cause the perturbed
data to lie on either a circle with a large radius, or on an elongated helix with a small
radius but a large pitch. Worse yet, if all the data cluster around a point, then arbitrarily
small changes may cause the perturbed data to lie on any circle, line, or helix in space.
Therefore, the first step in the proposed method identifies such degeneracies. Thus, the
method proposed here consists of the following main steps, explained in greater detail
in the subsequent sections. (In the present work, the step number matches the section
number, so that section n treats step n.)
Step 1. Estimate the degree of collinearity of the data through total least squares, and
hence fit either a point, a line, a circle, or a helix, depending upon the dimension of the
subspace fitted to the data.
Step 2. For a helix, first fit a fight circular cylinder to the data, through total least
squares.
Step 3. Fit the pitch of the helix through total least squares applied to the orthogonal
projections of the data on the axis of the cylinder fitted in the second step and to the
complex arguments (polar angles) of the projections on the normal plane.

1. Estimating the degree of eoilinearity of the data

The data considered here consist of p points Xl,...,Xlo in the real Euclidean space
R 3, but such data may also happen to lie in an affine subspace W C__]i{3 with dimension
n C {0, 1,2,3}. Consequently, the present algorithm begins by fitting to the data an
affine manifold W C R 3 through total least squares, as follows.
As developed by Golub and van Loan (1980) and by van Huffel and Vandewalle (1991),
total least squares fit to the data a plane W C ]i{3 that minimizes the average squared
Y Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718 709

distance measured perpendicularly from the plane W to each data point. As proved by
Nievergelt (1994), such a plane passes through the arithmetic average ff := ( l / p ) ~-~jP=l ffJ
of the data and lends itself to the following computation.
Step 1.1. Compute the average ff := ( l / p ) ) - ~ = z xJ-
Step 1.2. Form the matrix X E l~px3(]l~) whose j t h row contains (Kj - ~)r.
Step 1.3. Compute the singular values Crl ~> tr2 ~> era ~> 0 of the matrix X , and
corresponding orthonormal right-singular vectors ~1, ~2, v3 E R 3.
Thus, the matrix X admits the singular value decomposition X = U . S . V T, with
orthogonal matrices V E 1~3×3(]I~) and U E NlIp×p(~), and with a "diagonal" matrix
S := diagonal(~l,cr2,cr3) E Mp×3(~) defined by Z~,i := cr~ for i E {1,2,3} and
Sk,e = 0 for all other indices (k, g).
If tr2 > ~r3 ~> 0, then the plane of total least squares satisfies the equation

where ( , ) denotes the usual dot product on R 3. In particular, if a3 = 0, then all the
data lie in that plane. With a multiple smallest singular value, there exists a family of
planes of total least squares, each of which satisfies an equation
=o,
where ,7 may represent any unit vector in the right-singular space corresponding to the
smallest right-singular value. For instance, if ~rl > cr2 = 0 = ~r3, then all the data lie on
the straight line at the intersection of all such planes. Similarly, if crl = a2 = ~r3 = O, then
all the data coalesce at one point. With real data and with approximate computations, for
example, with digital computers, the decision to treat the smallest singular values as zero
may depend upon the purposes at hand and hence rests with the user. Such a decision
amounts to the choice of a rank discriminator a0/> 0.
Step 1.4. Select a real or0/> 0.
If ~rl >~ ~r2 ~> o3 > o0 then fit a helix, as in the next section.
If ~rl /> ~r2 > ~r0 /> ~r3 then the data lie on or near a plane W c ~3. Compute the
orthogonal projections i f 1 , . . . , ffp of ~ l , . . . , ~ p on W, and fit a circle to "~1,..., ffp
through total least squares, for instance, by any of the methods published by Coope
(1993), Crawford (1983), Hansroul et al. (1988) or Karim~J.ki (1991).
If ~rl > ~ro /> cr2 /> or3 then the data lie on or near the straight line L c R 3 with
equations

=o.
If cro/> ~rl /> or2/> ~r3 then the data coalesce to or near the point ft.

2. Fitting the axis and the radius of the helix

Estimating the axis and the radius of a helix amounts to estimating the right-circular
cylinder supporting the helix. Consequently, with at least nine data points in general
710 Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

position in space, the method proposed here proceeds as follows, with greater detail
below.
Through total least squares, first fit to the data a general quadric surface, defined by
the sum of a quadratic form and an affine term.
Secondly, let the axis of the cylinder pass through the center of the quadric surface,
parallel to the eigenvector corresponding to the smallest eigenvalue of the quadratic form;
then define the radius by means of the average of the two larger eigenvalues.
The following discussion presents an abridged version, tailored to right circular cylin-
ders, of a more general method to be published separately on fitting any quadric curve,
surface, or hypersurface to data in any dimension.

2.1. Fitting a general quadric surface to data

Each affine quadric surface satisfies an equation F(S; if) = 0 defined by a quadratic
form

F(S;ff) = (fiT, 1). S . (fT, 1)T = (Xl,X2,X3, 1) 81'2 82'2 82,3 82 X2


81,3 82,3 $3,3 83 3
81 $2 $3 84,4
where S E 1VlI4xn(R) is a real symmetric matrix. The notation sa,k = sk = sk,4 adopted
here reflects the particular geometric role that the last row and column will play in
specifying the type of the quadric. Thus, a point f E IR3 lies on the quadric if, and only
if, F(S; f) = 0. Hence, the present algorithm will determine the matrix or matrices S
minimizing the total least-squares objective
P
a(s) := [F(s;fj)] 2,
j~-l

subject to the constraint that


4 4
Z tsk,,12-- 1
k=l g=k
The constraint arises because the quadric remains invariant under a multiplication of S
by any nonzero scalar. Thus, the fitted quadric corresponds to the whole equivalence
class of S in the projective space ]~(1~(3+1)(3+2)/2), as in algebraic geometry.
Computationally, however, arrange the "upper" entries (on and above the diagonal) of
the matrix S in a one-dimensional vector, arranged in lexicographic order:

S = g : = (81,1,81,2, 81,3, 81,4, 82,2, 82,3, s2,4; 83,3, 83,4; 84,4).

Similarly, for each point f E ]R3, form the vector i E ]~(3+1)(3+2)/2 : ]1~10 defined by

g : = (x2,2XlX2,2xlx3,axl; x2,2x2x3,2x2; x2,2x3; 1).

Then, with ( , ) denoting the dot product on ]~(3+1)(3+2)/2, and with x4 := 1,


Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718 711

4 4 4
F(S;ff)= (ffT, 1) " S" (ffT, 1)T = Z xk ~-~ Sk,gXe = Z Sk,kX2k
k=l £=1 k=l
4 4

+~-, Z sk,e.2xkxe=(e,~.
k=l g=k+l

The foregoing considerations lead to the following theorem.

Theorem 1. For each set of data if1,..., ffp in ]R3, the quadric surfaces with matrices
S minimizing
P
G(S)---- Z [(ffff, 1). S . (X-'jT.,1)T] 2,
j:l

subject to the constraint that


4 4
ZZjsk,,12-- l,
k = l £=k

correspond to the symmetric matrices S whose upper entries g E IRl° are the unit right-
singular vectors for the smallest singular value of the matrix Z c l~px 10(R) with jth
row

zj := ([fly]2, 2[ffj], [ffj]2, 2[ffj], [ffj]3, 2[ffj]l ; [ffj]2 2[ffj]2[ffj]3,2[ij]2;


[ffj]32,2[ffj]3; 1). (1)

Proof. The objective function


P P
G(S) = ~ [(fiT 1). S-(x~, 1)z]2 = Z [(iJ'S)] 2 = H Z 6112
j=l j=l

is the squared Euclidean norm IIZ- SlI~ of Z . S, which reaches its minimum if, and
only if, S is an eigenvector for the smallest eigenvalue of Z T • Z, or, equivalently, a
right-singular vector for the smallest singular value of Z (Stoer and Bulirsch, 1993). []

The theorem just proved shows that to fit a quadric surface to data, the algorithm
reduces to the following two steps.
Step 2.1. Form the matrix Z just described.
Step 2.2. Compute the smallest singular value and the corresponding right-singular
vectors of the matrix Z defined above. The entries of the right-singular vectors are the
upper entries of the matrix S in lexicographic order.
The facts just presented also provide a means to define the concept of "generic"
data for the purposes at hand: with respect to quadric surfaces, a set of data points is
generic if, and only if, the objective function G reaches a global minimum at exactly
one quadratic form (corresponding to one quadric surface and thus to one equivalence
class of matrices S). For instance, a data set through which passes exactly one quadric
surface is generic. Issues pertaining to nongeneric data appear in the fifth section.
712 Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

Such an algorithm satisfies the four conditions stated in the introduction, thanks to
the analytic dependence of eigenvalues and eigenvectors (Rellich, 1969). For use with
digital computers, algorithms and analyses of errors for the singular value decomposition
and total least squares have been published by Demmel and Kahan (1990), Golub and
Kahan (1965), van Huffel and Vandewalle (1991), and Wilkinson (1964, 1988).

2.2. Fitting the axis and the radius of the cylinder

Essentially, the present algorithm first fits the optimal general quadric surface described
in the preceding subsection in theorem 1, and then adjusts the eigenvalues of the upper
left-hand principal submatrix IS], consisting of the first 3 rows and 3 columns of S,
to the best approximation of the eigenvalues corresponding to a right-circular cylinder.
After an affine rigid transformation, the quadratic form F(S; if) fitted by theorem 1 may
take one of the following three types (Berger, 1987):
r+s 2
I(r,s): a,z~ - Z aizi, O <~s <~r, l ~ < r + s ~ < 3 .
i=1 i=r+l

r+s 2
*I(r,s): aimS- Z aizi+cr4' l<~r+s~<3.
i=1 i=r+l

f 7"-}-8

Z - X + 2 o 3, o 1 + 2.
4,=1 ~=r+l

The reduction of any affine quadric to its corresponding canonical type may proceed
as follows.
Step 2.3. Change coordinates to an orthonormal basis U = (~1, ~2, ~3) of eigenvectors
of [S], with eigenvalues ( O ' 1 ; . . . , O'r;--O'r.q_l,... , - - O ' r + s ; 0 , . . . ,0).
Step 2.4. Find the generalized "center" fro E N 3 of the quadric, defined as the shortest
least-squares solution of [S] - xo = - g , so that :go = - U . D t • U T. g, where the pseudo-
inverse D t is the diagonal matrix such that Di,i = cri for 1 ~< i ~< r, Di,i = -~r~ for
r < i <~ r + s, and Di,j = 0 for all other indices. Then translate the origin of coordinates
to the generalized center, - D t- U T- g with respect to the new basis U. Such a translation
annihilates Sl,. • •, sr+s and replaces 84,4 by a4 := 84,4 - - ~'T . U • D t • U T • g.
Step 2.5. If [S] is singular, rotate coordinates in its null space, Span { a r + ~ + l , . . . , ~i3},
so that u3 points in the direction of g + IS] • :go, which is the orthogonal projection of
g' on Range ([S]) ±. This step replaces ( s ~ + s + ~ , . . . , s3) by ~0 := U(gr+s+l, . . . , ,33)[12 in
the third coordinate.
A right-circular cylinder corresponds to a quadric surface of type 11(2, 0), but approx-
imate computations or data may lead to a quadric surface of another type. Therefore,
an additional step performs a least-squares perturbation of the parameters to bring the
quadratic form into type 11(2, 0).
Step 2.6. Replace the larger two eigenvalues by their average, rl -- r2 = (Crl + cr2)/2,
set the smallest eigenvalue and the linear term to zero, r3 = 0 and r0 = 0, and keep the
same axes U.
Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718 713

The theorems of Schmidt (1907), Eckart and Young (1936) and Mirsky (1960), with a
generalization by Golub et al. (1987), show that the quadratic form T thus obtained, with
equation ~-lx2 ÷ 7-1x2 + 0"4 = 0 with respect to the basis U, represents the least-squares
approximation (with respect to Frobenius's norm on matrices) of S by a quadratic form
T of type 11(2, 0).

3. Fitting the pitch of the helix

With a right-circular cylinder fitted to the data, the only remaining unknown parameter
consists of the pitch---or any other equivalent parameter--of the optimal helix supported
by the cylinder.
To estimate the pitch of the helix, the method proposed here uses total least squares
to estimate the linear relation between the displacement along the axis and the angle
of rotation around the axis. To this end, the method first passes from the canonical
Cartesian coordinates to cylindrical coordinates, with a shift of the origin to any point on
the cylinder's axis, and with the orthonormal basis of eigenvectors of [S] in the matrix U.
The new cylindrical coordinates (rj, a j, cj) then correspond to the orthogonal projections

rj . sin (aj)
cj
of each data point ffj along the axis of the helix (cj) and on the plane perpendicular to
the axis (rj • cos(aj), rj • sin(aj)). With respect to the same orthonormal basis U, the
parametric representation of the yet unknown helix takes a form such as

ll(c) = r - sin(w . (c - co) + ao) ,


(c - co)
where the yet unknown parameter w represents the rate of rotation around the axis
with respect to displacement along the axis. Thus, 27r/w represents the pitch: the axial
displacement per revolution (Berger and Gostiaux, 1988).
To estimate the parameter w, total least squares fit to the data pairs (aj, cj) a straight
line with equation
u. (a-~) + v . ( c - ~ ) = O,
where ~ :---- ( I / p ) E P = I aj and ~ := ( 1 / p ) E P = , cj. The result of such a total least
squares regression consists of a unit right-singular vector (u, v) E ]R2 corresponding to
the smaller singular value of the matrix with (aj - -~, cj - -~) in its jth row (Nievergelt,
1994). For a spatial helix, the fitted coefficient u does not vanish, whence w = - v / u ,
The following two steps summarize the foregoing discussion.
Step 3.1. Compute the cylindrical coordinates (aj, cj) of the data.
Step 3.2. Perform a total least-squares regression on the pairs (aj, cj).
Total least squares thus offer here a second opportunity to estimate the degree of
collinearity of the data: if u ----0 or u ~ 0, then the data lie on or near a circle in a plane
perpendicular to the axis.
714 Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

4. Example

To illustrate the theory established in the preceding sections, consider the problem of
fitting in space a right-circular helix to the data points listed in Table 1 and displayed
in Fig. l a. For the present test, the data in Table 1 lie exactly on the right-circular
cylinder with radius 195 and with axis parallel to (1/3, 2/3, 2/3) and passing through
( - 1 8 6 , 96, - 3 ) plus any multiple of (1/3, 2/3, 2/3); however, the data do not lie exactly
on any helix.
Step 1. The matrix X with j t h row (ffj - ~)T has singular values 309 >/ 62 ~> 6,
rounded to the nearest integer. The ratio 309/6 reveals that the data lie close to the plane
of total least-squares, but still sufficiently far from that plane for the method to proceed
with a general helix.
Step 2. The algorithm in Theorem 1 indicates that the matrix of monomials Z has
singular values (rounded to one or two significant digits)

4 x 105, 9 x 104, 4 x 10 4, 10 4, 10 3, 71, 4, 0.6, 0.0003, 10 -14.

Thus, computationally Z has only one smallest singular value, ~min ~ 10 -14, and it
corresponds to the right-singular vector S containing the "upper" entries of the symmetric
matrix (rounded to a few significant digits)

-0.153 x 10 -3 0.383 X 10 - 4 0.383 X 10 - 4 - 0 . 3 2 1 x 10 - I \


0.383 x 10 - 4 -0.978 X 10 - 4 0.766 X 10 - 4 0.166 x 10 -1
S =
0.383 x 10 -4 0.766 x 10 -4 -0.958 x 10 -4 - 0 . 5 1 7 × 10-3 / "
-0.321 x 10 -1 0.166 x 10 -1 -0.517 x 10 -3 -0.999348390/

Table 1
Data points.
x y z
ffl 62 397 103
if2 82 347 107
if3 93 288 120
if4 94 266 128
if5 65 163 169
if6 12 102 198
ff7 48 138 180
if8 77 187 157
if9 85 209 149
fflo 89 316 112
Y Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718 715
(a) (b)
-300 -300

~o ° ~ ~
300 ~~ I
Z Z

Io~I0 4off"~
Y Y

(d)
o~~-~___
Axial Position (C) ,o:%
~°I /
~°°1
Azimuth
2.5 3 3.5 -2oc~

Fig. 1. (a) Data. (b) Fitted cylinder. (c) TLS to find the pitch. (d) Fitted arc of helix.

Hence, numerically computing the eigenpairs of IS] gives a rotation U followed by a


translation by go with
-0.942737 0.116256 0.333333"~ (-18i)
U -- 0.226965 -0.709959 0.6666671, fro = 9 ,
0.244404 0.704147 0.666667,]
which brings S into the standard form
0 . 1 7 2 4 2 0 3 5 7 3 9 3 x 10 -3 o o
0 0 . 1 7 2 4 2 0 3 5 7 3 8 7 x 10 -3 0
0 0 - - 2 x 10 -14 - - 7 × 10 -12 "
0 0 - 7 x 10 -]2 -6.56/
716 Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

Hence, to fit a right-circular cylinder, the algorithm in section 2 keeps the same center
G0 and the same principal axes U, then orients the axis of the cylinder parallel to the
eigenvector corresponding to the smallest singular value: (0.333..., 0 . 6 6 6 . . . , 0.666...).
Simultaneously, the algorithm sets the smallest singular value tr3 = - 2 × 10 - 1 4 to 7"3 ~---0
together with the affine term a0 = - 7 × 10 - 1 2 , which becomes r0 = 0. In the plane
normal to the axis, the algorithm averages the larger two singular values to
7-1 ~ 7-2 ~- ((71 ÷ 0 " 2 ) / 2 = 0.172420357390 x 10 -3.
The constant term 7-n+l = an+l ------ 6 . 5 5 6 2 8 4 . . . then yields for the cylinder a radius
r = ~ ~ 195.
Step 3. To estimate the pitch of the helix, the method explained in the preceding section
uses the cylindrical coordinates (rj, aj, ej) of each data point ffj along the axis of the
helix (cj) and on the plane perpendicular to the axis (r 9 • cos(aj), rj • sin(aj)). Total
least squares then fit to such data a straight line with equation
u- ( a - ~) + v. ( c - ~ ) = 0,
which, for the present example, becomes a -- 0.0105c+ 2.34. Also, the regression shows
that the projections cj lie in the interval [204,354] measured from the center and along
the axis. Thus, the fitted helix admits the parametric representation
(-18!) (-0.942737 0.116256 0.333333"~
fa(t)= 9 + 0.226965 -0.709959 0.666667 /

×
(: cos,o01034,)
- 0.2A,A,A,04 0.704147

• sin(0.0105t + 2.34) ,
0.666667 /

t+204
with the data corresponding to values t E [0, 150]. Thus, even though the data lie on a
short nonplanar curve within a quarter of a turn around the cylinder, the algorithm fits a
helix closely, as shown in Fig. ld.

5. Conclusions

The algorithm proposed here fits helices to data through successive applications of
total least-squares: firstly, to estimate the largest affine subspace containing the data;
secondly, to fit a right-circular cylinder to the data; and, finally, to estimate the pitch
of the helix. The theory of total least-squares guarantees that the algorithm has the four
features (A)-(D) listed in the introduction, and the example shown here demonstrates the
numerical robustness of the algorithm.
Different algorithms may also serve to fit helices to data, for instance, by initially fitting
a spline curve to the data and by subsequently refining the fit through Newton's method.
Theoretically, however, no theorem appears to exist yet to prove that such algorithms
converge for all data and recover a helix exactly if the data already lie on a helix.
The problem of fitting helical splines appears yet involved, but such splines would
not share the principal characteristic of a cylindrical helix: constant curvature and con-
Y. Nievergelt / ComputerAided Geometric Design 14 (1997) 707-718 717

stant torsion. Hence, the curvature or the torsion of such helical splines would have
discontinuities.
The algorithm just presented extends to "helices" on some quadric surfaces other than
circular cylinders. For instance, on cones--type •(2, 1)--the example presented here
would not zero out the third singular value but would retain r3 = G3 ---- - 2 x 10 -14,
which would produce a "very long and narrow" cone (with a small solid angle at the
vertex). The determination of the pitch would remain exactly the same.
Finally, an additional modification of the present algorithm might allow for smaller
data sets, with only seven points instead of the at least nine points required to fit the
initial general quadric surface. With seven points in general positions in space, as with
other nongeneric data, the second step yields not only one quadratic form S but a net
(two dimensional family) or quadratic forms, expressed as linear combinations

AISI + A2S2 + A3S3,

+ + : l,

where $1, S2, $3 form an orthonormal basis for the right-singular space of the matrix
Z corresponding to the smallest, now triple, singular value of Z. The specification of
the type 11(2, 0) of the quadric surface as a right-circular cylinder then introduces two
additional equations constraining the coefficients A1, A2, A3. The resulting problem then
becomes a "supergeneralized" eigenvalue problem with three symmetric, but not nec-
essarily definite, matrices SI, $2, $3. Though such an algorithm has been developed by
Fix and Heiberger (1972) for two symmetric matrices, the problem for three or more
matrices appears still open.

References

Altherr, T., Vilela Mendes, R. and Seixas, J. (1993), A new method for fast track recognition
at present and future colliders, Nuclear Instruments and Methods in Physics Research A332,
284-287.
Anatzoglou, T.J., Mendel, J.M. and Harada, G.A. (1991), The constrained total least squares
technique and its applications to harmonic superresolution, IEEE Trans. Sig. Process. 39, 1070-
1087.
Berger, M. (1987), Geometry, Vol. I, Springer, New York.
Berger, M. (1987), Geometry, Vol. II, Springer, New York.
Coope, I.D. (1993), Circle fitting by linear and nonlinear least squares, Journal of Optimization
Theory and Applications 76, 381-388.
Berger, M. and Gostianx, B. (1988), Differential Geometry: Manifolds, Curves and Surfaces,
Springer, New York.
Crawford, J.E (1983), A noniterative method for fitting circular arcs to measured points, Nuclear
Instruments and Methods 211,223-225.
Demmel, J. and Kahan, W. (1990), Accurate singular values of bidiagonal matrices, SIAM J. Sci.
Statist. Comput. 11,873-912.
Eckart, C. and Young, G. (1936), The approximation of one matrix by another of lower rank,
Psychometrika 1, 211-218.
718 Y. Nievergelt / Computer Aided Geometric Design 14 (1997) 707-718

Fix, G. and Heiberger, R. (1972), An algorithm for the ill-conditioned generalized eigenvalue
problem, SIAM J. Numer. Anal. 9, 78-88.
Frtihwirth, R., Lichtenwagner, EK., Regler, M. and Stampfer, D. (1993), The DELPHI forward track
fit Track fitting with outlier rejection, Nuclear Instruments and Methods in Physics Research
A334, 528-536.
Golub, G.H., Hoffman, A. and Stewart, G.W. (1987), A generalization of the Eckart-Young-Mirsky
matrix approximation theorem, Linear Algebra Appl. 88/89, 317-327.
Gyulassy, M. and Harlander, M. (1991), Elastic tracking and neural network algorithms for complex
pattern recognition, Computer Physics Communications 66, 31~-6.
Golub, G.H. and Kahan, W. (1965), Calculating the singular values and pseudo-inverse of a matrix,
SIAM J. Numer. Anal. Ser. B 2, 205-224.
Golub, G.H. and Van Loan, C.F. (1980), An analysis of the total least squares problem, SIAM J.
Numer. Anal. 17, 883-893.
Hansroul, M., Jeremie, H. and Savard, D. (1988), Fast circle fit with the conformal mapping
method, Nuclear Instruments and Methods, Series A A270, 498-501.
van Huffel, S. and Vandewalle, J. (1991), The Total Least Squares Problem: Computational Aspects
and Analysis, Society for Industrial and Applied Mathematics, Philadelphia, PA.
Karimaki, V. (1991), Effective circle fitting for particle trajectories, Nuclear Instruments and
Methods, Series A A305, 187-191.
LindstriSm, M. (1995), Track reconstruction in the ATLAS detector using elastic arms, Nuclear
Instruments and Methods in Physics Research A357, 129-149.
Mirsky, L. (1960), Symmetric gauge functions and unitarily invariant norms, Quart. J. Math. Oxford
11, 50-59.
Nievergelt, Y. (1994), Total least squares: state-of-the-art regression in numerical analysis, SIAM
Review 36, 258-264.
Ohlsson, M. (1993), Extensions and explorations of the elastic arms algorithm, Computer Physics
Communications 77, 19-32.
Rellich, E (1969), Perturbation Theory of Eigenvalue Problems, translation by J. Berkowitz,
Gordon and Breach, New York.
Schmidt, E. (1907), Zur Theorie der linearen und nicht linearen Integralgleichungen. 1. Teil:
Entwicklung wiilktirlicher Funktionen nach Systemen vorgeschriebener, Math. Ann. 63, 433-
476.
Stoer, J. and Bulirsch (1993), Introduction to Numerical Analysis, 2nd ed., Springer, New York.
Wilkinson, J.H. (1964), Rounding Errors in Algebraic Processes, Prentice-Hall, Englewood Cliffs,
NJ.
Wilkinson, J.H. (1988), The Algebraic Eigenvalue Problem, Clarendon Press, Oxford.

Вам также может понравиться