Update LU factors 10/11/2013 Zack
Replace one column (or one row) π π΅ = π΅ + ( π β π)π π Update LU Factors Add a rank-1 matrix ππ€π₯ π π΅ = π΅ + ππ€π₯ π
Bartels-Golub-Reid update (BGR) Replace one column Forrest-Tomlin update (FT) Block-LU update (BLU)
BGR update π π΅ = π΅ + π β π π π π = π π + π£ β π£ π π = ππβ² the last nonzero element of π£ will be in row π , and to restore triangularity we need to nd an ππ factorization of πβ.
BGR update let π be a cyclic permutation that moves the π th column and row of πβ² to position π and shifts the intervening columns and rows forward.
BGR update β’ Ideally the existing diagonals in rows π βΆ π β 1 will be large enough to serve as pivots, but to ensure stability we must allow row interchanges .
FT update β’ the FT update is equivalent to the BGR update with the restriction that π = π and row interchanges are not allowed in the factorization πβ. β’ numerical stability of the FT update is not completely reliable. Nevertheless, the ease of implementation means that the FT update has been adopted in virtually all sparse implementations of the simplex method, except LA05, LA15, and LUSOL.
FT update β’ The reason why FT update works well in practice ο¦ οΆο¦ οΆ ο¦ οΆο¦ οΆο¦ οΆ ο¦ οΆο¦ οΆ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ 1 1 1 1 ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· 1 1 1 1 ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ 1 1 1 1 ο½ ο½ ο½ ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· LU ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· 1 1 1 1 ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ ο΄ 1 1 1 1 ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο§ ο·ο§ ο·ο§ ο· ο§ ο·ο§ ο· ο¨ ο΄ ο΄ ο΄ οΈο¨ ο ο ο ο΄οΈ ο¨ ο΄ ο΄ ο΄ οΈο¨ ο ο ο οΈο¨ ο΄οΈ ο¨ ο΄ ο ο ο οΈο¨ ο΄οΈ 1 1 1 1
BLU update π = (π€ 1 , π€ 2 β¦ ) have replaced columns π 1 , π 2 , β¦ of π΅ 0 π΅ 0 π π§ = π π¨ πΉ π 0 0 columns of πΉ are columns π 1 , π 2 , β¦ of the π Γ π identity
BLU update β’ Example: ο¦ οΆ ο¦ οΆ ο¦ οΆ x a a a a v v b 11 12 13 14 11 12 1 1 ο§ ο· ο§ ο· ο§ ο· a a a a v v x b ο§ ο· ο§ ο· ο§ ο· 21 22 23 24 21 22 2 2 ο§ ο· ο§ ο· ο§ ο· a a a a v v x b ο½ ο§ 31 32 33 34 31 23 ο· ο§ 3 ο· ο§ 3 ο· ο§ a a a a v v ο· ο§ x ο· ο§ b ο· 41 42 43 44 41 24 4 4 ο§ ο· ο§ ο· ο§ ο· 1 x 0 ο§ ο· ο§ ο· ο§ ο· 5 ο§ ο· ο§ ο· ο§ ο· ο¨ οΈ ο¨ οΈ ο¨ οΈ 1 x 0 6
BLU update β’ block-triangular factorization π΅ 0 π π 0 π π 0 = πΉ π π π π· π½ Where π 0 π = π,π π π 0 = πΉ π , and π· = βπ π π
BLU update π§ π 0 π 0 π = π π¨ π π 0 π· π½ π₯ π 0 π₯β² = π π π 0 π½ Where π 0 π₯ = π , π₯ β² = βπ π π₯
BLU update π§ π₯ π 0 π = π¨ π₯β² π· π·π¨ = π₯β² , π 0 π§ = π₯ β ππ¨
BLU update β’ we can solve π΅π¦ = π by the following sequence:
BLU update The vectors in π were often rather dense, but it did save time to store them and avoid double solves with π΅ 0 On most problems, the BLU updates were found to be faster than LUSOL implementation of the Bartels-Golub-Reid update.
Rank-1 update
Thank you
Recommend
More recommend