Fiber Optics Design and Solving Symmetric Banded
Systems
Linda Kaufman
William Paterson University
Dispersion Compensation fibers
Signal degradation and Restoration
Transmission (~80km)Dispersion
CompensationAmplification
EDFA
High Speed Optical Communication Segment
Fiber Optics Design and Solving symmetric Banded systems
Linda Kaufman
William Paterson University
Marcuse model for fiber wrapped around spool For a radially symmetric fiber
where r is the radius from the center of the fiber, R is the radius of the spool which leads to a matrix problem of the structure.
b’s and c’s are 0(r/R)
705020
503010
20101
Objective: Create a algorithm to factor a symmetric indefinite banded matrix A
An n x n matrix A is symmetric ifajk = akj
A matrix is indefinite if any of these hold a. eigenvalues are not necessarily all positive or all negative b. One cannot factor A into LLT 1 -5 is indefinite- determinant is negative -5 2
A has band width 2m+1 if ajk = 0 for |k-j| >m
m=2
x x x
x x x x 0
x x x x x
x x x x x
x x x x x
0 x x x x
x x x
Uses
(1)Solve a system of equations Ax=bIf A = MDMT , D is block diagonal, one solves
Mz=bDy =zMTx =y
(2)Find the inertia of a system- the number of positive and negative eigenvalues of a matrix
If A = MDMT, The inertia of A is the inertia of D.
Given a matrix B, the inertia of a matrix A = B-cIis the number of eigenvalues greater, less than and equal
to c.
Competition
Ignore symmetry- use Gaussian elimination- does not give inertia info- 0(nm2) time-(n is size of matrix, m is bandwidth)
Band reduction to tridiagonal (Schwarz,Bischof, Lang, Sun, Kaufman) followed by Bunch for tridiagonal-0(n2m)
Snap Back-Irony and Toledo-Cerfacs-2004, 0(nm2) time generally faster than GE but twice space
Bunch – Kaufman for general matrices and hope bandwidth does not grow as Jones and Patrick noticed
Consider the linear system.0001x + y = 1.0x + y = 2.0
Gaussian elimination- 3 digit arithmetic.0001x + y = 1.010000y = 10000
Giving y = 1, x =0
But true solution is about x =1.001, y =.999
If interchange first and second rows and columns before Gaussian elimination get
x + y = 2.0 y = 2.0 -1.0= 1.0
So x = 1.0- a bit better
Difficulties
Gaussian elimination with partial pivoting to prevent division by zero and unbounded elemental growth
1 1 101 8 4 610 4 3 5 8 6 5 7 1 3 8 1 6 2 1 3 2 5 4 1 4 7
Unsymmetric pivoting yields
10 4 3 5 8 1 8 4 61 1 10 6 5 7 1 3 8 1 6 2 1 3 2 5 4 1 4 7
Eliminating first column yields
10 4 3 5 8 0 x x x f0 x x f f 6 5 7 1 3 8 1 6 2 1 3 2 5 4 1 4 7
5 diagonal becomes 7 diagonal
In general 2k+1 diagonal becomes 3k+1 diagonal
Symmetric pivoting
But to maintain symmetry one must pivot rows and columns simultaneouslyWhat if matrix is
0 1 ?1 0
Interchanging first row and column does not help
If matrix is0 1 10001 0 101000 10 0
Pivot it to 0 1000 11000 0 101 10 0
And use top 2 x 2 as a “pivot”
But pivoting tends to upset the band structure!!
Bunch -Kaufman for symmetric indefinite non banded
Where D is either 1 x 1 or 2 x 2and B’ = B – Y D-1 YT
Choice of dimension of D depends on magnitude of a11 versus other elements
If D is 2 x 2, det(D)<0
Partition A as
2 x 2 vs 1 x 1 for nonbanded symmetric system
4 2 1 1 0 0 2 3 3 1 x 1 0 2 2.5
1 3 5 0 2.5 4.75
1 10 5 1 0 0 10 200 3 1 x 1 0 100 -47 5 3 8 0 -47 -17
1 10 5 1 10 0 10 50 3 2 x 2 10 50 0 5 3 8 0 0 25.3
Bandwidth spread with Bunch-Kaufman on banded matrix
Banded algorithm based on B-K
1) Let c = |ar 1 | = max in abs. in col. 1 2) If |a11 | >= w c, use a 1 x 1 pivot. Here w is a scalar to balance
element growth, like 1/3 Else
3)Let f= max element in abs. in column r 4) If w c*c <= |a11 | f, use a 1 x 1 pivot
Else5)interchange the rth and second rows and columns of A6) perform a 2 by 2 pivot7) fix it up if elements stick out beyond the original band width
Never pivot with 1 x 1
Fix up algorithm
Worst case r =m+1, what happens in pivotingx x x x x xx x x x x x x a b c dx x x x x x x xx x x x x x x x xx x x x x x x x x xx x x x x x x x x x x x x x x x x x a x x x x x x x x x x b x x x x x x x x x x c x x x x x x x x x d x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Reset B’ = B – Y D-1 YT
Let Z = D-1 YT = x x x x x x x x x p q r s x x x x x .
Then B’ looks like
x x x x x x bp cp dpx x x x x x x cq dqx x x x x x x cr drx x x x x as bs cs ds x x x x x x x x x x x x xx x x as x x x x x x x xbp x x bs x x x x x x x xcp cq x cs x x x x x x x xdp dq dr ds x x x x x x x x x x x x x x x x x x x x x x x x x x x x xIf we don’t remove elements outside the band, the bandwidth could explode to the full matrix.
Partition A as
Because of structure eliminating 1 element gets rid of column
x x x x x xx x x x x x x cq dqx x x x x x x cr drx x x x x x bt ct dt x x x x x x x x x x x x x x x x x x x x x x x x bt x x x x x x x x cq cr ct x x x x x x x x dq dr dt x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Continue with eliminating another element
x x x x x xx x x x x x x x x x x x x x x ux x x x x x x x m x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x u m x x x x x x x x x x x x x x x x x x x x x x x x x x x x x
Now eliminate u to restore bandwidth
In practice one would just use the elements in the first part of Z to determine the Givens/stabilized elementary transformations and never bother to actually form the bulge. Thus there is never any need to generate the elements outside the original bandwidth.
Alternative Formulation
Partition A asWhere D is 2 x 2
Let Z = D-1 YT
Reset B’ = QT(B – Y Z)Q= QTB Q-HGWhere H=QTY and G =ZQTherefore do “retraction” followed by rank 2 correction.Recall H looks like h1 h2 0 h3
Where the “0” has length r-1 and the whole H has length m+r-1
Alternative-2
Q is created such that G =ZQ has the form
G =
where 0 has r-3 elements and G5 is a multiple of G3
1)Explicitly use 0’s in rank-2 correctionThus correction has form below where numbers indicate the rank of the correction 1 1 0 (r-3 rows) 1 2 1 (m-r+2 rows) 0 1 1 (r-1 rows)2) Store Q info in place of 0’s and G3 to reduce space to (2m+1)n3) Reduce solve time for each 2 x 2 from 4m+6r mults to 4m+2r- In worst case, 3mn vs. 5mn
G G G
G G
1 2 3
0 4 5
Properties
Space- (2m+1)n-in order to save transformations compared to (3m+1)n for unsymmetric G.E.
Never pivots for positive definite or 1 x 1 Decrease operations by not applying second column
of pivot when these will be undone Operation count depends on types of transformations Elementary –between m2n/2 and 5 m2n/4 Compared with between m2n and 2m2n for G.E.
Elemental growth
Let a = max element of matrix For 1 x 1, Ajk = Ajk – A1k Aj1 /A11 taking norms
element growth is a(1+1/w) For 2 x 2 if no retraction, it turns out that
element growth after 1 step is a(1 + (3+w)/(1-w))
For 2 x 2 if retraction, it turns out that element growth is (4+8/(1-w))a
2 steps of 1 x 1 = 1 step of retraction when w=1/3, giving growth bound of 4n-1
n=1000, m=100 problem diagonal offdiagonal outer diagonal pos. eigenvalues
/2x2/average r 1 100 1 1 1000/0/0/ 2 10 1 100 502/161/66 3 10 1 10000 500/500/89 4 1 10*|i-j| 10*|i-j| 493/397/57
Problem 1 2 3 4
Time-retraction (ms)elem/orthog
98/98 161/240 296/520 220/220
Time-Snapbackelem/orthog
140/140 550/590 1640/2200
1290/1370
Time-Lapack-tf2/trf 195/136 395/235 395/235 395/235
Error-retraction 3e-15/3e-15
1.6e-13 /1.3e-13
3e-13/9e-14
2e-11/5e-12
Error-snapback 5e-15 /5e-15
4e-11 1e-13
2.2e-4 4e-12
3e-52e-11
Error Lapack-tf2 7e-15 1e-15 6e-15 1e-12
Comparison using Atlas Blas on Sun
Retraction vs. Lapack
Lapack vs. retraction, n=2000, on random matrices, with about 1000 + eigenvalues
0
5
10
15
20
25
30
0 100 200 300 400 500 600
half bandwidth
tim
e
dgbtrf
retraction
dgbtf2
Elementary Orthogonal
Time 150 160
2 x2’s 204 179
error 3.04e-11 1.10e-11
growth 146.4 1292.1
Time 160 160
2 x2’s 221 178
error 1.00e-12 3e-12
growth 130.5 1762.8
Elementary vs. orthogonal on 2 random matrices, n=1000, m=100
I thought orthogonal would be more accurate, have less elemental growth, and take much more time-but these assumptions were wrong for random matrices
Future
Could do pivoting with 1 by 1 at price of space and time- needs to be implemented
Adaptations for small bandwidth as in optical fiber code.
Condition estimator
Top Related