motivation 5 gaussian elimination computational projects

6
Computational Projects Lecture 5: Gaussian Elimination / LU decomposition http://www.maths.cam.ac.uk/undergrad/catam/part-ia-lectures Dr Rob Jack, DAMTP 1 Motivation So far we considered algorithms that correspond to very short MATLAB programs, eg the main part of Euler's method is simply x(1) = xstart; y(1) = ystart; for i=1:n yprime = x(i)*y(i)^2; y(i+1) = y(i) + h*yprime; x(i+1) = x(i) + h; end If we want to do something more complicated, we need to understand how to build up a longer program, based on simple ingredients. In the next 2 lectures, we discuss an extended example of this 2 The problem If the inverse does not exist then our method should notice and return an error You might remember that this can be done by a method called Gaussian elimination. The method that we use is almost equivalent, it is called LU decomposition. Given an n n matrix A and an n-vector b (both with real-valued elements), we want to solve Ax = b to obtain x = A -1 b Our method will also work if b is a matrix of size n m. If we set b to be the identity then we obtain x = A -1 (if it exists). 3 LU decomposition Our method is based on a trick, which is to write A = LU . . . where L is a lower triangular matrix and U is upper triangular 2 4 3 5 = 2 4 @ @ @ 3 5 2 4 @ @ @ 3 5 L ij = 0 for i>j U ij = 0 for i<j A L U 0 0 We assume (for now) that this is possible. In fact we assume that it is possible with L ii =1 for all i. . . . cases where this is not possible are discussed later. 4

Upload: others

Post on 17-Mar-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Motivation 5 Gaussian Elimination Computational Projects

Computational Projects

Lecture 5: Gaussian Elimination / LU decomposition

http://www.maths.cam.ac.uk/undergrad/catam/part-ia-lectures

Dr Rob Jack, DAMTP

1

Motivation

So far we considered algorithms that correspond to very short MATLAB programs, eg the main part of Euler's method is simply

x(1) = xstart; y(1) = ystart; for i=1:n yprime = x(i)*y(i)^2; y(i+1) = y(i) + h*yprime; x(i+1) = x(i) + h; end

If we want to do something more complicated, we need to understand how to build up a longer program, based on simple ingredients.

In the next 2 lectures, we discuss an extended example of this

2

The problem

If the inverse does not exist then our method should notice and returnan error

<latexit sha1_base64="kReYcES9wFct6bF8PfMXdOAfnCM=">AAACy3icbVFNb9NAEF2brxK+Ahy5jAhInCK7qgQHDpVyASSkIpqmUhxF6/U4XmU/rN1xaTA+8rf4H/wRzqzTHEjLSCs9vTezM/Mmr5X0lCS/o/jW7Tt37x3cHzx4+Ojxk+HTZ2feNk7gVFhl3XnOPSppcEqSFJ7XDrnOFc7y9aTXZxfovLTmlDY1LjRfGVlKwSlQy+GvrOYut5dtmgrdtYPMlyXXUm1gkBn8JqzW3BRtNpl0baY5VYKrdtJ1++pstlPzvJ31YvjUr2V9VNMgc3y1wsLJVUWDjyVQhSBNPxNCYdGDsQR4GVbtJQNhM9BIlS3AV7ZRRZ8gBULoBA6pcSZAQOes65bDUTJOtgE3QboDI7aLk+XwT1ZY0Wg0JBT3fp4mNS1a7kILhWHyxmPNxZqvcB6g4Rr9ot363MHrwBRQWheeIdiy/1a0XHu/0XnI7M3w17We/J82b6h8t2ilqRtCI64alY0CstAfDQrpUFA4SiG5cDLMCqLijgsKNu51qVBdIHWwR+a6Nyq9bstNcHY4TpNx+uVwdPx+Z9kBe8FesjcsZW/ZMfvATtiUiehV9Cn6Gp3Gn2Mff49/XKXG0a7mOduL+OdfPmjiUg==</latexit><latexit sha1_base64="kReYcES9wFct6bF8PfMXdOAfnCM=">AAACy3icbVFNb9NAEF2brxK+Ahy5jAhInCK7qgQHDpVyASSkIpqmUhxF6/U4XmU/rN1xaTA+8rf4H/wRzqzTHEjLSCs9vTezM/Mmr5X0lCS/o/jW7Tt37x3cHzx4+Ojxk+HTZ2feNk7gVFhl3XnOPSppcEqSFJ7XDrnOFc7y9aTXZxfovLTmlDY1LjRfGVlKwSlQy+GvrOYut5dtmgrdtYPMlyXXUm1gkBn8JqzW3BRtNpl0baY5VYKrdtJ1++pstlPzvJ31YvjUr2V9VNMgc3y1wsLJVUWDjyVQhSBNPxNCYdGDsQR4GVbtJQNhM9BIlS3AV7ZRRZ8gBULoBA6pcSZAQOes65bDUTJOtgE3QboDI7aLk+XwT1ZY0Wg0JBT3fp4mNS1a7kILhWHyxmPNxZqvcB6g4Rr9ot363MHrwBRQWheeIdiy/1a0XHu/0XnI7M3w17We/J82b6h8t2ilqRtCI64alY0CstAfDQrpUFA4SiG5cDLMCqLijgsKNu51qVBdIHWwR+a6Nyq9bstNcHY4TpNx+uVwdPx+Z9kBe8FesjcsZW/ZMfvATtiUiehV9Cn6Gp3Gn2Mff49/XKXG0a7mOduL+OdfPmjiUg==</latexit><latexit sha1_base64="kReYcES9wFct6bF8PfMXdOAfnCM=">AAACy3icbVFNb9NAEF2brxK+Ahy5jAhInCK7qgQHDpVyASSkIpqmUhxF6/U4XmU/rN1xaTA+8rf4H/wRzqzTHEjLSCs9vTezM/Mmr5X0lCS/o/jW7Tt37x3cHzx4+Ojxk+HTZ2feNk7gVFhl3XnOPSppcEqSFJ7XDrnOFc7y9aTXZxfovLTmlDY1LjRfGVlKwSlQy+GvrOYut5dtmgrdtYPMlyXXUm1gkBn8JqzW3BRtNpl0baY5VYKrdtJ1++pstlPzvJ31YvjUr2V9VNMgc3y1wsLJVUWDjyVQhSBNPxNCYdGDsQR4GVbtJQNhM9BIlS3AV7ZRRZ8gBULoBA6pcSZAQOes65bDUTJOtgE3QboDI7aLk+XwT1ZY0Wg0JBT3fp4mNS1a7kILhWHyxmPNxZqvcB6g4Rr9ot363MHrwBRQWheeIdiy/1a0XHu/0XnI7M3w17We/J82b6h8t2ilqRtCI64alY0CstAfDQrpUFA4SiG5cDLMCqLijgsKNu51qVBdIHWwR+a6Nyq9bstNcHY4TpNx+uVwdPx+Z9kBe8FesjcsZW/ZMfvATtiUiehV9Cn6Gp3Gn2Mff49/XKXG0a7mOduL+OdfPmjiUg==</latexit><latexit sha1_base64="kReYcES9wFct6bF8PfMXdOAfnCM=">AAACy3icbVFNb9NAEF2brxK+Ahy5jAhInCK7qgQHDpVyASSkIpqmUhxF6/U4XmU/rN1xaTA+8rf4H/wRzqzTHEjLSCs9vTezM/Mmr5X0lCS/o/jW7Tt37x3cHzx4+Ojxk+HTZ2feNk7gVFhl3XnOPSppcEqSFJ7XDrnOFc7y9aTXZxfovLTmlDY1LjRfGVlKwSlQy+GvrOYut5dtmgrdtYPMlyXXUm1gkBn8JqzW3BRtNpl0baY5VYKrdtJ1++pstlPzvJ31YvjUr2V9VNMgc3y1wsLJVUWDjyVQhSBNPxNCYdGDsQR4GVbtJQNhM9BIlS3AV7ZRRZ8gBULoBA6pcSZAQOes65bDUTJOtgE3QboDI7aLk+XwT1ZY0Wg0JBT3fp4mNS1a7kILhWHyxmPNxZqvcB6g4Rr9ot363MHrwBRQWheeIdiy/1a0XHu/0XnI7M3w17We/J82b6h8t2ilqRtCI64alY0CstAfDQrpUFA4SiG5cDLMCqLijgsKNu51qVBdIHWwR+a6Nyq9bstNcHY4TpNx+uVwdPx+Z9kBe8FesjcsZW/ZMfvATtiUiehV9Cn6Gp3Gn2Mff49/XKXG0a7mOduL+OdfPmjiUg==</latexit>

You might remember that this can be done by a method calledGaussian elimination. The method that we use is almost equivalent, itis called LU decomposition.

<latexit sha1_base64="56h3ti/n+f7L7wQsbLm0nIEe37I=">AAADG3icbVJNj9MwEE3C11JY6MKRy4gKiQOqmhUSHDis1AMcOCzSdruoqaqJM2ms+iPYTpcqyh9B4gT/hBviyoE/whknWyS6y0i2nt4bv/GMnZaCWzca/Qqja9dv3Ly1d7t35+7+vfv9gwenVleG0YRpoc1ZipYEVzRx3Ak6Kw2hTAVN09W41adrMpZrdeI2Jc0lLhXPOUPnqcVBuJ+UaFL9sY5jJpu6l9g8R8nFBnqJonOmpUSV1cl43NSJRFcwFPW4aXbV6XSrpmk9bUVvale8fF66XmJwuaTM8GXheu91BbJFYEiSTMmAK9D5jVtgqCAlyLQiSDeAIMkVOvO8EJTBa6ys5T7Hdyu56joYApwU9DexszonqCyB90MhtXVAHyq+RkHKPQPuoCvUGb6dQEa+h1Jb3pk1i/5gNBx1AVdBvAWDYBvHi/7vJNOskt6cCbR2Fo9KN6/ROM4E+UH4q5TIVrikmYcKJdl53b1bA088k0GujV/KQcf+e6JGae1Gpj6zna29rLXk/7RZ5fKX85qrsnKk2EWhvBLgNLSfADJuiDn/xhlHZnzvDFiBBpnzX2WnSkFiTa6BHTKV7aDiy2O5Ck4Ph/FoGL87HBy92o5sL3gUPA6eBnHwIjgK3gTHwSRgoQs/hV/Cr9Hn6Fv0PfpxkRqF2zMPg52Ifv4By2cANw==</latexit><latexit sha1_base64="56h3ti/n+f7L7wQsbLm0nIEe37I=">AAADG3icbVJNj9MwEE3C11JY6MKRy4gKiQOqmhUSHDis1AMcOCzSdruoqaqJM2ms+iPYTpcqyh9B4gT/hBviyoE/whknWyS6y0i2nt4bv/GMnZaCWzca/Qqja9dv3Ly1d7t35+7+vfv9gwenVleG0YRpoc1ZipYEVzRx3Ak6Kw2hTAVN09W41adrMpZrdeI2Jc0lLhXPOUPnqcVBuJ+UaFL9sY5jJpu6l9g8R8nFBnqJonOmpUSV1cl43NSJRFcwFPW4aXbV6XSrpmk9bUVvale8fF66XmJwuaTM8GXheu91BbJFYEiSTMmAK9D5jVtgqCAlyLQiSDeAIMkVOvO8EJTBa6ys5T7Hdyu56joYApwU9DexszonqCyB90MhtXVAHyq+RkHKPQPuoCvUGb6dQEa+h1Jb3pk1i/5gNBx1AVdBvAWDYBvHi/7vJNOskt6cCbR2Fo9KN6/ROM4E+UH4q5TIVrikmYcKJdl53b1bA088k0GujV/KQcf+e6JGae1Gpj6zna29rLXk/7RZ5fKX85qrsnKk2EWhvBLgNLSfADJuiDn/xhlHZnzvDFiBBpnzX2WnSkFiTa6BHTKV7aDiy2O5Ck4Ph/FoGL87HBy92o5sL3gUPA6eBnHwIjgK3gTHwSRgoQs/hV/Cr9Hn6Fv0PfpxkRqF2zMPg52Ifv4By2cANw==</latexit><latexit sha1_base64="56h3ti/n+f7L7wQsbLm0nIEe37I=">AAADG3icbVJNj9MwEE3C11JY6MKRy4gKiQOqmhUSHDis1AMcOCzSdruoqaqJM2ms+iPYTpcqyh9B4gT/hBviyoE/whknWyS6y0i2nt4bv/GMnZaCWzca/Qqja9dv3Ly1d7t35+7+vfv9gwenVleG0YRpoc1ZipYEVzRx3Ak6Kw2hTAVN09W41adrMpZrdeI2Jc0lLhXPOUPnqcVBuJ+UaFL9sY5jJpu6l9g8R8nFBnqJonOmpUSV1cl43NSJRFcwFPW4aXbV6XSrpmk9bUVvale8fF66XmJwuaTM8GXheu91BbJFYEiSTMmAK9D5jVtgqCAlyLQiSDeAIMkVOvO8EJTBa6ys5T7Hdyu56joYApwU9DexszonqCyB90MhtXVAHyq+RkHKPQPuoCvUGb6dQEa+h1Jb3pk1i/5gNBx1AVdBvAWDYBvHi/7vJNOskt6cCbR2Fo9KN6/ROM4E+UH4q5TIVrikmYcKJdl53b1bA088k0GujV/KQcf+e6JGae1Gpj6zna29rLXk/7RZ5fKX85qrsnKk2EWhvBLgNLSfADJuiDn/xhlHZnzvDFiBBpnzX2WnSkFiTa6BHTKV7aDiy2O5Ck4Ph/FoGL87HBy92o5sL3gUPA6eBnHwIjgK3gTHwSRgoQs/hV/Cr9Hn6Fv0PfpxkRqF2zMPg52Ifv4By2cANw==</latexit><latexit sha1_base64="56h3ti/n+f7L7wQsbLm0nIEe37I=">AAADG3icbVJNj9MwEE3C11JY6MKRy4gKiQOqmhUSHDis1AMcOCzSdruoqaqJM2ms+iPYTpcqyh9B4gT/hBviyoE/whknWyS6y0i2nt4bv/GMnZaCWzca/Qqja9dv3Ly1d7t35+7+vfv9gwenVleG0YRpoc1ZipYEVzRx3Ak6Kw2hTAVN09W41adrMpZrdeI2Jc0lLhXPOUPnqcVBuJ+UaFL9sY5jJpu6l9g8R8nFBnqJonOmpUSV1cl43NSJRFcwFPW4aXbV6XSrpmk9bUVvale8fF66XmJwuaTM8GXheu91BbJFYEiSTMmAK9D5jVtgqCAlyLQiSDeAIMkVOvO8EJTBa6ys5T7Hdyu56joYApwU9DexszonqCyB90MhtXVAHyq+RkHKPQPuoCvUGb6dQEa+h1Jb3pk1i/5gNBx1AVdBvAWDYBvHi/7vJNOskt6cCbR2Fo9KN6/ROM4E+UH4q5TIVrikmYcKJdl53b1bA088k0GujV/KQcf+e6JGae1Gpj6zna29rLXk/7RZ5fKX85qrsnKk2EWhvBLgNLSfADJuiDn/xhlHZnzvDFiBBpnzX2WnSkFiTa6BHTKV7aDiy2O5Ck4Ph/FoGL87HBy92o5sL3gUPA6eBnHwIjgK3gTHwSRgoQs/hV/Cr9Hn6Fv0PfpxkRqF2zMPg52Ifv4By2cANw==</latexit>

Given an n⇥ n matrix A and an n-vector b (both with real-valuedelements), we want to solve Ax = b to obtain x = A�1b

<latexit sha1_base64="CiVX6Y/91uWYp/iRFisoZQ9ptVg=">AAADAXicbVLLjtMwFHXCayiPKbBkY9EgDRIdJSMkWDDSjLqA5SDR6YimVLZz01r1I7KdPhRFQmIFf8IOseVL+A/EGqftgs5wF9H1Ob73+pwbWghuXRz/CsJr12/cvLV3u3Xn7r37++0HD8+tLg2DPtNCmwtKLAiuoO+4E3BRGCCSChjQWa/hB3Mwlmv13q0KGEkyUTznjDgPjdu/04IYqpdVkjBZV63U5jmRXKxwK1WwYFpKorIq7fXqKpXETRkRVa+ud9nBYMtSWg0a0je1M168KFwrNWQygczwydS13vA5KEwUjlTquASLVYR9oeFLHJ1Gnsk2bNSdA3Pa4IhG+IBqN8UL7j9em+jOiSghwyBAgnL22XO8ALwgymGnsdViDr7Z8thX+rOmjnDfcnl8+rHqJjWN6nG7Ex/G68BXk2SbdNA2zsbtP2mmWdlMY4JYO0ziwo0qYhxnArze0kJB2IxMYOhTRbyyUbXeTo2feiTDudeSa//ENfpvRUWktStJ/c3GQnuZa8D/ccPS5a9GFVdF6UCxzaC8FI3oZtU448Z76FeZccIM92/FbEoMYc7/EDtTpuA9czXeAalsjEou23I1OT86TOLD5N1R5+T11rI99Bg9QQcoQS/RCXqLzlAfseBD8Cn4EnwNP4ffwu/hj83VMNjWPEI7Ef78C4T38ws=</latexit><latexit sha1_base64="CiVX6Y/91uWYp/iRFisoZQ9ptVg=">AAADAXicbVLLjtMwFHXCayiPKbBkY9EgDRIdJSMkWDDSjLqA5SDR6YimVLZz01r1I7KdPhRFQmIFf8IOseVL+A/EGqftgs5wF9H1Ob73+pwbWghuXRz/CsJr12/cvLV3u3Xn7r37++0HD8+tLg2DPtNCmwtKLAiuoO+4E3BRGCCSChjQWa/hB3Mwlmv13q0KGEkyUTznjDgPjdu/04IYqpdVkjBZV63U5jmRXKxwK1WwYFpKorIq7fXqKpXETRkRVa+ud9nBYMtSWg0a0je1M168KFwrNWQygczwydS13vA5KEwUjlTquASLVYR9oeFLHJ1Gnsk2bNSdA3Pa4IhG+IBqN8UL7j9em+jOiSghwyBAgnL22XO8ALwgymGnsdViDr7Z8thX+rOmjnDfcnl8+rHqJjWN6nG7Ex/G68BXk2SbdNA2zsbtP2mmWdlMY4JYO0ziwo0qYhxnArze0kJB2IxMYOhTRbyyUbXeTo2feiTDudeSa//ENfpvRUWktStJ/c3GQnuZa8D/ccPS5a9GFVdF6UCxzaC8FI3oZtU448Z76FeZccIM92/FbEoMYc7/EDtTpuA9czXeAalsjEou23I1OT86TOLD5N1R5+T11rI99Bg9QQcoQS/RCXqLzlAfseBD8Cn4EnwNP4ffwu/hj83VMNjWPEI7Ef78C4T38ws=</latexit><latexit sha1_base64="CiVX6Y/91uWYp/iRFisoZQ9ptVg=">AAADAXicbVLLjtMwFHXCayiPKbBkY9EgDRIdJSMkWDDSjLqA5SDR6YimVLZz01r1I7KdPhRFQmIFf8IOseVL+A/EGqftgs5wF9H1Ob73+pwbWghuXRz/CsJr12/cvLV3u3Xn7r37++0HD8+tLg2DPtNCmwtKLAiuoO+4E3BRGCCSChjQWa/hB3Mwlmv13q0KGEkyUTznjDgPjdu/04IYqpdVkjBZV63U5jmRXKxwK1WwYFpKorIq7fXqKpXETRkRVa+ud9nBYMtSWg0a0je1M168KFwrNWQygczwydS13vA5KEwUjlTquASLVYR9oeFLHJ1Gnsk2bNSdA3Pa4IhG+IBqN8UL7j9em+jOiSghwyBAgnL22XO8ALwgymGnsdViDr7Z8thX+rOmjnDfcnl8+rHqJjWN6nG7Ex/G68BXk2SbdNA2zsbtP2mmWdlMY4JYO0ziwo0qYhxnArze0kJB2IxMYOhTRbyyUbXeTo2feiTDudeSa//ENfpvRUWktStJ/c3GQnuZa8D/ccPS5a9GFVdF6UCxzaC8FI3oZtU448Z76FeZccIM92/FbEoMYc7/EDtTpuA9czXeAalsjEou23I1OT86TOLD5N1R5+T11rI99Bg9QQcoQS/RCXqLzlAfseBD8Cn4EnwNP4ffwu/hj83VMNjWPEI7Ef78C4T38ws=</latexit><latexit sha1_base64="CiVX6Y/91uWYp/iRFisoZQ9ptVg=">AAADAXicbVLLjtMwFHXCayiPKbBkY9EgDRIdJSMkWDDSjLqA5SDR6YimVLZz01r1I7KdPhRFQmIFf8IOseVL+A/EGqftgs5wF9H1Ob73+pwbWghuXRz/CsJr12/cvLV3u3Xn7r37++0HD8+tLg2DPtNCmwtKLAiuoO+4E3BRGCCSChjQWa/hB3Mwlmv13q0KGEkyUTznjDgPjdu/04IYqpdVkjBZV63U5jmRXKxwK1WwYFpKorIq7fXqKpXETRkRVa+ud9nBYMtSWg0a0je1M168KFwrNWQygczwydS13vA5KEwUjlTquASLVYR9oeFLHJ1Gnsk2bNSdA3Pa4IhG+IBqN8UL7j9em+jOiSghwyBAgnL22XO8ALwgymGnsdViDr7Z8thX+rOmjnDfcnl8+rHqJjWN6nG7Ex/G68BXk2SbdNA2zsbtP2mmWdlMY4JYO0ziwo0qYhxnArze0kJB2IxMYOhTRbyyUbXeTo2feiTDudeSa//ENfpvRUWktStJ/c3GQnuZa8D/ccPS5a9GFVdF6UCxzaC8FI3oZtU448Z76FeZccIM92/FbEoMYc7/EDtTpuA9czXeAalsjEou23I1OT86TOLD5N1R5+T11rI99Bg9QQcoQS/RCXqLzlAfseBD8Cn4EnwNP4ffwu/hj83VMNjWPEI7Ef78C4T38ws=</latexit>

Our method will also work if b is a matrix of size n⇥m. If we set b to be

the identity then we obtain x = A�1 (if it exists).<latexit sha1_base64="vY7TwT3gG/JsbZcRqufSCqm10HI=">AAADCXicbVLLjtMwFE3CayivAks2VzRIw4KqGSHBAqRB3cCKQaLTkZpS2c5NY9WPyHamLVH2SKzgT9ghtnwFP8KKBU6nCzrDlSxdn3NfPte0FNy6weBXGF26fOXqtb3rnRs3b92+071779jqyjAcMS20OaHEouAKR447gSelQSKpwDFdDFt+fIrGcq3eu3WJU0nmiuecEeehWfdPWhJD9apOEiabupPaPCeSizV0UoVLpqUkKqvT4bCpU0lcwYioh02zy47HW5bSetySvqhd8PJp6TqpIfM5ZobPC9d5WxmQ6AqdwZILAURYDUttFsBziGkM3AIBX8nwFegcLP+IEKvUcYkWZNwHeJPDEsGi28Q7DRTBFQg8Q+UFWLcX1YZo6ghXEK9evvpQP0maGPZ9E+4AV15X+7jfzLq9QX+wMbjoJFunF2ztaNb9nWaaVdJ3YoJYO0kGpZvWxDjOBPp3VxZLwhZkjhPvKuKnntabLTXwyCMZ5Nr4oxxs0H8zaiKtXUvqI1sp7XmuBf/HTSqXP5/WXJWVQ8XOGuWVaLVpVw4ZN8icX2nGCTPczwqsIIYw5z/GTpcCxSm6BnZAKluhkvOyXHSOD/rJoJ+8O+gdvthKthc8CB4G+0ESPAsOg9fBUTAKWEjDT+GX8Gv0OfoWfY9+nIVG4TbnfrBj0c+/nHL2TA==</latexit><latexit sha1_base64="vY7TwT3gG/JsbZcRqufSCqm10HI=">AAADCXicbVLLjtMwFE3CayivAks2VzRIw4KqGSHBAqRB3cCKQaLTkZpS2c5NY9WPyHamLVH2SKzgT9ghtnwFP8KKBU6nCzrDlSxdn3NfPte0FNy6weBXGF26fOXqtb3rnRs3b92+071779jqyjAcMS20OaHEouAKR447gSelQSKpwDFdDFt+fIrGcq3eu3WJU0nmiuecEeehWfdPWhJD9apOEiabupPaPCeSizV0UoVLpqUkKqvT4bCpU0lcwYioh02zy47HW5bSetySvqhd8PJp6TqpIfM5ZobPC9d5WxmQ6AqdwZILAURYDUttFsBziGkM3AIBX8nwFegcLP+IEKvUcYkWZNwHeJPDEsGi28Q7DRTBFQg8Q+UFWLcX1YZo6ghXEK9evvpQP0maGPZ9E+4AV15X+7jfzLq9QX+wMbjoJFunF2ztaNb9nWaaVdJ3YoJYO0kGpZvWxDjOBPp3VxZLwhZkjhPvKuKnntabLTXwyCMZ5Nr4oxxs0H8zaiKtXUvqI1sp7XmuBf/HTSqXP5/WXJWVQ8XOGuWVaLVpVw4ZN8icX2nGCTPczwqsIIYw5z/GTpcCxSm6BnZAKluhkvOyXHSOD/rJoJ+8O+gdvthKthc8CB4G+0ESPAsOg9fBUTAKWEjDT+GX8Gv0OfoWfY9+nIVG4TbnfrBj0c+/nHL2TA==</latexit><latexit sha1_base64="vY7TwT3gG/JsbZcRqufSCqm10HI=">AAADCXicbVLLjtMwFE3CayivAks2VzRIw4KqGSHBAqRB3cCKQaLTkZpS2c5NY9WPyHamLVH2SKzgT9ghtnwFP8KKBU6nCzrDlSxdn3NfPte0FNy6weBXGF26fOXqtb3rnRs3b92+071779jqyjAcMS20OaHEouAKR447gSelQSKpwDFdDFt+fIrGcq3eu3WJU0nmiuecEeehWfdPWhJD9apOEiabupPaPCeSizV0UoVLpqUkKqvT4bCpU0lcwYioh02zy47HW5bSetySvqhd8PJp6TqpIfM5ZobPC9d5WxmQ6AqdwZILAURYDUttFsBziGkM3AIBX8nwFegcLP+IEKvUcYkWZNwHeJPDEsGi28Q7DRTBFQg8Q+UFWLcX1YZo6ghXEK9evvpQP0maGPZ9E+4AV15X+7jfzLq9QX+wMbjoJFunF2ztaNb9nWaaVdJ3YoJYO0kGpZvWxDjOBPp3VxZLwhZkjhPvKuKnntabLTXwyCMZ5Nr4oxxs0H8zaiKtXUvqI1sp7XmuBf/HTSqXP5/WXJWVQ8XOGuWVaLVpVw4ZN8icX2nGCTPczwqsIIYw5z/GTpcCxSm6BnZAKluhkvOyXHSOD/rJoJ+8O+gdvthKthc8CB4G+0ESPAsOg9fBUTAKWEjDT+GX8Gv0OfoWfY9+nIVG4TbnfrBj0c+/nHL2TA==</latexit><latexit sha1_base64="vY7TwT3gG/JsbZcRqufSCqm10HI=">AAADCXicbVLLjtMwFE3CayivAks2VzRIw4KqGSHBAqRB3cCKQaLTkZpS2c5NY9WPyHamLVH2SKzgT9ghtnwFP8KKBU6nCzrDlSxdn3NfPte0FNy6weBXGF26fOXqtb3rnRs3b92+071779jqyjAcMS20OaHEouAKR447gSelQSKpwDFdDFt+fIrGcq3eu3WJU0nmiuecEeehWfdPWhJD9apOEiabupPaPCeSizV0UoVLpqUkKqvT4bCpU0lcwYioh02zy47HW5bSetySvqhd8PJp6TqpIfM5ZobPC9d5WxmQ6AqdwZILAURYDUttFsBziGkM3AIBX8nwFegcLP+IEKvUcYkWZNwHeJPDEsGi28Q7DRTBFQg8Q+UFWLcX1YZo6ghXEK9evvpQP0maGPZ9E+4AV15X+7jfzLq9QX+wMbjoJFunF2ztaNb9nWaaVdJ3YoJYO0kGpZvWxDjOBPp3VxZLwhZkjhPvKuKnntabLTXwyCMZ5Nr4oxxs0H8zaiKtXUvqI1sp7XmuBf/HTSqXP5/WXJWVQ8XOGuWVaLVpVw4ZN8icX2nGCTPczwqsIIYw5z/GTpcCxSm6BnZAKluhkvOyXHSOD/rJoJ+8O+gdvthKthc8CB4G+0ESPAsOg9fBUTAKWEjDT+GX8Gv0OfoWfY9+nIVG4TbnfrBj0c+/nHL2TA==</latexit>

3

LU decomposition

Our method is based on a trick, which is to write A = LU

. . . where L is a lower triangular matrix and U is upper triangular<latexit sha1_base64="HdoWt/gq+mXlTlKpyp6QhsQnUt8=">AAAC/3icbVLLjtMwFHXCawivAks2Fi0SC1Qlo5FgMSMN6obFSAwSnVZqqurGcRKrfkS2M50qChIr+BN2iC2fwm+wYI3d6YLOcCVL1+ec62uf66zmzNg4/hWEN27eun1n72507/6Dh496j5+cGdVoQsdEcaWnGRjKmaRjyyyn01pTEBmnk2w58vzknGrDlPxo1zWdCyglKxgB66BF73dag87URZskRHRtlJqiAMH4GkeppCuihACZt+lo1LWpAFsR4O2o63bZyWTLZlk78aQ71CxZfVDbKNVQljTXrKxs9L7RWFBbqRwzg/3Fc6wkBmw1I8tXeFUxUnnKKrzSzFI8eHt0Mh5EUZoraxxPtcNOBl4DmKsV1b4WZNlwcGeD21xgdyk8GG9ETV3vSKJu0evHw3gT+HqSbJM+2sbpovfHNSeNoNISDsbMkri28xa0ZYRT99rG0BrIEko6c6kEQc283cymwy8a/8ZCabekxRv034oWhDFrkTmlN9Bc5Tz4P27W2OLNvGWybiyV5LJR0XDvnB80zpmmxLpB5gyIs5IRTCrQQKz7DjtdKsrPqe3wDpgJb1Ry1Zbrydn+MImHyYf9/vHh1rI99Aw9Ry9Rgl6jY/QOnaIxIsE0+BR8Cb6Gn8Nv4ffwx6U0DLY1T9FOhD//AvXX86c=</latexit><latexit sha1_base64="HdoWt/gq+mXlTlKpyp6QhsQnUt8=">AAAC/3icbVLLjtMwFHXCawivAks2Fi0SC1Qlo5FgMSMN6obFSAwSnVZqqurGcRKrfkS2M50qChIr+BN2iC2fwm+wYI3d6YLOcCVL1+ec62uf66zmzNg4/hWEN27eun1n72507/6Dh496j5+cGdVoQsdEcaWnGRjKmaRjyyyn01pTEBmnk2w58vzknGrDlPxo1zWdCyglKxgB66BF73dag87URZskRHRtlJqiAMH4GkeppCuihACZt+lo1LWpAFsR4O2o63bZyWTLZlk78aQ71CxZfVDbKNVQljTXrKxs9L7RWFBbqRwzg/3Fc6wkBmw1I8tXeFUxUnnKKrzSzFI8eHt0Mh5EUZoraxxPtcNOBl4DmKsV1b4WZNlwcGeD21xgdyk8GG9ETV3vSKJu0evHw3gT+HqSbJM+2sbpovfHNSeNoNISDsbMkri28xa0ZYRT99rG0BrIEko6c6kEQc283cymwy8a/8ZCabekxRv034oWhDFrkTmlN9Bc5Tz4P27W2OLNvGWybiyV5LJR0XDvnB80zpmmxLpB5gyIs5IRTCrQQKz7DjtdKsrPqe3wDpgJb1Ry1Zbrydn+MImHyYf9/vHh1rI99Aw9Ry9Rgl6jY/QOnaIxIsE0+BR8Cb6Gn8Nv4ffwx6U0DLY1T9FOhD//AvXX86c=</latexit><latexit sha1_base64="HdoWt/gq+mXlTlKpyp6QhsQnUt8=">AAAC/3icbVLLjtMwFHXCawivAks2Fi0SC1Qlo5FgMSMN6obFSAwSnVZqqurGcRKrfkS2M50qChIr+BN2iC2fwm+wYI3d6YLOcCVL1+ec62uf66zmzNg4/hWEN27eun1n72507/6Dh496j5+cGdVoQsdEcaWnGRjKmaRjyyyn01pTEBmnk2w58vzknGrDlPxo1zWdCyglKxgB66BF73dag87URZskRHRtlJqiAMH4GkeppCuihACZt+lo1LWpAFsR4O2o63bZyWTLZlk78aQ71CxZfVDbKNVQljTXrKxs9L7RWFBbqRwzg/3Fc6wkBmw1I8tXeFUxUnnKKrzSzFI8eHt0Mh5EUZoraxxPtcNOBl4DmKsV1b4WZNlwcGeD21xgdyk8GG9ETV3vSKJu0evHw3gT+HqSbJM+2sbpovfHNSeNoNISDsbMkri28xa0ZYRT99rG0BrIEko6c6kEQc283cymwy8a/8ZCabekxRv034oWhDFrkTmlN9Bc5Tz4P27W2OLNvGWybiyV5LJR0XDvnB80zpmmxLpB5gyIs5IRTCrQQKz7DjtdKsrPqe3wDpgJb1Ry1Zbrydn+MImHyYf9/vHh1rI99Aw9Ry9Rgl6jY/QOnaIxIsE0+BR8Cb6Gn8Nv4ffwx6U0DLY1T9FOhD//AvXX86c=</latexit><latexit sha1_base64="HdoWt/gq+mXlTlKpyp6QhsQnUt8=">AAAC/3icbVLLjtMwFHXCawivAks2Fi0SC1Qlo5FgMSMN6obFSAwSnVZqqurGcRKrfkS2M50qChIr+BN2iC2fwm+wYI3d6YLOcCVL1+ec62uf66zmzNg4/hWEN27eun1n72507/6Dh496j5+cGdVoQsdEcaWnGRjKmaRjyyyn01pTEBmnk2w58vzknGrDlPxo1zWdCyglKxgB66BF73dag87URZskRHRtlJqiAMH4GkeppCuihACZt+lo1LWpAFsR4O2o63bZyWTLZlk78aQ71CxZfVDbKNVQljTXrKxs9L7RWFBbqRwzg/3Fc6wkBmw1I8tXeFUxUnnKKrzSzFI8eHt0Mh5EUZoraxxPtcNOBl4DmKsV1b4WZNlwcGeD21xgdyk8GG9ETV3vSKJu0evHw3gT+HqSbJM+2sbpovfHNSeNoNISDsbMkri28xa0ZYRT99rG0BrIEko6c6kEQc283cymwy8a/8ZCabekxRv034oWhDFrkTmlN9Bc5Tz4P27W2OLNvGWybiyV5LJR0XDvnB80zpmmxLpB5gyIs5IRTCrQQKz7DjtdKsrPqe3wDpgJb1Ry1Zbrydn+MImHyYf9/vHh1rI99Aw9Ry9Rgl6jY/QOnaIxIsE0+BR8Cb6Gn8Nv4ffwx6U0DLY1T9FOhD//AvXX86c=</latexit>

Thi

sis

asu

perv

isor

’sco

pyof

the

note

s.P

leas

edo

not

dist

ribu

teto

stud

ents

.

5 Gaussian Elimination

5.0 Introduction

One of the aims of this section is to write a slightly longer piece of Matlab code, showing how it canbe constructed piece by piece. It is generally easier to write a basic code, and then refine it to make itmore sophisticated.

Remark. This section also illustrates how to write a standard method, in this case [a very close relativeof] Gaussian elimination, in a neater algorithmic form using matrices. Needless to say, matrices areimportant; as the abstract of a research seminar given this time last year put it:

‘Functions of matrices are widely used in science, engineering and the social sciences, due

to the succinct and insightful way they allow problems to be formulated and solutions

to be expressed. New applications involving matrix functions are regularly being found,

ranging from small but difficult problems in medicine to huge, sparse systems arising in

the solution of partial differential equations. . . . ’

5.1 LU factorization

5.1.1 Definition

Let A be a real n⇥ n matrix. We say that the n⇥ n matrices L and U are an LU factorization of A if

(i) L is lower-triangular, i.e. Li j = 0 for i < j,

(ii) U is upper-triangular, i.e. Ui j = 0 for i > j, and

(iii) A = LU.

Therefore the factorization takes the form2

4

3

5 =

2

4@

@@

3

5⇥

2

4@@@

3

5 .

5.1.2 Application: solution of linear systems

Let A = LU and suppose we wish to solve Ax = b. This is the same as L(Ux) = b, which we decomposeinto

Ly = b, Ux = y.

Both latter systems are triangular and can be solved using forward/backward substitution. Specifically,first we solve for y; thus

L1 1y1 = b1 gives y1, nextL2 1y1 + L2 2y2 = b2 yields y2 etc.

Then we solve for x by reversing the order; thus

Unnxn = yn gives xn, nextUn�1n�1xn�1 + Un�1nxn = yn�1 yields xn�1, and so on.

Remark. This requires O(n2) computational operations.2105/1205/13

21 Where, as usual, we only bother to count multiplications/divisions.

Mathematical Tripos: IA/IB Computational Projects 5-38 c� [email protected], Easter 2014

Lij = 0 for i > j

Uij = 0 for i < j

A<latexit sha1_base64="AGwWIH4+9/qgg1Wckv4yVplDpII=">AAACgHicbVFNj9MwEHXDVzd8FThysegi7anEq5VAiMOiXjguEt2s1FTVxJmkVm0nsp2FysoP3T/CFZxuDnSXkSw9vTczz37OGymsS5KbUfTg4aPHT8ZH8dNnz1+8nLx6fWnr1nBc8FrW5ioHi1JoXDjhJF41BkHlEtN8O+/19BqNFbX+4XYNrhRUWpSCgwvUemKzBkxe//KMcdX5OLNlCUrIHY0zjT95rRTowmfzeeczBW7DQfp51x2qaTqoee7TXgxL7VY0Z42LMwNVhYUR1cbFx1+P4249mSazZF/0PmADmJKhLtaT31lR81ahdlyCtUuWNG7lwTjBJQa71mIDfAsVLgPUoNCu/D6cjr4PTEHL2oSjHd2z/054UNbuVB46+xfYu1pP/k9btq78tPJCN61DzW+NylZSV9M+aVoIg9yFJAsB3IhwV8o3YIC78B8HLhuU1+g6ekDmqg+K3Y3lPrg8nbFkxr6fTs+/DJGNyVvyjpwQRj6Sc/KNXJAF4eSG/BmNR0dRFJ1EHyJ22xqNhpk35KCiz38B/9PEvQ==</latexit><latexit sha1_base64="AGwWIH4+9/qgg1Wckv4yVplDpII=">AAACgHicbVFNj9MwEHXDVzd8FThysegi7anEq5VAiMOiXjguEt2s1FTVxJmkVm0nsp2FysoP3T/CFZxuDnSXkSw9vTczz37OGymsS5KbUfTg4aPHT8ZH8dNnz1+8nLx6fWnr1nBc8FrW5ioHi1JoXDjhJF41BkHlEtN8O+/19BqNFbX+4XYNrhRUWpSCgwvUemKzBkxe//KMcdX5OLNlCUrIHY0zjT95rRTowmfzeeczBW7DQfp51x2qaTqoee7TXgxL7VY0Z42LMwNVhYUR1cbFx1+P4249mSazZF/0PmADmJKhLtaT31lR81ahdlyCtUuWNG7lwTjBJQa71mIDfAsVLgPUoNCu/D6cjr4PTEHL2oSjHd2z/054UNbuVB46+xfYu1pP/k9btq78tPJCN61DzW+NylZSV9M+aVoIg9yFJAsB3IhwV8o3YIC78B8HLhuU1+g6ekDmqg+K3Y3lPrg8nbFkxr6fTs+/DJGNyVvyjpwQRj6Sc/KNXJAF4eSG/BmNR0dRFJ1EHyJ22xqNhpk35KCiz38B/9PEvQ==</latexit><latexit sha1_base64="AGwWIH4+9/qgg1Wckv4yVplDpII=">AAACgHicbVFNj9MwEHXDVzd8FThysegi7anEq5VAiMOiXjguEt2s1FTVxJmkVm0nsp2FysoP3T/CFZxuDnSXkSw9vTczz37OGymsS5KbUfTg4aPHT8ZH8dNnz1+8nLx6fWnr1nBc8FrW5ioHi1JoXDjhJF41BkHlEtN8O+/19BqNFbX+4XYNrhRUWpSCgwvUemKzBkxe//KMcdX5OLNlCUrIHY0zjT95rRTowmfzeeczBW7DQfp51x2qaTqoee7TXgxL7VY0Z42LMwNVhYUR1cbFx1+P4249mSazZF/0PmADmJKhLtaT31lR81ahdlyCtUuWNG7lwTjBJQa71mIDfAsVLgPUoNCu/D6cjr4PTEHL2oSjHd2z/054UNbuVB46+xfYu1pP/k9btq78tPJCN61DzW+NylZSV9M+aVoIg9yFJAsB3IhwV8o3YIC78B8HLhuU1+g6ekDmqg+K3Y3lPrg8nbFkxr6fTs+/DJGNyVvyjpwQRj6Sc/KNXJAF4eSG/BmNR0dRFJ1EHyJ22xqNhpk35KCiz38B/9PEvQ==</latexit><latexit sha1_base64="AGwWIH4+9/qgg1Wckv4yVplDpII=">AAACgHicbVFNj9MwEHXDVzd8FThysegi7anEq5VAiMOiXjguEt2s1FTVxJmkVm0nsp2FysoP3T/CFZxuDnSXkSw9vTczz37OGymsS5KbUfTg4aPHT8ZH8dNnz1+8nLx6fWnr1nBc8FrW5ioHi1JoXDjhJF41BkHlEtN8O+/19BqNFbX+4XYNrhRUWpSCgwvUemKzBkxe//KMcdX5OLNlCUrIHY0zjT95rRTowmfzeeczBW7DQfp51x2qaTqoee7TXgxL7VY0Z42LMwNVhYUR1cbFx1+P4249mSazZF/0PmADmJKhLtaT31lR81ahdlyCtUuWNG7lwTjBJQa71mIDfAsVLgPUoNCu/D6cjr4PTEHL2oSjHd2z/054UNbuVB46+xfYu1pP/k9btq78tPJCN61DzW+NylZSV9M+aVoIg9yFJAsB3IhwV8o3YIC78B8HLhuU1+g6ekDmqg+K3Y3lPrg8nbFkxr6fTs+/DJGNyVvyjpwQRj6Sc/KNXJAF4eSG/BmNR0dRFJ1EHyJ22xqNhpk35KCiz38B/9PEvQ==</latexit>

L<latexit sha1_base64="ioiO1/Sfz1bCVSqyIzi0d3yUk7M=">AAACgHicbVFNi9swEFXcr6z7lbbHXkSzhT2l1rLQUnpYyKWHHrbQrBfiEMby2BGRZCPJ2wbhH7p/pNdWzvrQ7HZA8HhvZp70lDdSWJckN6PowcNHj5+Mj+Knz56/eDl59frS1q3huOC1rM1VDhal0Lhwwkm8agyCyiWm+Xbe6+k1Gitq/cPtGlwpqLQoBQcXqPXEZg2YvP7lGeOq83FmyxKUkDsaZxp/8lop0IXP5vPOZwrchoP08647VNN0UPPcp70YltqtaM4aF2cGqgoLI6qNi4+/HcfdejJNZsm+6H3ABjAlQ12sJ7+zouatQu24BGuXLGncyoNxgksMdq3FBvgWKlwGqEGhXfl9OB19H5iClrUJRzu6Z/+d8KCs3ak8dPYvsHe1nvyftmxd+WnlhW5ah5rfGpWtpK6mfdK0EAa5C0kWArgR4a6Ub8AAd+E/Dlw2KK/RdfSAzFUfFLsby31weTpjyYx9P52efxkiG5O35B05IYx8JOfkK7kgC8LJDfkzGo+Ooig6iT5E7LY1Gg0zb8hBRZ//AhI7xMg=</latexit><latexit sha1_base64="ioiO1/Sfz1bCVSqyIzi0d3yUk7M=">AAACgHicbVFNi9swEFXcr6z7lbbHXkSzhT2l1rLQUnpYyKWHHrbQrBfiEMby2BGRZCPJ2wbhH7p/pNdWzvrQ7HZA8HhvZp70lDdSWJckN6PowcNHj5+Mj+Knz56/eDl59frS1q3huOC1rM1VDhal0Lhwwkm8agyCyiWm+Xbe6+k1Gitq/cPtGlwpqLQoBQcXqPXEZg2YvP7lGeOq83FmyxKUkDsaZxp/8lop0IXP5vPOZwrchoP08647VNN0UPPcp70YltqtaM4aF2cGqgoLI6qNi4+/HcfdejJNZsm+6H3ABjAlQ12sJ7+zouatQu24BGuXLGncyoNxgksMdq3FBvgWKlwGqEGhXfl9OB19H5iClrUJRzu6Z/+d8KCs3ak8dPYvsHe1nvyftmxd+WnlhW5ah5rfGpWtpK6mfdK0EAa5C0kWArgR4a6Ub8AAd+E/Dlw2KK/RdfSAzFUfFLsby31weTpjyYx9P52efxkiG5O35B05IYx8JOfkK7kgC8LJDfkzGo+Ooig6iT5E7LY1Gg0zb8hBRZ//AhI7xMg=</latexit><latexit sha1_base64="ioiO1/Sfz1bCVSqyIzi0d3yUk7M=">AAACgHicbVFNi9swEFXcr6z7lbbHXkSzhT2l1rLQUnpYyKWHHrbQrBfiEMby2BGRZCPJ2wbhH7p/pNdWzvrQ7HZA8HhvZp70lDdSWJckN6PowcNHj5+Mj+Knz56/eDl59frS1q3huOC1rM1VDhal0Lhwwkm8agyCyiWm+Xbe6+k1Gitq/cPtGlwpqLQoBQcXqPXEZg2YvP7lGeOq83FmyxKUkDsaZxp/8lop0IXP5vPOZwrchoP08647VNN0UPPcp70YltqtaM4aF2cGqgoLI6qNi4+/HcfdejJNZsm+6H3ABjAlQ12sJ7+zouatQu24BGuXLGncyoNxgksMdq3FBvgWKlwGqEGhXfl9OB19H5iClrUJRzu6Z/+d8KCs3ak8dPYvsHe1nvyftmxd+WnlhW5ah5rfGpWtpK6mfdK0EAa5C0kWArgR4a6Ub8AAd+E/Dlw2KK/RdfSAzFUfFLsby31weTpjyYx9P52efxkiG5O35B05IYx8JOfkK7kgC8LJDfkzGo+Ooig6iT5E7LY1Gg0zb8hBRZ//AhI7xMg=</latexit><latexit sha1_base64="ioiO1/Sfz1bCVSqyIzi0d3yUk7M=">AAACgHicbVFNi9swEFXcr6z7lbbHXkSzhT2l1rLQUnpYyKWHHrbQrBfiEMby2BGRZCPJ2wbhH7p/pNdWzvrQ7HZA8HhvZp70lDdSWJckN6PowcNHj5+Mj+Knz56/eDl59frS1q3huOC1rM1VDhal0Lhwwkm8agyCyiWm+Xbe6+k1Gitq/cPtGlwpqLQoBQcXqPXEZg2YvP7lGeOq83FmyxKUkDsaZxp/8lop0IXP5vPOZwrchoP08647VNN0UPPcp70YltqtaM4aF2cGqgoLI6qNi4+/HcfdejJNZsm+6H3ABjAlQ12sJ7+zouatQu24BGuXLGncyoNxgksMdq3FBvgWKlwGqEGhXfl9OB19H5iClrUJRzu6Z/+d8KCs3ak8dPYvsHe1nvyftmxd+WnlhW5ah5rfGpWtpK6mfdK0EAa5C0kWArgR4a6Ub8AAd+E/Dlw2KK/RdfSAzFUfFLsby31weTpjyYx9P52efxkiG5O35B05IYx8JOfkK7kgC8LJDfkzGo+Ooig6iT5E7LY1Gg0zb8hBRZ//AhI7xMg=</latexit>

U<latexit sha1_base64="DV9CqM84DeBS4cHHtxu29CNAPh4=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4ZHESd+vJNJkl+6IPQTqAKRnqYj35nZcNayUqxwRYu0wT7VYejONMYLBrLWpgW6hxGaACiXbl9+F09ENgSlo1Jhzl6J79d8KDtHYni9DZv8De13ryf9qyddWXledKtw4VuzOqWkFdQ/ukackNMheSLDkww8NdKduAAebCfxy4bFBco+voAVnIPqj0fiwPweXZLE1m6Y+z6fm3IbIxeUfek1OSks/knHwnF2RBGLklf0bj0XEURafRxyi9a41Gw8xbclDR178hPsTR</latexit><latexit sha1_base64="DV9CqM84DeBS4cHHtxu29CNAPh4=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4ZHESd+vJNJkl+6IPQTqAKRnqYj35nZcNayUqxwRYu0wT7VYejONMYLBrLWpgW6hxGaACiXbl9+F09ENgSlo1Jhzl6J79d8KDtHYni9DZv8De13ryf9qyddWXledKtw4VuzOqWkFdQ/ukackNMheSLDkww8NdKduAAebCfxy4bFBco+voAVnIPqj0fiwPweXZLE1m6Y+z6fm3IbIxeUfek1OSks/knHwnF2RBGLklf0bj0XEURafRxyi9a41Gw8xbclDR178hPsTR</latexit><latexit sha1_base64="DV9CqM84DeBS4cHHtxu29CNAPh4=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4ZHESd+vJNJkl+6IPQTqAKRnqYj35nZcNayUqxwRYu0wT7VYejONMYLBrLWpgW6hxGaACiXbl9+F09ENgSlo1Jhzl6J79d8KDtHYni9DZv8De13ryf9qyddWXledKtw4VuzOqWkFdQ/ukackNMheSLDkww8NdKduAAebCfxy4bFBco+voAVnIPqj0fiwPweXZLE1m6Y+z6fm3IbIxeUfek1OSks/knHwnF2RBGLklf0bj0XEURafRxyi9a41Gw8xbclDR178hPsTR</latexit><latexit sha1_base64="DV9CqM84DeBS4cHHtxu29CNAPh4=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4ZHESd+vJNJkl+6IPQTqAKRnqYj35nZcNayUqxwRYu0wT7VYejONMYLBrLWpgW6hxGaACiXbl9+F09ENgSlo1Jhzl6J79d8KDtHYni9DZv8De13ryf9qyddWXledKtw4VuzOqWkFdQ/ukackNMheSLDkww8NdKduAAebCfxy4bFBco+voAVnIPqj0fiwPweXZLE1m6Y+z6fm3IbIxeUfek1OSks/knHwnF2RBGLklf0bj0XEURafRxyi9a41Gw8xbclDR178hPsTR</latexit>

0<latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit>

0<latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit><latexit sha1_base64="Y25Q3u50TYtg564/zrAEaCvzdtg=">AAACgHicbVFda9swFFW8j6beV7Y97kUsHfQps8tgY+yhkJc9drDUhTiEa/naEZFkIcntgvAP7R/Z6yanfljaXRAczrn3Humo0IJblyS3o+jR4ydPj8bH8bPnL16+mrx+c2mb1jBcsEY05qoAi4IrXDjuBF5pgyALgVmxnfd6do3G8kb9dDuNKwm14hVn4AK1nthcgymaXz5Nmex8nNuqAsnFjsa5whvWSAmq9Pl83vlcgtswEH7edYdqlg1qUfisF8NSu+X6k3ZxbqCusTS83rj4JDmJu/VkmsySfdGHIB3AlAx1sZ78zsuGtRKVYwKsXaaJdisPxnEmMNi1FjWwLdS4DFCBRLvy+3A6+iEwJa0aE45ydM/+O+FBWruTRejsX2Dvaz35P23ZuurLynOlW4eK3RlVraCuoX3StOQGmQtJlhyY4eGulG3AAHPhPw5cNiiu0XX0gCxkH1R6P5aH4PJsliaz9MfZ9PzbENmYvCPvySlJyWdyTr6TC7IgjNySP6Px6DiKotPoY5TetUajYeYtOajo61/jeMSs</latexit>

We assume (for now) that this is possible. In fact we assume that it ispossible with Lii = 1 for all i.

<latexit sha1_base64="zgXqgFtGDBNyfgfUaVXrQt4KRwY=">AAAC63icbVFNb9NAEF2br2K+Ahy5jGiQyiWyKyQ4gFQpHEDiUCRSV4qjaL1ex9vsh7U7bogs/wpuiCs/igs/gzPrNEJNy2i1enpvZmf2TV5L4TCOfwXhjZu3bt/Zuxvdu//g4aPB4ycnzjSW8Qkz0tjTnDouheYTFCj5aW05Vbnkab4c93p6zq0TRn/Bdc1nii60KAWj6Kn54HdWU5ubr22SMNW1UebKkioh1xBlmq+YUYrqos3G467NFMWKUdmOu25XTdOtmudt2ov+UbcU9asao8zSxYIXViwqjFIO1LlGcTgojQVtVi8BK4r+Eg78qY1zwg8/AviooaQMYfWvZpMp8HIerARWMPw0b4Xo3iVD6J+lUsJQDEdRNx/sx6N4E3AdJFuwT7ZxPB/8yQrDfDONTPq20ySucdZSi4JJ7n/WOF5TtqQLPvVQU8XdrN3soYMXnik2E5RGI2zYyxUtVc6tVe4ze7PcVa0n/6dNGyzfzFqh6wa5ZheNykYCGuiXCoWwnKFfWiEos8LPCqyi1rvnV7/TpeLynGMHO2SueqOSq7ZcByeHoyQeJZ8P94/ebi3bI8/Ic3JAEvKaHJEP5JhMCAveB2eBCzBU4bfwe/jjIjUMtjVPyU6EP/8CDBzr3g==</latexit><latexit sha1_base64="zgXqgFtGDBNyfgfUaVXrQt4KRwY=">AAAC63icbVFNb9NAEF2br2K+Ahy5jGiQyiWyKyQ4gFQpHEDiUCRSV4qjaL1ex9vsh7U7bogs/wpuiCs/igs/gzPrNEJNy2i1enpvZmf2TV5L4TCOfwXhjZu3bt/Zuxvdu//g4aPB4ycnzjSW8Qkz0tjTnDouheYTFCj5aW05Vbnkab4c93p6zq0TRn/Bdc1nii60KAWj6Kn54HdWU5ubr22SMNW1UebKkioh1xBlmq+YUYrqos3G467NFMWKUdmOu25XTdOtmudt2ov+UbcU9asao8zSxYIXViwqjFIO1LlGcTgojQVtVi8BK4r+Eg78qY1zwg8/AviooaQMYfWvZpMp8HIerARWMPw0b4Xo3iVD6J+lUsJQDEdRNx/sx6N4E3AdJFuwT7ZxPB/8yQrDfDONTPq20ySucdZSi4JJ7n/WOF5TtqQLPvVQU8XdrN3soYMXnik2E5RGI2zYyxUtVc6tVe4ze7PcVa0n/6dNGyzfzFqh6wa5ZheNykYCGuiXCoWwnKFfWiEos8LPCqyi1rvnV7/TpeLynGMHO2SueqOSq7ZcByeHoyQeJZ8P94/ebi3bI8/Ic3JAEvKaHJEP5JhMCAveB2eBCzBU4bfwe/jjIjUMtjVPyU6EP/8CDBzr3g==</latexit><latexit sha1_base64="zgXqgFtGDBNyfgfUaVXrQt4KRwY=">AAAC63icbVFNb9NAEF2br2K+Ahy5jGiQyiWyKyQ4gFQpHEDiUCRSV4qjaL1ex9vsh7U7bogs/wpuiCs/igs/gzPrNEJNy2i1enpvZmf2TV5L4TCOfwXhjZu3bt/Zuxvdu//g4aPB4ycnzjSW8Qkz0tjTnDouheYTFCj5aW05Vbnkab4c93p6zq0TRn/Bdc1nii60KAWj6Kn54HdWU5ubr22SMNW1UebKkioh1xBlmq+YUYrqos3G467NFMWKUdmOu25XTdOtmudt2ov+UbcU9asao8zSxYIXViwqjFIO1LlGcTgojQVtVi8BK4r+Eg78qY1zwg8/AviooaQMYfWvZpMp8HIerARWMPw0b4Xo3iVD6J+lUsJQDEdRNx/sx6N4E3AdJFuwT7ZxPB/8yQrDfDONTPq20ySucdZSi4JJ7n/WOF5TtqQLPvVQU8XdrN3soYMXnik2E5RGI2zYyxUtVc6tVe4ze7PcVa0n/6dNGyzfzFqh6wa5ZheNykYCGuiXCoWwnKFfWiEos8LPCqyi1rvnV7/TpeLynGMHO2SueqOSq7ZcByeHoyQeJZ8P94/ebi3bI8/Ic3JAEvKaHJEP5JhMCAveB2eBCzBU4bfwe/jjIjUMtjVPyU6EP/8CDBzr3g==</latexit><latexit sha1_base64="zgXqgFtGDBNyfgfUaVXrQt4KRwY=">AAAC63icbVFNb9NAEF2br2K+Ahy5jGiQyiWyKyQ4gFQpHEDiUCRSV4qjaL1ex9vsh7U7bogs/wpuiCs/igs/gzPrNEJNy2i1enpvZmf2TV5L4TCOfwXhjZu3bt/Zuxvdu//g4aPB4ycnzjSW8Qkz0tjTnDouheYTFCj5aW05Vbnkab4c93p6zq0TRn/Bdc1nii60KAWj6Kn54HdWU5ubr22SMNW1UebKkioh1xBlmq+YUYrqos3G467NFMWKUdmOu25XTdOtmudt2ov+UbcU9asao8zSxYIXViwqjFIO1LlGcTgojQVtVi8BK4r+Eg78qY1zwg8/AviooaQMYfWvZpMp8HIerARWMPw0b4Xo3iVD6J+lUsJQDEdRNx/sx6N4E3AdJFuwT7ZxPB/8yQrDfDONTPq20ySucdZSi4JJ7n/WOF5TtqQLPvVQU8XdrN3soYMXnik2E5RGI2zYyxUtVc6tVe4ze7PcVa0n/6dNGyzfzFqh6wa5ZheNykYCGuiXCoWwnKFfWiEos8LPCqyi1rvnV7/TpeLynGMHO2SueqOSq7ZcByeHoyQeJZ8P94/ebi3bI8/Ic3JAEvKaHJEP5JhMCAveB2eBCzBU4bfwe/jjIjUMtjVPyU6EP/8CDBzr3g==</latexit>

. . . cases where this is not possible are discussed later.<latexit sha1_base64="T8K+mV9ih1wvxVxAOQxupnI3pYI=">AAACuHicbVFLb9NAEF6bVwmvFI5cVkRInCK7QmqFOATlwrFItKkUR2G8Htur7MPaWbdEln8Rv4g/wpl1mgNpGe1K3843szPzTd4oST5Jfkfxg4ePHj85ejp69vzFy1fj49eXZFsn8EJYZd1VDoRKGrzw0iu8ahyCzhUu8s184BfX6Eha891vG1xpqIwspQAfXOvxr6wBl9ufXZoK3XejjMoStFRbPsoM3girNZiiy+bzvss0+FqA6uZ9f8guFns2z7vFQIZPaSObj40fZQ6qCgsnqzo8CuuJi9Aw8ZsaHXJfS+LhGOt5Y4lk6JxDIApJoiXCgivw6Kajfj2eJNNkZ/w+SPdgwvZ2vh7/CfVEq9F4oYBomSaNX3XgvBQKQ5stYQNiAxUuAzSgkVbdTtSev2+H2qV14RrPd95/MzrQRFudh8hhcrrLDc7/ccvWl2erTpqm9WjEbaGyVdxbPmwoDO5Q+LCBQoJwMvTKRQ0ORFDhsEqN6hp9zw+cuR6ESu/Kch9cnkzTZJp+O5nMPu8lO2Jv2Tv2gaXslM3YV3bOLpiIjqPTaBZ9iT/FP+IqlrehcbTPecMOLHZ/AVj32lE=</latexit><latexit sha1_base64="T8K+mV9ih1wvxVxAOQxupnI3pYI=">AAACuHicbVFLb9NAEF6bVwmvFI5cVkRInCK7QmqFOATlwrFItKkUR2G8Htur7MPaWbdEln8Rv4g/wpl1mgNpGe1K3843szPzTd4oST5Jfkfxg4ePHj85ejp69vzFy1fj49eXZFsn8EJYZd1VDoRKGrzw0iu8ahyCzhUu8s184BfX6Eha891vG1xpqIwspQAfXOvxr6wBl9ufXZoK3XejjMoStFRbPsoM3girNZiiy+bzvss0+FqA6uZ9f8guFns2z7vFQIZPaSObj40fZQ6qCgsnqzo8CuuJi9Aw8ZsaHXJfS+LhGOt5Y4lk6JxDIApJoiXCgivw6Kajfj2eJNNkZ/w+SPdgwvZ2vh7/CfVEq9F4oYBomSaNX3XgvBQKQ5stYQNiAxUuAzSgkVbdTtSev2+H2qV14RrPd95/MzrQRFudh8hhcrrLDc7/ccvWl2erTpqm9WjEbaGyVdxbPmwoDO5Q+LCBQoJwMvTKRQ0ORFDhsEqN6hp9zw+cuR6ESu/Kch9cnkzTZJp+O5nMPu8lO2Jv2Tv2gaXslM3YV3bOLpiIjqPTaBZ9iT/FP+IqlrehcbTPecMOLHZ/AVj32lE=</latexit><latexit sha1_base64="T8K+mV9ih1wvxVxAOQxupnI3pYI=">AAACuHicbVFLb9NAEF6bVwmvFI5cVkRInCK7QmqFOATlwrFItKkUR2G8Htur7MPaWbdEln8Rv4g/wpl1mgNpGe1K3843szPzTd4oST5Jfkfxg4ePHj85ejp69vzFy1fj49eXZFsn8EJYZd1VDoRKGrzw0iu8ahyCzhUu8s184BfX6Eha891vG1xpqIwspQAfXOvxr6wBl9ufXZoK3XejjMoStFRbPsoM3girNZiiy+bzvss0+FqA6uZ9f8guFns2z7vFQIZPaSObj40fZQ6qCgsnqzo8CuuJi9Aw8ZsaHXJfS+LhGOt5Y4lk6JxDIApJoiXCgivw6Kajfj2eJNNkZ/w+SPdgwvZ2vh7/CfVEq9F4oYBomSaNX3XgvBQKQ5stYQNiAxUuAzSgkVbdTtSev2+H2qV14RrPd95/MzrQRFudh8hhcrrLDc7/ccvWl2erTpqm9WjEbaGyVdxbPmwoDO5Q+LCBQoJwMvTKRQ0ORFDhsEqN6hp9zw+cuR6ESu/Kch9cnkzTZJp+O5nMPu8lO2Jv2Tv2gaXslM3YV3bOLpiIjqPTaBZ9iT/FP+IqlrehcbTPecMOLHZ/AVj32lE=</latexit><latexit sha1_base64="T8K+mV9ih1wvxVxAOQxupnI3pYI=">AAACuHicbVFLb9NAEF6bVwmvFI5cVkRInCK7QmqFOATlwrFItKkUR2G8Htur7MPaWbdEln8Rv4g/wpl1mgNpGe1K3843szPzTd4oST5Jfkfxg4ePHj85ejp69vzFy1fj49eXZFsn8EJYZd1VDoRKGrzw0iu8ahyCzhUu8s184BfX6Eha891vG1xpqIwspQAfXOvxr6wBl9ufXZoK3XejjMoStFRbPsoM3girNZiiy+bzvss0+FqA6uZ9f8guFns2z7vFQIZPaSObj40fZQ6qCgsnqzo8CuuJi9Aw8ZsaHXJfS+LhGOt5Y4lk6JxDIApJoiXCgivw6Kajfj2eJNNkZ/w+SPdgwvZ2vh7/CfVEq9F4oYBomSaNX3XgvBQKQ5stYQNiAxUuAzSgkVbdTtSev2+H2qV14RrPd95/MzrQRFudh8hhcrrLDc7/ccvWl2erTpqm9WjEbaGyVdxbPmwoDO5Q+LCBQoJwMvTKRQ0ORFDhsEqN6hp9zw+cuR6ESu/Kch9cnkzTZJp+O5nMPu8lO2Jv2Tv2gaXslM3YV3bOLpiIjqPTaBZ9iT/FP+IqlrehcbTPecMOLHZ/AVj32lE=</latexit>

4

Page 2: Motivation 5 Gaussian Elimination Computational Projects

Solving Ax = b

Suppose Ax = LUx = b. Let y = Ux. Then Ly = b.<latexit sha1_base64="B0phj1PnHMbwOeoRyOTW+Gp/q8c=">AAACr3icbVHLbtswEKTUl6u+3PbYC1G7QE+GFARIDjWQwJcefEjRKApguS5FrWzCJEWQVGJB0M/0r/ojPZdydKiTLkBiOLPLXQ4zxZmxYfjb8x89fvL02eB58OLlq9dvhm/fXZmy0hRiWvJSX2fEAGcSYsssh2ulgYiMQ5JtZ52e3IA2rJSXtlawFGQtWcEosY5aDX+liuis3DVRREXbBKkpCiIYr3GQSrilpRBE5k06m7VNKojdUMKbWdseqknSq1nWJJ3oLjVbpo6VDVJN1mvINVtvbPC9Uqo0gMfnOzzF87jbs/EE4zlYPK6n8a47XG5A4vG8njopaFfDUTgJ94EfgqgHI9THxWr4J81LWgmQlnJizCIKlV02RFtGObjpKgOK0C1Zw8JBSQSYZbP3ssWfHJPjotRuSYv37L8VDRHG1CJzmd2DzX2tI/+nLSpbnC4bJlVlQdK7RkXFsS1x9zE4ZxqodcbnjFDN3KyYbogm1LrvO+iyAX4DtsUHZCY6o6L7tjwEV0eTKJxE345GZ196ywboA/qIPqMInaAz9BVdoBhRb+BNvBPv1I/8xP/h/7xL9b2+5j06CJ/9BTN40gY=</latexit><latexit sha1_base64="B0phj1PnHMbwOeoRyOTW+Gp/q8c=">AAACr3icbVHLbtswEKTUl6u+3PbYC1G7QE+GFARIDjWQwJcefEjRKApguS5FrWzCJEWQVGJB0M/0r/ojPZdydKiTLkBiOLPLXQ4zxZmxYfjb8x89fvL02eB58OLlq9dvhm/fXZmy0hRiWvJSX2fEAGcSYsssh2ulgYiMQ5JtZ52e3IA2rJSXtlawFGQtWcEosY5aDX+liuis3DVRREXbBKkpCiIYr3GQSrilpRBE5k06m7VNKojdUMKbWdseqknSq1nWJJ3oLjVbpo6VDVJN1mvINVtvbPC9Uqo0gMfnOzzF87jbs/EE4zlYPK6n8a47XG5A4vG8njopaFfDUTgJ94EfgqgHI9THxWr4J81LWgmQlnJizCIKlV02RFtGObjpKgOK0C1Zw8JBSQSYZbP3ssWfHJPjotRuSYv37L8VDRHG1CJzmd2DzX2tI/+nLSpbnC4bJlVlQdK7RkXFsS1x9zE4ZxqodcbnjFDN3KyYbogm1LrvO+iyAX4DtsUHZCY6o6L7tjwEV0eTKJxE345GZ196ywboA/qIPqMInaAz9BVdoBhRb+BNvBPv1I/8xP/h/7xL9b2+5j06CJ/9BTN40gY=</latexit><latexit sha1_base64="B0phj1PnHMbwOeoRyOTW+Gp/q8c=">AAACr3icbVHLbtswEKTUl6u+3PbYC1G7QE+GFARIDjWQwJcefEjRKApguS5FrWzCJEWQVGJB0M/0r/ojPZdydKiTLkBiOLPLXQ4zxZmxYfjb8x89fvL02eB58OLlq9dvhm/fXZmy0hRiWvJSX2fEAGcSYsssh2ulgYiMQ5JtZ52e3IA2rJSXtlawFGQtWcEosY5aDX+liuis3DVRREXbBKkpCiIYr3GQSrilpRBE5k06m7VNKojdUMKbWdseqknSq1nWJJ3oLjVbpo6VDVJN1mvINVtvbPC9Uqo0gMfnOzzF87jbs/EE4zlYPK6n8a47XG5A4vG8njopaFfDUTgJ94EfgqgHI9THxWr4J81LWgmQlnJizCIKlV02RFtGObjpKgOK0C1Zw8JBSQSYZbP3ssWfHJPjotRuSYv37L8VDRHG1CJzmd2DzX2tI/+nLSpbnC4bJlVlQdK7RkXFsS1x9zE4ZxqodcbnjFDN3KyYbogm1LrvO+iyAX4DtsUHZCY6o6L7tjwEV0eTKJxE345GZ196ywboA/qIPqMInaAz9BVdoBhRb+BNvBPv1I/8xP/h/7xL9b2+5j06CJ/9BTN40gY=</latexit><latexit sha1_base64="B0phj1PnHMbwOeoRyOTW+Gp/q8c=">AAACr3icbVHLbtswEKTUl6u+3PbYC1G7QE+GFARIDjWQwJcefEjRKApguS5FrWzCJEWQVGJB0M/0r/ojPZdydKiTLkBiOLPLXQ4zxZmxYfjb8x89fvL02eB58OLlq9dvhm/fXZmy0hRiWvJSX2fEAGcSYsssh2ulgYiMQ5JtZ52e3IA2rJSXtlawFGQtWcEosY5aDX+liuis3DVRREXbBKkpCiIYr3GQSrilpRBE5k06m7VNKojdUMKbWdseqknSq1nWJJ3oLjVbpo6VDVJN1mvINVtvbPC9Uqo0gMfnOzzF87jbs/EE4zlYPK6n8a47XG5A4vG8njopaFfDUTgJ94EfgqgHI9THxWr4J81LWgmQlnJizCIKlV02RFtGObjpKgOK0C1Zw8JBSQSYZbP3ssWfHJPjotRuSYv37L8VDRHG1CJzmd2DzX2tI/+nLSpbnC4bJlVlQdK7RkXFsS1x9zE4ZxqodcbnjFDN3KyYbogm1LrvO+iyAX4DtsUHZCY6o6L7tjwEV0eTKJxE345GZ196ywboA/qIPqMInaAz9BVdoBhRb+BNvBPv1I/8xP/h/7xL9b2+5j06CJ/9BTN40gY=</latexit>

It turns out to be easy to invert triangular matrices. So if we know Land U then we can obtain y as L�1b and then x as U�1y.

<latexit sha1_base64="0hUF8nmbFPY5wGdHkm+7dzBbP2c=">AAADDnicbZLLjtMwFIadcBvCrQNLNhYNEhuqZIQECxYjdQMSi0HQ6UhNqWznJLXqS2Q704miPAISK3gTdogtr8CLsMZpu6AzHMnSr/879rHPMa0Ety5Jfgfhtes3bt46uB3duXvv/oPB4cNTq2vDYMK00OaMEguCK5g47gScVQaIpAKmdDXu+fQcjOVafXRNBXNJSsULzojz1uIwQFlFDNUXbZoy2bVRZouCSC4aHGUK1kxLSVTeZuNx12aSuCUjoh133T6dTneU0nbaQ3+oXfHqReWizJCyhNzwcumitw672iiLde2VxhQwENv0kit/UW8aTlRZC2KwP9BwBnaE8QfPC7wGvFJ6jeN3MfZ1cTyJsVuC6gEjCmvqCFc4bjy2PutT+zzt6DZ3kxdfbMlkQ5p4FHWLwTAZJZvAV0W6E0O0i5PF4E+Wa1ZLUI4JYu0sTSo3b4lxnAnwb68tVIStSAkzLxWRYOftZlQdfuqdHBfa+KUc3rj/7miJtLaR1Gf27bSXWW/+j81qV7yat1xVtQPFtoWKWvSN7eeOc26AOT/WnBNmuL8rZktiCHP+d+xVWYI4B9fhPZPKvlHp5bZcFadHozQZpe+Phsevdy07QI/RE/QMpeglOkZv0AmaIBaUwefga/At/BJ+D3+EP7epYbDb8wjtRfjrL8xI9cE=</latexit><latexit sha1_base64="0hUF8nmbFPY5wGdHkm+7dzBbP2c=">AAADDnicbZLLjtMwFIadcBvCrQNLNhYNEhuqZIQECxYjdQMSi0HQ6UhNqWznJLXqS2Q704miPAISK3gTdogtr8CLsMZpu6AzHMnSr/879rHPMa0Ety5Jfgfhtes3bt46uB3duXvv/oPB4cNTq2vDYMK00OaMEguCK5g47gScVQaIpAKmdDXu+fQcjOVafXRNBXNJSsULzojz1uIwQFlFDNUXbZoy2bVRZouCSC4aHGUK1kxLSVTeZuNx12aSuCUjoh133T6dTneU0nbaQ3+oXfHqReWizJCyhNzwcumitw672iiLde2VxhQwENv0kit/UW8aTlRZC2KwP9BwBnaE8QfPC7wGvFJ6jeN3MfZ1cTyJsVuC6gEjCmvqCFc4bjy2PutT+zzt6DZ3kxdfbMlkQ5p4FHWLwTAZJZvAV0W6E0O0i5PF4E+Wa1ZLUI4JYu0sTSo3b4lxnAnwb68tVIStSAkzLxWRYOftZlQdfuqdHBfa+KUc3rj/7miJtLaR1Gf27bSXWW/+j81qV7yat1xVtQPFtoWKWvSN7eeOc26AOT/WnBNmuL8rZktiCHP+d+xVWYI4B9fhPZPKvlHp5bZcFadHozQZpe+Phsevdy07QI/RE/QMpeglOkZv0AmaIBaUwefga/At/BJ+D3+EP7epYbDb8wjtRfjrL8xI9cE=</latexit><latexit sha1_base64="0hUF8nmbFPY5wGdHkm+7dzBbP2c=">AAADDnicbZLLjtMwFIadcBvCrQNLNhYNEhuqZIQECxYjdQMSi0HQ6UhNqWznJLXqS2Q704miPAISK3gTdogtr8CLsMZpu6AzHMnSr/879rHPMa0Ety5Jfgfhtes3bt46uB3duXvv/oPB4cNTq2vDYMK00OaMEguCK5g47gScVQaIpAKmdDXu+fQcjOVafXRNBXNJSsULzojz1uIwQFlFDNUXbZoy2bVRZouCSC4aHGUK1kxLSVTeZuNx12aSuCUjoh133T6dTneU0nbaQ3+oXfHqReWizJCyhNzwcumitw672iiLde2VxhQwENv0kit/UW8aTlRZC2KwP9BwBnaE8QfPC7wGvFJ6jeN3MfZ1cTyJsVuC6gEjCmvqCFc4bjy2PutT+zzt6DZ3kxdfbMlkQ5p4FHWLwTAZJZvAV0W6E0O0i5PF4E+Wa1ZLUI4JYu0sTSo3b4lxnAnwb68tVIStSAkzLxWRYOftZlQdfuqdHBfa+KUc3rj/7miJtLaR1Gf27bSXWW/+j81qV7yat1xVtQPFtoWKWvSN7eeOc26AOT/WnBNmuL8rZktiCHP+d+xVWYI4B9fhPZPKvlHp5bZcFadHozQZpe+Phsevdy07QI/RE/QMpeglOkZv0AmaIBaUwefga/At/BJ+D3+EP7epYbDb8wjtRfjrL8xI9cE=</latexit><latexit sha1_base64="0hUF8nmbFPY5wGdHkm+7dzBbP2c=">AAADDnicbZLLjtMwFIadcBvCrQNLNhYNEhuqZIQECxYjdQMSi0HQ6UhNqWznJLXqS2Q704miPAISK3gTdogtr8CLsMZpu6AzHMnSr/879rHPMa0Ety5Jfgfhtes3bt46uB3duXvv/oPB4cNTq2vDYMK00OaMEguCK5g47gScVQaIpAKmdDXu+fQcjOVafXRNBXNJSsULzojz1uIwQFlFDNUXbZoy2bVRZouCSC4aHGUK1kxLSVTeZuNx12aSuCUjoh133T6dTneU0nbaQ3+oXfHqReWizJCyhNzwcumitw672iiLde2VxhQwENv0kit/UW8aTlRZC2KwP9BwBnaE8QfPC7wGvFJ6jeN3MfZ1cTyJsVuC6gEjCmvqCFc4bjy2PutT+zzt6DZ3kxdfbMlkQ5p4FHWLwTAZJZvAV0W6E0O0i5PF4E+Wa1ZLUI4JYu0sTSo3b4lxnAnwb68tVIStSAkzLxWRYOftZlQdfuqdHBfa+KUc3rj/7miJtLaR1Gf27bSXWW/+j81qV7yat1xVtQPFtoWKWvSN7eeOc26AOT/WnBNmuL8rZktiCHP+d+xVWYI4B9fhPZPKvlHp5bZcFadHozQZpe+Phsevdy07QI/RE/QMpeglOkZv0AmaIBaUwefga/At/BJ+D3+EP7epYbDb8wjtRfjrL8xI9cE=</latexit>

Plan for writing our program to solve Ax = b.<latexit sha1_base64="uo+7alfgj10ER+52c0PNy5o8Dx0=">AAACs3icbVFNb9NAEF2bj5ZQIMCRy4oUiVNkR0UgtUhFuXAMEqkrxVE0u147q+yHtbtuE638d/hP/BHOrFMfSMuc3r43szPzhtSCW5ckv6P40eMnT4+Onw2en7x4+Wr4+s2V1Y2hbE610OaagGWCKzZ33Al2XRsGkgiWkc2007MbZizX6qfb1WwpoVK85BRcoFbDX3kNhuitT1MqWz/IbVmC5GKHB7lit1RLCarw+XTa+lyCW1MQftq2h2qW9SohPuvE8Knd8PqsdoPcQFWxwvBqHR6ObR0p/UyAanGpDb413HFV4bAQro2uDEjsNLZa3DB8+m37lZyOB+1qOErGyT7wQ5D2YIT6mK2Gf/JC00Yy5agAaxdpUrulB+M4FSxM2FhWA91AxRYBKpDMLv3ezxZ/CEyxn67UyuE9+2+FB2ntTpKQ2S1t72sd+T9t0bjyy9JzVTeOKXrXqGxEt3B3HFxww6gL5hccaGcMxXQNBqgLJzzosmbBH9fiA5LIzqj0vi0PwdVknCbj9MdkdHnRW3aM3qH36CNK0Wd0ib6jGZojGp1Ek+g8uog/xYuYxMVdahz1NW/RQcTyL9We1/M=</latexit><latexit sha1_base64="uo+7alfgj10ER+52c0PNy5o8Dx0=">AAACs3icbVFNb9NAEF2bj5ZQIMCRy4oUiVNkR0UgtUhFuXAMEqkrxVE0u147q+yHtbtuE638d/hP/BHOrFMfSMuc3r43szPzhtSCW5ckv6P40eMnT4+Onw2en7x4+Wr4+s2V1Y2hbE610OaagGWCKzZ33Al2XRsGkgiWkc2007MbZizX6qfb1WwpoVK85BRcoFbDX3kNhuitT1MqWz/IbVmC5GKHB7lit1RLCarw+XTa+lyCW1MQftq2h2qW9SohPuvE8Knd8PqsdoPcQFWxwvBqHR6ObR0p/UyAanGpDb413HFV4bAQro2uDEjsNLZa3DB8+m37lZyOB+1qOErGyT7wQ5D2YIT6mK2Gf/JC00Yy5agAaxdpUrulB+M4FSxM2FhWA91AxRYBKpDMLv3ezxZ/CEyxn67UyuE9+2+FB2ntTpKQ2S1t72sd+T9t0bjyy9JzVTeOKXrXqGxEt3B3HFxww6gL5hccaGcMxXQNBqgLJzzosmbBH9fiA5LIzqj0vi0PwdVknCbj9MdkdHnRW3aM3qH36CNK0Wd0ib6jGZojGp1Ek+g8uog/xYuYxMVdahz1NW/RQcTyL9We1/M=</latexit><latexit sha1_base64="uo+7alfgj10ER+52c0PNy5o8Dx0=">AAACs3icbVFNb9NAEF2bj5ZQIMCRy4oUiVNkR0UgtUhFuXAMEqkrxVE0u147q+yHtbtuE638d/hP/BHOrFMfSMuc3r43szPzhtSCW5ckv6P40eMnT4+Onw2en7x4+Wr4+s2V1Y2hbE610OaagGWCKzZ33Al2XRsGkgiWkc2007MbZizX6qfb1WwpoVK85BRcoFbDX3kNhuitT1MqWz/IbVmC5GKHB7lit1RLCarw+XTa+lyCW1MQftq2h2qW9SohPuvE8Knd8PqsdoPcQFWxwvBqHR6ObR0p/UyAanGpDb413HFV4bAQro2uDEjsNLZa3DB8+m37lZyOB+1qOErGyT7wQ5D2YIT6mK2Gf/JC00Yy5agAaxdpUrulB+M4FSxM2FhWA91AxRYBKpDMLv3ezxZ/CEyxn67UyuE9+2+FB2ntTpKQ2S1t72sd+T9t0bjyy9JzVTeOKXrXqGxEt3B3HFxww6gL5hccaGcMxXQNBqgLJzzosmbBH9fiA5LIzqj0vi0PwdVknCbj9MdkdHnRW3aM3qH36CNK0Wd0ib6jGZojGp1Ek+g8uog/xYuYxMVdahz1NW/RQcTyL9We1/M=</latexit><latexit sha1_base64="uo+7alfgj10ER+52c0PNy5o8Dx0=">AAACs3icbVFNb9NAEF2bj5ZQIMCRy4oUiVNkR0UgtUhFuXAMEqkrxVE0u147q+yHtbtuE638d/hP/BHOrFMfSMuc3r43szPzhtSCW5ckv6P40eMnT4+Onw2en7x4+Wr4+s2V1Y2hbE610OaagGWCKzZ33Al2XRsGkgiWkc2007MbZizX6qfb1WwpoVK85BRcoFbDX3kNhuitT1MqWz/IbVmC5GKHB7lit1RLCarw+XTa+lyCW1MQftq2h2qW9SohPuvE8Knd8PqsdoPcQFWxwvBqHR6ObR0p/UyAanGpDb413HFV4bAQro2uDEjsNLZa3DB8+m37lZyOB+1qOErGyT7wQ5D2YIT6mK2Gf/JC00Yy5agAaxdpUrulB+M4FSxM2FhWA91AxRYBKpDMLv3ezxZ/CEyxn67UyuE9+2+FB2ntTpKQ2S1t72sd+T9t0bjyy9JzVTeOKXrXqGxEt3B3HFxww6gL5hccaGcMxXQNBqgLJzzosmbBH9fiA5LIzqj0vi0PwdVknCbj9MdkdHnRW3aM3qH36CNK0Wd0ib6jGZojGp1Ek+g8uog/xYuYxMVdahz1NW/RQcTyL9We1/M=</latexit>

2. Assume that A is given and write a function for obtaining L and U .<latexit sha1_base64="kNP8cXkLePav5HHS5rMWB8m6O8g=">AAACyHicbVHLjtNAEByb12JeAY5cBmIkTpEdIcGBw65yACEOWYlsVoqjVXs8dkaZhzXTTogsX/gtvoQf4cw4mwPZpU+lqu6uVnVeS+EwSX4H4Z279+4/OHkYPXr85OmzwfMXF840lvEZM9LYyxwcl0LzGQqU/LK2HFQu+TxfT3p9vuHWCaO/467mSwWVFqVggJ66GvzKarC5+dGmKVNdG2WuLEEJuaNRpvmWGaVAF202mXRtpgBXDGQ76bpjdT4/qHneznvRL3VrUb+vMcosVBUvrKhWGI1H9My5RnGKK0Aan8VUOFqJDdfUb6JbK5BToGWjWX8gLY2lJkcQWuiKxt/ifVs8i0dRdzUYJqNkX/Q2SA9gSA41vRr8yQrDvLtGJsG5RZrUuGzBomCS+7Mbx2tga6j4wkMNirtluw+5o289U+zvKY1Gumf/nWhBObdTue/sk3A3tZ78n7ZosPy4bIWuG+SaXRuVjaRoaP8xWgjLGfqPFAKYz0cwylZggaH/65HLissNx44ekbnqg0pvxnIbXIxHaTJKz8fD00+HyE7IK/KGvCMp+UBOyRcyJTPCgtfB52AanIdfwzrchrvr1jA4zLwkRxX+/Au57N18</latexit><latexit sha1_base64="kNP8cXkLePav5HHS5rMWB8m6O8g=">AAACyHicbVHLjtNAEByb12JeAY5cBmIkTpEdIcGBw65yACEOWYlsVoqjVXs8dkaZhzXTTogsX/gtvoQf4cw4mwPZpU+lqu6uVnVeS+EwSX4H4Z279+4/OHkYPXr85OmzwfMXF840lvEZM9LYyxwcl0LzGQqU/LK2HFQu+TxfT3p9vuHWCaO/467mSwWVFqVggJ66GvzKarC5+dGmKVNdG2WuLEEJuaNRpvmWGaVAF202mXRtpgBXDGQ76bpjdT4/qHneznvRL3VrUb+vMcosVBUvrKhWGI1H9My5RnGKK0Aan8VUOFqJDdfUb6JbK5BToGWjWX8gLY2lJkcQWuiKxt/ifVs8i0dRdzUYJqNkX/Q2SA9gSA41vRr8yQrDvLtGJsG5RZrUuGzBomCS+7Mbx2tga6j4wkMNirtluw+5o289U+zvKY1Gumf/nWhBObdTue/sk3A3tZ78n7ZosPy4bIWuG+SaXRuVjaRoaP8xWgjLGfqPFAKYz0cwylZggaH/65HLissNx44ekbnqg0pvxnIbXIxHaTJKz8fD00+HyE7IK/KGvCMp+UBOyRcyJTPCgtfB52AanIdfwzrchrvr1jA4zLwkRxX+/Au57N18</latexit><latexit sha1_base64="kNP8cXkLePav5HHS5rMWB8m6O8g=">AAACyHicbVHLjtNAEByb12JeAY5cBmIkTpEdIcGBw65yACEOWYlsVoqjVXs8dkaZhzXTTogsX/gtvoQf4cw4mwPZpU+lqu6uVnVeS+EwSX4H4Z279+4/OHkYPXr85OmzwfMXF840lvEZM9LYyxwcl0LzGQqU/LK2HFQu+TxfT3p9vuHWCaO/467mSwWVFqVggJ66GvzKarC5+dGmKVNdG2WuLEEJuaNRpvmWGaVAF202mXRtpgBXDGQ76bpjdT4/qHneznvRL3VrUb+vMcosVBUvrKhWGI1H9My5RnGKK0Aan8VUOFqJDdfUb6JbK5BToGWjWX8gLY2lJkcQWuiKxt/ifVs8i0dRdzUYJqNkX/Q2SA9gSA41vRr8yQrDvLtGJsG5RZrUuGzBomCS+7Mbx2tga6j4wkMNirtluw+5o289U+zvKY1Gumf/nWhBObdTue/sk3A3tZ78n7ZosPy4bIWuG+SaXRuVjaRoaP8xWgjLGfqPFAKYz0cwylZggaH/65HLissNx44ekbnqg0pvxnIbXIxHaTJKz8fD00+HyE7IK/KGvCMp+UBOyRcyJTPCgtfB52AanIdfwzrchrvr1jA4zLwkRxX+/Au57N18</latexit><latexit sha1_base64="kNP8cXkLePav5HHS5rMWB8m6O8g=">AAACyHicbVHLjtNAEByb12JeAY5cBmIkTpEdIcGBw65yACEOWYlsVoqjVXs8dkaZhzXTTogsX/gtvoQf4cw4mwPZpU+lqu6uVnVeS+EwSX4H4Z279+4/OHkYPXr85OmzwfMXF840lvEZM9LYyxwcl0LzGQqU/LK2HFQu+TxfT3p9vuHWCaO/467mSwWVFqVggJ66GvzKarC5+dGmKVNdG2WuLEEJuaNRpvmWGaVAF202mXRtpgBXDGQ76bpjdT4/qHneznvRL3VrUb+vMcosVBUvrKhWGI1H9My5RnGKK0Aan8VUOFqJDdfUb6JbK5BToGWjWX8gLY2lJkcQWuiKxt/ifVs8i0dRdzUYJqNkX/Q2SA9gSA41vRr8yQrDvLtGJsG5RZrUuGzBomCS+7Mbx2tga6j4wkMNirtluw+5o289U+zvKY1Gumf/nWhBObdTue/sk3A3tZ78n7ZosPy4bIWuG+SaXRuVjaRoaP8xWgjLGfqPFAKYz0cwylZggaH/65HLissNx44ekbnqg0pvxnIbXIxHaTJKz8fD00+HyE7IK/KGvCMp+UBOyRcyJTPCgtfB52AanIdfwzrchrvr1jA4zLwkRxX+/Au57N18</latexit>

3. Deal with cases where A can’t be written as LU (“pivoting”)<latexit sha1_base64="ClooqdjeRKnklSKCXCC8U7U+jcY=">AAACwXicbVFNj9MwEHXC1xI+tsANLhYt6nKpkgUJDhyKygEQh0Wi25Waqus4k8Sq7Vi201JZ+Vf8Gf4IZ5xuD3SXkSw9vzfjGb/JFGfGxvHvILx1+87de0f3owcPHz0+7j15em7qRlOY0prX+iIjBjiTMLXMcrhQGojIOMyy1aTTZ2vQhtXyh90qWAhSSlYwSqynlr1fqSI6q3+6JKGidVFqioIIxrc4SiVsaC0EkblLJ5PWpYLYihLuJm17qM5mezXL3KwT/aNmxdRbZaNUk7KEXLOystGbEf4EhOMNsxWmfm6DNxVowIOPA3+XQ4szwBvNrAWJicGDb9MBPrm8VGxdWybL4fB11C57/XgU7wLfBMke9NE+zpa9P2le00aAtJQTY+ZJrOzCEW0Z5eDnbQwoQlekhLmHkggwC7dzt8WvPJPjotb+SIt37L8VjghjtiLzmZ0F5rrWkf/T5o0t3i8ck6rxn6VXjYqGY1vjblU4Zxqo9avIGaHeEkYxrYgm1PqFHnSpgK/BtviAzERnVHLdlpvg/HSUxKPk+2l//GFv2RF6gV6iE5Sgd2iMPqMzNEU0eB6Mgy/B13ASslCF+io1DPY1z9BBhO4vZg3akw==</latexit><latexit sha1_base64="ClooqdjeRKnklSKCXCC8U7U+jcY=">AAACwXicbVFNj9MwEHXC1xI+tsANLhYt6nKpkgUJDhyKygEQh0Wi25Waqus4k8Sq7Vi201JZ+Vf8Gf4IZ5xuD3SXkSw9vzfjGb/JFGfGxvHvILx1+87de0f3owcPHz0+7j15em7qRlOY0prX+iIjBjiTMLXMcrhQGojIOMyy1aTTZ2vQhtXyh90qWAhSSlYwSqynlr1fqSI6q3+6JKGidVFqioIIxrc4SiVsaC0EkblLJ5PWpYLYihLuJm17qM5mezXL3KwT/aNmxdRbZaNUk7KEXLOystGbEf4EhOMNsxWmfm6DNxVowIOPA3+XQ4szwBvNrAWJicGDb9MBPrm8VGxdWybL4fB11C57/XgU7wLfBMke9NE+zpa9P2le00aAtJQTY+ZJrOzCEW0Z5eDnbQwoQlekhLmHkggwC7dzt8WvPJPjotb+SIt37L8VjghjtiLzmZ0F5rrWkf/T5o0t3i8ck6rxn6VXjYqGY1vjblU4Zxqo9avIGaHeEkYxrYgm1PqFHnSpgK/BtviAzERnVHLdlpvg/HSUxKPk+2l//GFv2RF6gV6iE5Sgd2iMPqMzNEU0eB6Mgy/B13ASslCF+io1DPY1z9BBhO4vZg3akw==</latexit><latexit sha1_base64="ClooqdjeRKnklSKCXCC8U7U+jcY=">AAACwXicbVFNj9MwEHXC1xI+tsANLhYt6nKpkgUJDhyKygEQh0Wi25Waqus4k8Sq7Vi201JZ+Vf8Gf4IZ5xuD3SXkSw9vzfjGb/JFGfGxvHvILx1+87de0f3owcPHz0+7j15em7qRlOY0prX+iIjBjiTMLXMcrhQGojIOMyy1aTTZ2vQhtXyh90qWAhSSlYwSqynlr1fqSI6q3+6JKGidVFqioIIxrc4SiVsaC0EkblLJ5PWpYLYihLuJm17qM5mezXL3KwT/aNmxdRbZaNUk7KEXLOystGbEf4EhOMNsxWmfm6DNxVowIOPA3+XQ4szwBvNrAWJicGDb9MBPrm8VGxdWybL4fB11C57/XgU7wLfBMke9NE+zpa9P2le00aAtJQTY+ZJrOzCEW0Z5eDnbQwoQlekhLmHkggwC7dzt8WvPJPjotb+SIt37L8VjghjtiLzmZ0F5rrWkf/T5o0t3i8ck6rxn6VXjYqGY1vjblU4Zxqo9avIGaHeEkYxrYgm1PqFHnSpgK/BtviAzERnVHLdlpvg/HSUxKPk+2l//GFv2RF6gV6iE5Sgd2iMPqMzNEU0eB6Mgy/B13ASslCF+io1DPY1z9BBhO4vZg3akw==</latexit><latexit sha1_base64="ClooqdjeRKnklSKCXCC8U7U+jcY=">AAACwXicbVFNj9MwEHXC1xI+tsANLhYt6nKpkgUJDhyKygEQh0Wi25Waqus4k8Sq7Vi201JZ+Vf8Gf4IZ5xuD3SXkSw9vzfjGb/JFGfGxvHvILx1+87de0f3owcPHz0+7j15em7qRlOY0prX+iIjBjiTMLXMcrhQGojIOMyy1aTTZ2vQhtXyh90qWAhSSlYwSqynlr1fqSI6q3+6JKGidVFqioIIxrc4SiVsaC0EkblLJ5PWpYLYihLuJm17qM5mezXL3KwT/aNmxdRbZaNUk7KEXLOystGbEf4EhOMNsxWmfm6DNxVowIOPA3+XQ4szwBvNrAWJicGDb9MBPrm8VGxdWybL4fB11C57/XgU7wLfBMke9NE+zpa9P2le00aAtJQTY+ZJrOzCEW0Z5eDnbQwoQlekhLmHkggwC7dzt8WvPJPjotb+SIt37L8VjghjtiLzmZ0F5rrWkf/T5o0t3i8ck6rxn6VXjYqGY1vjblU4Zxqo9avIGaHeEkYxrYgm1PqFHnSpgK/BtviAzERnVHLdlpvg/HSUxKPk+2l//GFv2RF6gV6iE5Sgd2iMPqMzNEU0eB6Mgy/B13ASslCF+io1DPY1z9BBhO4vZg3akw==</latexit>

1. Assume that L,U, b are given and write functions for obtainingy = L�1b and x = U�1y.

<latexit sha1_base64="W+gaqO2b0fEZ3F2ieTd890tkUqM=">AAAC3HicbVG7bhNBFJ1dXmF5GShpRthIFMHajUBQECnIDUWKIOE4ktexZmbvrkeex2pm1ok12o4O0fJb1PwINbOOC5xwqzPn3NecS2vBrUvT31F86/adu/f27icPHj56/KT39Nmp1Y1hMGZaaHNGiQXBFYwddwLOagNEUgETuhx1+mQFxnKtvrp1DTNJKsVLzogL1Lz3K6+JofrSZxmTrU9yW5ZEcrHGSa7ggmkpiSp8Phq1PpfELRgRftS2u+pkslUp9ZNODE3tktdva5fkhlQVFIZXC5dkQ/zJ2kYCdgvi8OB4f7xPB5gYwBVfgcKhHb4w3AEuG8W6HS0utcGaOsIVVxUerA+Pz/2brO3qQvbg8nC8ea8Hw6Sd9/rpMN0EvgmyLeijbZzMe3/yQrOwkXJMEGunWVq7mSfGcSYgfKWxUBO2JBVMA1REgp35jfEtfhWYYrNfqZXDG/bfCk+ktWtJQ2bnjr2udeT/tGnjyg8zz1XdOFDsalDZCOw07q6IC26AuXClghMW7OIMswUxhLlw650pCxArcC3eIansjMqu23ITnB4Ms3SYfTnoH33cWraHXqCX6DXK0Ht0hD6jEzRGLHoXTaMigvg8/hZ/j39cpcbRtuY52on4518NBOVZ</latexit><latexit sha1_base64="W+gaqO2b0fEZ3F2ieTd890tkUqM=">AAAC3HicbVG7bhNBFJ1dXmF5GShpRthIFMHajUBQECnIDUWKIOE4ktexZmbvrkeex2pm1ok12o4O0fJb1PwINbOOC5xwqzPn3NecS2vBrUvT31F86/adu/f27icPHj56/KT39Nmp1Y1hMGZaaHNGiQXBFYwddwLOagNEUgETuhx1+mQFxnKtvrp1DTNJKsVLzogL1Lz3K6+JofrSZxmTrU9yW5ZEcrHGSa7ggmkpiSp8Phq1PpfELRgRftS2u+pkslUp9ZNODE3tktdva5fkhlQVFIZXC5dkQ/zJ2kYCdgvi8OB4f7xPB5gYwBVfgcKhHb4w3AEuG8W6HS0utcGaOsIVVxUerA+Pz/2brO3qQvbg8nC8ea8Hw6Sd9/rpMN0EvgmyLeijbZzMe3/yQrOwkXJMEGunWVq7mSfGcSYgfKWxUBO2JBVMA1REgp35jfEtfhWYYrNfqZXDG/bfCk+ktWtJQ2bnjr2udeT/tGnjyg8zz1XdOFDsalDZCOw07q6IC26AuXClghMW7OIMswUxhLlw650pCxArcC3eIansjMqu23ITnB4Ms3SYfTnoH33cWraHXqCX6DXK0Ht0hD6jEzRGLHoXTaMigvg8/hZ/j39cpcbRtuY52on4518NBOVZ</latexit><latexit sha1_base64="W+gaqO2b0fEZ3F2ieTd890tkUqM=">AAAC3HicbVG7bhNBFJ1dXmF5GShpRthIFMHajUBQECnIDUWKIOE4ktexZmbvrkeex2pm1ok12o4O0fJb1PwINbOOC5xwqzPn3NecS2vBrUvT31F86/adu/f27icPHj56/KT39Nmp1Y1hMGZaaHNGiQXBFYwddwLOagNEUgETuhx1+mQFxnKtvrp1DTNJKsVLzogL1Lz3K6+JofrSZxmTrU9yW5ZEcrHGSa7ggmkpiSp8Phq1PpfELRgRftS2u+pkslUp9ZNODE3tktdva5fkhlQVFIZXC5dkQ/zJ2kYCdgvi8OB4f7xPB5gYwBVfgcKhHb4w3AEuG8W6HS0utcGaOsIVVxUerA+Pz/2brO3qQvbg8nC8ea8Hw6Sd9/rpMN0EvgmyLeijbZzMe3/yQrOwkXJMEGunWVq7mSfGcSYgfKWxUBO2JBVMA1REgp35jfEtfhWYYrNfqZXDG/bfCk+ktWtJQ2bnjr2udeT/tGnjyg8zz1XdOFDsalDZCOw07q6IC26AuXClghMW7OIMswUxhLlw650pCxArcC3eIansjMqu23ITnB4Ms3SYfTnoH33cWraHXqCX6DXK0Ht0hD6jEzRGLHoXTaMigvg8/hZ/j39cpcbRtuY52on4518NBOVZ</latexit><latexit sha1_base64="W+gaqO2b0fEZ3F2ieTd890tkUqM=">AAAC3HicbVG7bhNBFJ1dXmF5GShpRthIFMHajUBQECnIDUWKIOE4ktexZmbvrkeex2pm1ok12o4O0fJb1PwINbOOC5xwqzPn3NecS2vBrUvT31F86/adu/f27icPHj56/KT39Nmp1Y1hMGZaaHNGiQXBFYwddwLOagNEUgETuhx1+mQFxnKtvrp1DTNJKsVLzogL1Lz3K6+JofrSZxmTrU9yW5ZEcrHGSa7ggmkpiSp8Phq1PpfELRgRftS2u+pkslUp9ZNODE3tktdva5fkhlQVFIZXC5dkQ/zJ2kYCdgvi8OB4f7xPB5gYwBVfgcKhHb4w3AEuG8W6HS0utcGaOsIVVxUerA+Pz/2brO3qQvbg8nC8ea8Hw6Sd9/rpMN0EvgmyLeijbZzMe3/yQrOwkXJMEGunWVq7mSfGcSYgfKWxUBO2JBVMA1REgp35jfEtfhWYYrNfqZXDG/bfCk+ktWtJQ2bnjr2udeT/tGnjyg8zz1XdOFDsalDZCOw07q6IC26AuXClghMW7OIMswUxhLlw650pCxArcC3eIansjMqu23ITnB4Ms3SYfTnoH33cWraHXqCX6DXK0Ht0hD6jEzRGLHoXTaMigvg8/hZ/j39cpcbRtuY52on4518NBOVZ</latexit>

General plan: split a big task into pieces and deal with them one at a time. It's good if the pieces correspond to MATLAB functions

5

Algorithm for inverting L and U

. . . since we already know y1 we can compute y2<latexit sha1_base64="SsLRar69KlolImk59a815oYDWyc=">AAACp3icbVHLjtMwFHXCayivDixYsLGYgmBTkhEjWKGRumHHINGH1FTVjXMztepHZDtTIis/wp/xE7NkjdN2QWe4kqWjc67v49y8Ety6JPkdxXfu3rv/4Ohh79HjJ0+f9Y+fT6yuDcMx00KbWQ4WBVc4dtwJnFUGQeYCp/l61OnTKzSWa/XDNRUuJFwqXnIGLlDL/q+sApPrnz5NhmdMtr6X2bIEyUVDe5nCDdNSgip8Nhq1PpPgVgyEH7XtoTqd7tU899NODGXtmlcfK9fLCu0stVwxpBukIMKARUPXSm/ooFmmg45loGioVtUOO/J00C77J8kw2Qa9DdI9ODl/eX1NCSEXy/6f0InVEpVjAqydp0nlFh6M40xgmKm2WAFbwyXOA1Qg0S781sOWvglMQUttwlOObtl/f3iQ1jYyD5ndmvam1pH/0+a1Kz8vPFfdZortGpW1oE7T7iC04AaZC3YXHJjhYVbKVmCAuXC2gy4rFFfoWnpA5rIzKr1py20wOR2GG6ffg2NfyC6OyCvymrwjKflEzslXckHGhEUkeht9iJL4ffwtnsSzXWoc7f+8IAcRw199o9Ps</latexit><latexit sha1_base64="ALFA1tjwQmNrHGgyRWnFjqJp/Uw=">AAACp3icbVHLjtMwFHXCayiP6cCCBRuLKQg2JRmBhgVCI3XDjkGiTaWmqm6cm6lV24lsZ0pk5Uf4Db6GD2A7S9Y4bRd0hitZOjrn+j7OzSrBjY2iX0F46/adu/cO7vcePHz0+LB/9GRiylozHLNSlHqagUHBFY4ttwKnlUaQmcAkW406PblEbXipvtmmwrmEC8ULzsB6atH/kVags/K7i6PheyZb10tNUYDkoqG9VOGalVKCyl06GrUulWCXDIQbte2+miQ7Nctc0om+rFnx6l1le2leWkMNVwzpGikIP2De0JUq13TQLOJBxzJQ1FeraosdeTJoF/3jaBhtgt4E8Q4cnz27ujr8+PP3+aL/x3ditURlmQBjZnFU2bkDbTkT6GeqDVbAVnCBMw8VSDRzt/GwpS89k9Oi1P4pSzfsvz8cSGMamfnMbk1zXevI/2mz2hYf5o6rbjPFto2KWlBb0u4gNOcamfV25xyY5n5WypaggVl/tr0uSxSXaFu6R2ayMyq+bstNMDkZ+hvHX71jn8g2Dshz8oK8JjE5JWfkMzknY8ICErwK3gZR+Cb8Ek7C6TY1DHZ/npK9COEvFvPVrw==</latexit><latexit sha1_base64="ALFA1tjwQmNrHGgyRWnFjqJp/Uw=">AAACp3icbVHLjtMwFHXCayiP6cCCBRuLKQg2JRmBhgVCI3XDjkGiTaWmqm6cm6lV24lsZ0pk5Uf4Db6GD2A7S9Y4bRd0hitZOjrn+j7OzSrBjY2iX0F46/adu/cO7vcePHz0+LB/9GRiylozHLNSlHqagUHBFY4ttwKnlUaQmcAkW406PblEbXipvtmmwrmEC8ULzsB6atH/kVags/K7i6PheyZb10tNUYDkoqG9VOGalVKCyl06GrUulWCXDIQbte2+miQ7Nctc0om+rFnx6l1le2leWkMNVwzpGikIP2De0JUq13TQLOJBxzJQ1FeraosdeTJoF/3jaBhtgt4E8Q4cnz27ujr8+PP3+aL/x3ditURlmQBjZnFU2bkDbTkT6GeqDVbAVnCBMw8VSDRzt/GwpS89k9Oi1P4pSzfsvz8cSGMamfnMbk1zXevI/2mz2hYf5o6rbjPFto2KWlBb0u4gNOcamfV25xyY5n5WypaggVl/tr0uSxSXaFu6R2ayMyq+bstNMDkZ+hvHX71jn8g2Dshz8oK8JjE5JWfkMzknY8ICErwK3gZR+Cb8Ek7C6TY1DHZ/npK9COEvFvPVrw==</latexit><latexit sha1_base64="uzzfJu126xz6/BJp51ebeV2YSEQ=">AAACp3icbVHLjtMwFHXCayiPKbBkY9GCYFOSEQhWaKRu2DFI9CE1VXXj3Eyt+hHZzpTIyo/wZ/wIa5xOFnSGK1k6Ouf6Ps7NK8GtS5LfUXzn7r37D04eDh49fvL0dPjs+dzq2jCcMS20WeZgUXCFM8edwGVlEGQucJHvpp2+uEJjuVY/XFPhWsKl4iVn4AK1Gf7KKjC5/unTZPKRydYPMluWILlo6CBTuGdaSlCFz6bT1mcS3JaB8NO2PVYXi17Nc7/oxFDW7nj1oXKDrNDOUssVQ7pHCiIMWDR0p/SejptNOu5YBoqGalXtsCPPxu1mOEomySHobZD2YET6uNgM/4ROrJaoHBNg7SpNKrf2YBxnAsNMtcUK2A4ucRWgAol27Q8etvR1YApaahOecvTA/vvDg7S2kXnI7Na0N7WO/J+2ql35ee256jZT7LpRWQvqNO0OQgtukLlgd8GBGR5mpWwLBpgLZzvqskVxha6lR2QuO6PSm7bcBvOzSbhx+j0ZnX/pLTshL8kr8pak5BM5J1/JBZkRFpHoTfQ+SuJ38bd4Hi+vU+Oo//OCHEUMfwEGM9GZ</latexit>

. . . we already know y1 . . . yk�1 so can compute yk<latexit sha1_base64="1LWbTsNJJRq4NAjj12LgnmVbU0Q=">AAACrnicbVHLbtNAFB2bR0t4pbCDzYgGiU0juwLKClWEBcsikbhSbFnX43Ez8jysmXFTa2SJX+Gz+BHWjJMsSMuVRjo65859nFs0nBkbRb+D8N79Bw8PDh+NHj95+uz5+OjFwqhWEzoniit9WYChnEk6t8xyetloCqLgNCnq2aAn11QbpuQP2zU0E3AlWcUIWE/l419pA7pQNy6Oph+I6N0oNVUFgvEOj1JJ10QJAbJ06WzWu1SAXRHgbtb3+2qS7NSicMkg+rKmZs37xo7SUlmD1xQD96OVHa6lWuNJl8dbpctdfRL3E2wUJiCxL9q0lg4Z9aTPx8fRNNoEvgviHTg+f/X1y0+E0EU+/uPLklZQaQkHY5Zx1NjMgbaMcOpHaw1tgNRwRZceShDUZG5jZY/feqbEldL+SYs37L8/HAhjOlH4zGFbc1sbyP9py9ZWnzLH5LCZJNtGVcuxVXi4Cy6ZpsR610sGRDM/KyYr0ECsv95elxXl19T2eI8sxGBUfNuWu2BxOvWnjr97xz6jbRyi1+gNeodidIbO0Td0geaIBAfBSfAxOAujcBFmYb5NDYPdn5doL8LVX3hT1hs=</latexit><latexit sha1_base64="gbc0nWeHHQGx94QfMN73+v5YLz4=">AAACrnicbVHLjtMwFHXCY4byKrCDjcUUic1UyQgYVmhEWbAcJNqM1ETRjeNMrfgR2c6UyMqOH+GH2LPiL1jjtF3QGa5k6eic6/s4t2g4MzaKfgXhrdt37h4c3hvdf/Dw0ePxk6cLo1pN6JworvRFAYZyJuncMsvpRaMpiILTpKhng55cUW2Ykl9t19BMwKVkFSNgPZWPf6QN6EJ9c3E0fUtE70apqSoQjHd4lEq6JkoIkKVLZ7PepQLsigB3s77fV5NkpxaFSwbRlzU1a940dpSWyhq8phi4H63scC3VGk+6PN4qXe7q47ifYKMwAYl90aa1dMioJ30+Poqm0SbwTRDvwNHZ808fv//+GZ/n4z++LGkFlZZwMGYZR43NHGjLCKd+tNbQBkgNl3TpoQRBTeY2Vvb4lWdKXCntn7R4w/77w4EwphOFzxy2Nde1gfyftmxt9T5zTA6bSbJtVLUcW4WHu+CSaUqsd71kQDTzs2KyAg3E+uvtdVlRfkVtj/fIQgxGxddtuQkWJ1N/6viLd+wD2sYheoFeotcoRqfoDH1G52iOSHAQHAfvgtMwChdhFubb1DDY/XmG9iJc/QVA6tf9</latexit><latexit sha1_base64="gbc0nWeHHQGx94QfMN73+v5YLz4=">AAACrnicbVHLjtMwFHXCY4byKrCDjcUUic1UyQgYVmhEWbAcJNqM1ETRjeNMrfgR2c6UyMqOH+GH2LPiL1jjtF3QGa5k6eic6/s4t2g4MzaKfgXhrdt37h4c3hvdf/Dw0ePxk6cLo1pN6JworvRFAYZyJuncMsvpRaMpiILTpKhng55cUW2Ykl9t19BMwKVkFSNgPZWPf6QN6EJ9c3E0fUtE70apqSoQjHd4lEq6JkoIkKVLZ7PepQLsigB3s77fV5NkpxaFSwbRlzU1a940dpSWyhq8phi4H63scC3VGk+6PN4qXe7q47ifYKMwAYl90aa1dMioJ30+Poqm0SbwTRDvwNHZ808fv//+GZ/n4z++LGkFlZZwMGYZR43NHGjLCKd+tNbQBkgNl3TpoQRBTeY2Vvb4lWdKXCntn7R4w/77w4EwphOFzxy2Nde1gfyftmxt9T5zTA6bSbJtVLUcW4WHu+CSaUqsd71kQDTzs2KyAg3E+uvtdVlRfkVtj/fIQgxGxddtuQkWJ1N/6viLd+wD2sYheoFeotcoRqfoDH1G52iOSHAQHAfvgtMwChdhFubb1DDY/XmG9iJc/QVA6tf9</latexit><latexit sha1_base64="ELdX9RRVsy1kuDU/aUtLpCvM460=">AAACrnicbVHLjtMwFHXCY4byKrBkY9EisZkqGQHDCo3UDctBos1ITRTdOM7Uih+R7UyJrHwMn8WPsMZps6AzXMnS0TnX93Fu0XBmbBT9DsIHDx89Pjl9Mnn67PmLl9NXr9dGtZrQFVFc6esCDOVM0pVlltPrRlMQBadJUS8HPbml2jAlf9iuoZmAG8kqRsB6Kp/+ShvQhfrp4mjxiYjeTVJTVSAY7/AklXRHlBAgS5cul71LBdgtAe6WfX+sJsmoFoVLBtGXNTVrPjZ2kpbKGryjGLgfrexwLdUOz7s8Pihd7uqzuJ9jozABiX3RprV0yKjnfT6dRYtoH/g+iEcwQ2Nc5dM/vixpBZWWcDBmE0eNzRxoywinfrTW0AZIDTd046EEQU3m9lb2+L1nSlwp7Z+0eM/++8OBMKYThc8ctjV3tYH8n7ZpbfUlc0wOm0lyaFS1HFuFh7vgkmlKrHe9ZEA087NisgUNxPrrHXXZUn5LbY+PyEIMRsV3bbkP1ucLf+r4ezS7/DpadoreonfoA4rRBbpE39AVWiESnARnwefgIozCdZiF+SE1DMY/b9BRhNu/a53Uuw==</latexit>

We can use a loop to compute y1, y2, . . . , yn<latexit sha1_base64="dD5+LM/2ttJnz1TQ3Umb9YP9Ggg=">AAACqHicbVFNj9MwEHXC11K+Chw4cLHYRSC0qpIVCE5opV44FoluFjVVZDuTrVV/yXYWIiu/hF/Gn9gjZ5y2B7rLSJae3pvxzLyhRnDns+x3kt66fefuvYP7owcPHz1+Mn767Mzp1jKYMy20PafEgeAK5p57AefGApFUQEHX00EvLsE6rtU33xlYSnKheMMZ8ZGqxr9KQyzVP0OeTT4w2YdR6ZqGSC46PCoV/GBaSqLqUE6nfSgl8StGRJj2/b5aFDuV0lAMYvzWrbl5b/yoBGlWoQDMiMKtA0yw0Npgr3GsN60HfNRV+XFXnRyXtfYuInXU99X4MJtkm8A3Qb4Dh6cvrq4wQmhWjf/EctZKUJ4J4twiz4xfBmI9ZwLiULG5IWxNLmARoSIS3DJsTOzx68jUuNE2PuXxhv23IhDpXCdpzBz2dNe1gfyftmh982kZuBoWVWzbqGnFsP5wEVxzC8xHv2tOmOVxVsxWxBLm4932uqxAXILv8R5J5WBUft2Wm+DsZBKPnH+Njn1G2zhAL9Er9Bbl6CM6RV/QDM0RS5LkTZIlefounaVF+n2bmia7mudoL1L6F0oq1NI=</latexit><latexit sha1_base64="XlnDWr66rOaOTuh43lNjr3uJJJc=">AAACqHicbVFNbxMxEPUuXyV8NMCBAxeLFoFQFe1WIDggVCkXjkEi3aJstLKd2caKv2R7Cytrfwk/g1/DD+DaI2e8SQ6kZSRLT+/NeGbeUCO481n2K0lv3Lx1+87e3cG9+w8e7g8fPT51urEMpkwLbc8ocSC4gqnnXsCZsUAkFVDQ1bjXiwuwjmv1xbcG5pKcK15zRnykquGP0hBL9feQZ6O3THZhULq6JpKLFg9KBd+YlpKoRSjH4y6UkvglIyKMu25XLYqtSmkoejF+61bcvDF+UII0y1AAZkThxgEmWGhtsNc41pvGAz5sq/yorY6PyoX2LiJ12HXV8CAbZevA10G+BQcnTy8v9z/8/D2phn9iOWskKM8EcW6WZ8bPA7GeMwFxqNjcELYi5zCLUBEJbh7WJnb4RWQWuNY2PuXxmv23IhDpXCtpzOz3dFe1nvyfNmt8/X4euOoXVWzTqG5Ev35/EbzgFpiPfi84YZbHWTFbEkuYj3fb6bIEcQG+wzsklb1R+VVbroPT41E8cv45OvYRbWIPPUPP0SuUo3foBH1CEzRFLEmSl0mW5OnrdJIW6ddNappsa56gnUjpX+Nr1pU=</latexit><latexit sha1_base64="XlnDWr66rOaOTuh43lNjr3uJJJc=">AAACqHicbVFNbxMxEPUuXyV8NMCBAxeLFoFQFe1WIDggVCkXjkEi3aJstLKd2caKv2R7Cytrfwk/g1/DD+DaI2e8SQ6kZSRLT+/NeGbeUCO481n2K0lv3Lx1+87e3cG9+w8e7g8fPT51urEMpkwLbc8ocSC4gqnnXsCZsUAkFVDQ1bjXiwuwjmv1xbcG5pKcK15zRnykquGP0hBL9feQZ6O3THZhULq6JpKLFg9KBd+YlpKoRSjH4y6UkvglIyKMu25XLYqtSmkoejF+61bcvDF+UII0y1AAZkThxgEmWGhtsNc41pvGAz5sq/yorY6PyoX2LiJ12HXV8CAbZevA10G+BQcnTy8v9z/8/D2phn9iOWskKM8EcW6WZ8bPA7GeMwFxqNjcELYi5zCLUBEJbh7WJnb4RWQWuNY2PuXxmv23IhDpXCtpzOz3dFe1nvyfNmt8/X4euOoXVWzTqG5Ev35/EbzgFpiPfi84YZbHWTFbEkuYj3fb6bIEcQG+wzsklb1R+VVbroPT41E8cv45OvYRbWIPPUPP0SuUo3foBH1CEzRFLEmSl0mW5OnrdJIW6ddNappsa56gnUjpX+Nr1pU=</latexit><latexit sha1_base64="jxz8tN54WeBYKchDYB10cNSTl4w=">AAACqHicbVFNbxMxEPUuXyV8NIUjF4sUgVAV7VagckKVcuEYJNItykYr25ltrPhLtrewsvaX8Mv4I5zxpnsgLSNZenpvxjPzhhrBnc+y30l67/6Dh48OHo+ePH32/HB89OLC6cYyWDAttL2kxIHgChaeewGXxgKRVEBBt7NeL67BOq7VN98aWElypXjNGfGRqsa/SkMs1T9Dnk0/MtmFUenqmkguWjwqFfxgWkqi1qGczbpQSuI3jIgw67p9tSgGldJQ9GL81m25+WD8qARpNqEAzIjCjQNMsNDaYK9xrDeNB3zcVvlJW52elGvtXUTquOuq8SSbZrvAd0E+gAkaYl6N/8Ry1khQngni3DLPjF8FYj1nAuJQsbkhbEuuYBmhIhLcKuxM7PCbyKxxrW18yuMd+29FINK5VtKY2e/pbms9+T9t2fj60ypw1S+q2E2juhH9+v1F8JpbYD76veaEWR5nxWxDLGE+3m2vywbENfgO75FU9kblt225Cy5Op/HI+ddscv55sOwAvUKv0TuUozN0jr6gOVogliTJ2yRL8vR9Ok+L9PtNapoMNS/RXqT0L9Kr0n8=</latexit>

0

BBBBBB@

L11 0 · · · · · · 0L21 L22 0 . . . 0

.... . . . . . . . .

...

Ln�1,1. . . . . . Ln�1,n�1 0

Ln1 · · · · · · · · · Lnn

1

CCCCCCA

0

BBBBBB@

y1y2......yn

1

CCCCCCA=

0

BBBBBB@

b1b2......bn

1

CCCCCCA

<latexit sha1_base64="hnnkX53/m9r9bOl1rmmEZDh7EOs=">AAAD+nicdVPLjtMwFHUTHkN4TAeWbCw6jFhAlURIsABppG5YsBgEnY7UVJHtOKnV2Ilsp0wUsoE/YYfY8jP8A2vWOGmo+pixZOXonuNzH7rBecqUdt3fPcu+cfPW7YM7zt179x8c9o8enquskISOSZZm8gIjRVMm6FgzndKLXFLEcUoneDFq+MmSSsUy8UmXOZ1xlAgWM4K0CYVHvT9BjiTOLivPI7yunEDFMeIsLaETCPqZZJwjEVXBaFRXAUd6TlBajep6m51MOhbjatKQxlQtWP4y104gUZLQSLJkrp3jYyfANGGiyo1cssvaeR+a3DU8ga65AYkyrTaBC4Og0fitpgH+WrwpCZb/X0bXg1az8hMvvOet5b6sY81tM3V6rz6BV9S3Bo1GmNapGci6ud1my9AzxcIy9JtPV/MWKkOx4/F2zwWvXPD1LnjPxUy+DvsDd+i2B+4DrwMD0J2zsP/XzJgUnApNUqTU1HNzPauQ1Iyk1LRXKJojskAJnRooEKdqVrVrWcOnJhLBOJPmCg3b6OaLCnGlSo6Nslkdtcs1wau4aaHj17OKibzQVJBVorhIoc5gs+MwYpISbVY4YohIZmqFZI4kItr8CVtZ5jRdUl3DrSDmzaC83bHsg3N/6LlD74M/OH3TjewAPAZPwDPggVfgFLwDZ2AMiPXRKq2v1jf7i/3d/mH/XEmtXvfmEdg69q9/vJlBmA==</latexit><latexit sha1_base64="hnnkX53/m9r9bOl1rmmEZDh7EOs=">AAAD+nicdVPLjtMwFHUTHkN4TAeWbCw6jFhAlURIsABppG5YsBgEnY7UVJHtOKnV2Ilsp0wUsoE/YYfY8jP8A2vWOGmo+pixZOXonuNzH7rBecqUdt3fPcu+cfPW7YM7zt179x8c9o8enquskISOSZZm8gIjRVMm6FgzndKLXFLEcUoneDFq+MmSSsUy8UmXOZ1xlAgWM4K0CYVHvT9BjiTOLivPI7yunEDFMeIsLaETCPqZZJwjEVXBaFRXAUd6TlBajep6m51MOhbjatKQxlQtWP4y104gUZLQSLJkrp3jYyfANGGiyo1cssvaeR+a3DU8ga65AYkyrTaBC4Og0fitpgH+WrwpCZb/X0bXg1az8hMvvOet5b6sY81tM3V6rz6BV9S3Bo1GmNapGci6ud1my9AzxcIy9JtPV/MWKkOx4/F2zwWvXPD1LnjPxUy+DvsDd+i2B+4DrwMD0J2zsP/XzJgUnApNUqTU1HNzPauQ1Iyk1LRXKJojskAJnRooEKdqVrVrWcOnJhLBOJPmCg3b6OaLCnGlSo6Nslkdtcs1wau4aaHj17OKibzQVJBVorhIoc5gs+MwYpISbVY4YohIZmqFZI4kItr8CVtZ5jRdUl3DrSDmzaC83bHsg3N/6LlD74M/OH3TjewAPAZPwDPggVfgFLwDZ2AMiPXRKq2v1jf7i/3d/mH/XEmtXvfmEdg69q9/vJlBmA==</latexit><latexit sha1_base64="hnnkX53/m9r9bOl1rmmEZDh7EOs=">AAAD+nicdVPLjtMwFHUTHkN4TAeWbCw6jFhAlURIsABppG5YsBgEnY7UVJHtOKnV2Ilsp0wUsoE/YYfY8jP8A2vWOGmo+pixZOXonuNzH7rBecqUdt3fPcu+cfPW7YM7zt179x8c9o8enquskISOSZZm8gIjRVMm6FgzndKLXFLEcUoneDFq+MmSSsUy8UmXOZ1xlAgWM4K0CYVHvT9BjiTOLivPI7yunEDFMeIsLaETCPqZZJwjEVXBaFRXAUd6TlBajep6m51MOhbjatKQxlQtWP4y104gUZLQSLJkrp3jYyfANGGiyo1cssvaeR+a3DU8ga65AYkyrTaBC4Og0fitpgH+WrwpCZb/X0bXg1az8hMvvOet5b6sY81tM3V6rz6BV9S3Bo1GmNapGci6ud1my9AzxcIy9JtPV/MWKkOx4/F2zwWvXPD1LnjPxUy+DvsDd+i2B+4DrwMD0J2zsP/XzJgUnApNUqTU1HNzPauQ1Iyk1LRXKJojskAJnRooEKdqVrVrWcOnJhLBOJPmCg3b6OaLCnGlSo6Nslkdtcs1wau4aaHj17OKibzQVJBVorhIoc5gs+MwYpISbVY4YohIZmqFZI4kItr8CVtZ5jRdUl3DrSDmzaC83bHsg3N/6LlD74M/OH3TjewAPAZPwDPggVfgFLwDZ2AMiPXRKq2v1jf7i/3d/mH/XEmtXvfmEdg69q9/vJlBmA==</latexit><latexit sha1_base64="hnnkX53/m9r9bOl1rmmEZDh7EOs=">AAAD+nicdVPLjtMwFHUTHkN4TAeWbCw6jFhAlURIsABppG5YsBgEnY7UVJHtOKnV2Ilsp0wUsoE/YYfY8jP8A2vWOGmo+pixZOXonuNzH7rBecqUdt3fPcu+cfPW7YM7zt179x8c9o8enquskISOSZZm8gIjRVMm6FgzndKLXFLEcUoneDFq+MmSSsUy8UmXOZ1xlAgWM4K0CYVHvT9BjiTOLivPI7yunEDFMeIsLaETCPqZZJwjEVXBaFRXAUd6TlBajep6m51MOhbjatKQxlQtWP4y104gUZLQSLJkrp3jYyfANGGiyo1cssvaeR+a3DU8ga65AYkyrTaBC4Og0fitpgH+WrwpCZb/X0bXg1az8hMvvOet5b6sY81tM3V6rz6BV9S3Bo1GmNapGci6ud1my9AzxcIy9JtPV/MWKkOx4/F2zwWvXPD1LnjPxUy+DvsDd+i2B+4DrwMD0J2zsP/XzJgUnApNUqTU1HNzPauQ1Iyk1LRXKJojskAJnRooEKdqVrVrWcOnJhLBOJPmCg3b6OaLCnGlSo6Nslkdtcs1wau4aaHj17OKibzQVJBVorhIoc5gs+MwYpISbVY4YohIZmqFZI4kItr8CVtZ5jRdUl3DrSDmzaC83bHsg3N/6LlD74M/OH3TjewAPAZPwDPggVfgFLwDZ2AMiPXRKq2v1jf7i/3d/mH/XEmtXvfmEdg69q9/vJlBmA==</latexit>

Ly = b means that<latexit sha1_base64="yl94lrwovgMpESyYb0s4nfiHwWk=">AAACjnicbVFNb9QwFHTCR0ugNIAEBy4WWyROq6RClAMVlfbSA4cisU2lzWr17DiJtbYT2U5hZeXAz+QX8A8442xzYFueZGk0894be0xawY1Nkl9BeO/+g4d7+4+ix08Onh7Gz55fmqbTlM1pIxp9RcAwwRWbW24Fu2o1A0kEy8h6NujZNdOGN+qb3bRsKaFSvOQUrKdW8c+8BU2aHy5NqexdlJuyBMnFBke5Yt9pIyWowuWzWe9yCbamINys73fVLBtVQlw2iH6pWfP2fWujXENVsULzqrbR0ZfNKTnCkoEy2NZgo34VT5Jpsi18F6QjmKCxLlbxn7xoaCeZslSAMYs0ae3SgbacCubNO8NaoGuo2MJDBZKZpdtG1eO3nilw2Wh/lMVb9t8JB9KYjSS+c3iPua0N5P+0RWfLj0vHVdtZpuiNUdkJbBs85I4Lrhm1PteCA9Xc3xXTGjRQ639nx6Vm4prZHu+QRA5BpbdjuQsuj6dpMk2/Hk/OPo2R7aPX6A16h1J0gs7QObpAc0TR7+AgeBm8CuPwQ3gafr5pDYNx5gXaqfD8L/bqyXI=</latexit><latexit sha1_base64="yl94lrwovgMpESyYb0s4nfiHwWk=">AAACjnicbVFNb9QwFHTCR0ugNIAEBy4WWyROq6RClAMVlfbSA4cisU2lzWr17DiJtbYT2U5hZeXAz+QX8A8442xzYFueZGk0894be0xawY1Nkl9BeO/+g4d7+4+ix08Onh7Gz55fmqbTlM1pIxp9RcAwwRWbW24Fu2o1A0kEy8h6NujZNdOGN+qb3bRsKaFSvOQUrKdW8c+8BU2aHy5NqexdlJuyBMnFBke5Yt9pIyWowuWzWe9yCbamINys73fVLBtVQlw2iH6pWfP2fWujXENVsULzqrbR0ZfNKTnCkoEy2NZgo34VT5Jpsi18F6QjmKCxLlbxn7xoaCeZslSAMYs0ae3SgbacCubNO8NaoGuo2MJDBZKZpdtG1eO3nilw2Wh/lMVb9t8JB9KYjSS+c3iPua0N5P+0RWfLj0vHVdtZpuiNUdkJbBs85I4Lrhm1PteCA9Xc3xXTGjRQ639nx6Vm4prZHu+QRA5BpbdjuQsuj6dpMk2/Hk/OPo2R7aPX6A16h1J0gs7QObpAc0TR7+AgeBm8CuPwQ3gafr5pDYNx5gXaqfD8L/bqyXI=</latexit><latexit sha1_base64="yl94lrwovgMpESyYb0s4nfiHwWk=">AAACjnicbVFNb9QwFHTCR0ugNIAEBy4WWyROq6RClAMVlfbSA4cisU2lzWr17DiJtbYT2U5hZeXAz+QX8A8442xzYFueZGk0894be0xawY1Nkl9BeO/+g4d7+4+ix08Onh7Gz55fmqbTlM1pIxp9RcAwwRWbW24Fu2o1A0kEy8h6NujZNdOGN+qb3bRsKaFSvOQUrKdW8c+8BU2aHy5NqexdlJuyBMnFBke5Yt9pIyWowuWzWe9yCbamINys73fVLBtVQlw2iH6pWfP2fWujXENVsULzqrbR0ZfNKTnCkoEy2NZgo34VT5Jpsi18F6QjmKCxLlbxn7xoaCeZslSAMYs0ae3SgbacCubNO8NaoGuo2MJDBZKZpdtG1eO3nilw2Wh/lMVb9t8JB9KYjSS+c3iPua0N5P+0RWfLj0vHVdtZpuiNUdkJbBs85I4Lrhm1PteCA9Xc3xXTGjRQ639nx6Vm4prZHu+QRA5BpbdjuQsuj6dpMk2/Hk/OPo2R7aPX6A16h1J0gs7QObpAc0TR7+AgeBm8CuPwQ3gafr5pDYNx5gXaqfD8L/bqyXI=</latexit><latexit sha1_base64="yl94lrwovgMpESyYb0s4nfiHwWk=">AAACjnicbVFNb9QwFHTCR0ugNIAEBy4WWyROq6RClAMVlfbSA4cisU2lzWr17DiJtbYT2U5hZeXAz+QX8A8442xzYFueZGk0894be0xawY1Nkl9BeO/+g4d7+4+ix08Onh7Gz55fmqbTlM1pIxp9RcAwwRWbW24Fu2o1A0kEy8h6NujZNdOGN+qb3bRsKaFSvOQUrKdW8c+8BU2aHy5NqexdlJuyBMnFBke5Yt9pIyWowuWzWe9yCbamINys73fVLBtVQlw2iH6pWfP2fWujXENVsULzqrbR0ZfNKTnCkoEy2NZgo34VT5Jpsi18F6QjmKCxLlbxn7xoaCeZslSAMYs0ae3SgbacCubNO8NaoGuo2MJDBZKZpdtG1eO3nilw2Wh/lMVb9t8JB9KYjSS+c3iPua0N5P+0RWfLj0vHVdtZpuiNUdkJbBs85I4Lrhm1PteCA9Xc3xXTGjRQ639nx6Vm4prZHu+QRA5BpbdjuQsuj6dpMk2/Hk/OPo2R7aPX6A16h1J0gs7QObpAc0TR7+AgeBm8CuPwQ3gafr5pDYNx5gXaqfD8L/bqyXI=</latexit>

Second row: y2 = (b2 � L21y1)/L22<latexit sha1_base64="jjJ7DFfphYKCnaWyhCH108Bw4+A=">AAACo3icbVFbaxQxFM6Mt7reVn0UJPQCFe06s7QoglLYF0EfqnY7hZ1hSDKZbtjcSDKtS5i/IfTNv+Uf8ckHM7v74LYeCPnyfefkJN/BmjPrkuRXFN+4eev2nY27vXv3Hzx81H/85MSqxhA6Joorc4qRpZxJOnbMcXqqDUUCc5rh2ajTs3NqLFPy2M01LQQ6k6xmBLlAlf0fuUYGq+8+TQYHRLS+l9u6RoLxOezlkl4QJQSSlc9Ho9bnArkpQdyP2nZdzbKVirHPOjFca2dM72vX+0aJkhU06uId3Ibzcgjfw12Iw74HP5d+mLaBTOEL+HpxHLbbbdnfSgbJIuB1kK7A1uHzy8ufAICjsv87rxRpBJWOcGTtJE20KzwyjhFOw3saSzUiM3RGJwFKJKgt/MK/Fu4EpoK1MmFJBxfsvxUeCWvnAofM7ov2qtaR/9MmjavfFp5J3TgqybJR3XDoFOyGAStmKHHB6oohYlh4KyRTZBBxYWRrXaaUn1PXwjUSi86o9Kot18HJcBDmm34Jjn0Ay9gAz8Am2AUpeAMOwUdwBMaAgD/RZvQyehXvxJ/ir/HxMjWOVjVPwVrExV/H/s/g</latexit><latexit sha1_base64="s2YYZYETOlyihYuDcqTyAkJbh08=">AAACo3icbVFbixMxFM6Mt7Xeqj4KctgLrKh1piiKoCz0RdCHVbc7C52hJJnMNjSXIcnsWsL8DUH/mX/EJx/MtH2wux4I+fJ95+Qk3yG14NYlya8ovnL12vUbWzd7t27fuXuvf//BsdWNoWxMtdDmhGDLBFds7LgT7KQ2DEsiWEbmo07PzpixXKsjt6hZIfGp4hWn2AVq2v+e19gQ/c2nyeAVla3v5baqsORiAb1csXOqpcSq9Plo1PpcYjejWPhR226qWbZWCfFZJ4Zr7ZzXL2vX+8qoViUYff4WdmExHcI72AcS9ufwaeqHaRvIFJ7Ai+Vx2O620/5OMkiWAZdBugY7B49/dPHzcNr/nZeaNpIpRwW2dpImtSs8No5TwcJ7GstqTOf4lE0CVFgyW/ilfy3sBaaESpuwlIMl+2+Fx9LahSQhs/uivah15P+0SeOqN4Xnqm4cU3TVqGoEOA3dMKDkhlEXrC45poaHtwKdYYOpCyPb6DJj4oy5FjZIIjuj0ou2XAbHw0GYb/o5OPYerWILPULbaB+l6DU6QB/QIRojiv5E29HT6Fm8F3+Mv8RHq9Q4Wtc8RBsRF38BZP7RpQ==</latexit><latexit sha1_base64="s2YYZYETOlyihYuDcqTyAkJbh08=">AAACo3icbVFbixMxFM6Mt7Xeqj4KctgLrKh1piiKoCz0RdCHVbc7C52hJJnMNjSXIcnsWsL8DUH/mX/EJx/MtH2wux4I+fJ95+Qk3yG14NYlya8ovnL12vUbWzd7t27fuXuvf//BsdWNoWxMtdDmhGDLBFds7LgT7KQ2DEsiWEbmo07PzpixXKsjt6hZIfGp4hWn2AVq2v+e19gQ/c2nyeAVla3v5baqsORiAb1csXOqpcSq9Plo1PpcYjejWPhR226qWbZWCfFZJ4Zr7ZzXL2vX+8qoViUYff4WdmExHcI72AcS9ufwaeqHaRvIFJ7Ai+Vx2O620/5OMkiWAZdBugY7B49/dPHzcNr/nZeaNpIpRwW2dpImtSs8No5TwcJ7GstqTOf4lE0CVFgyW/ilfy3sBaaESpuwlIMl+2+Fx9LahSQhs/uivah15P+0SeOqN4Xnqm4cU3TVqGoEOA3dMKDkhlEXrC45poaHtwKdYYOpCyPb6DJj4oy5FjZIIjuj0ou2XAbHw0GYb/o5OPYerWILPULbaB+l6DU6QB/QIRojiv5E29HT6Fm8F3+Mv8RHq9Q4Wtc8RBsRF38BZP7RpQ==</latexit><latexit sha1_base64="K7P64tX+sOFDmFBhVWJHKkisMJA=">AAACo3icbVHLbtQwFHXCqwyvAZZsrE4rFQHTZERVhASqNBskWBToNJUmUWQ7TscaPyLbaRlZ/g3+jR9hxQJnmgXTciXLx+fc62ufixvOjE2SX1F86/adu/e27g8ePHz0+Mnw6bNTo1pN6IworvQZRoZyJunMMsvpWaMpEpjTDC+nnZ5dUG2Ykid21dBCoHPJakaQDVQ5/Jk3SGP1w6XJ+IAI7wa5qWskGF/BQS7pJVFCIFm5fDr1LhfILgjibur9ppplvYqxyzoxXGuWrHnb2MF3SpSsoFaX7+EOXJUT+AHuQRz2N/BL6SapD2QKX8L99XHid3w5HCXjZB3wJkh7MAJ9HJfD33mlSCuotIQjY+Zp0tjCIW0Z4TS8pzW0QWSJzuk8QIkENYVb++fhbmAqWCsdlrRwzf5b4ZAwZiVwyOy+aK5rHfk/bd7a+l3hmGxaSyW5alS3HFoFu2HAimlKbLC6YohoFt4KyQJpRGwY2UaXBeUX1Hq4QWLRGZVet+UmOJ2Mw3zTr8no6GNv2RZ4AbbBHkjBITgCn8AxmAEC/kTb0avodbwbf46/xSdXqXHU1zwHGxEXfwGFbM2w</latexit>

First row: y1 = b1/L11<latexit sha1_base64="CyAynpXA2aq1cbanGDgxCyxZ89A=">AAACk3icbVFNaxQxGM5M1db1a614qkiwFTytk6JYFKW4Ih4UKridws4yJJlMN2y+SDKtS5ir/6E3/5b/wbNnM7t7cFtfSHh4nvcjeV5iBHc+y34l6ca16zc2t272bt2+c/de//72sdONpWxEtdD2hGDHBFds5LkX7MRYhiURLCezYafnZ8w6rtU3PzdsIvGp4jWn2Eeq7P8oDLZEfw8oG7yksg29wtU1llzMYa9Q7JxqKbGqQjEctqGQ2E8pFmHYtutqnq9UQkLeibGtm3HzwvjeR26dh1afv4Z78xLBt5DE+zmEn8uAUAvhXlv2d7NBtgh4FaAV2D18fHHxEwBwVPb/FJWmjWTKU4GdG6PM+EnA1nMqWJzfOGYwneFTNo5QYcncJCz8auHTyFSw1jYe5eGC/bciYOncXJKY2X3JXdY68n/auPH1wSRwZRrPFF0OqhsBvYad+bDillEfra04ppbHt0I6xRZTH1e0NmXKxBnzLVwjieyMQpdtuQqO9wdxn+hrdOwdWMYW2AFPwDOAwCtwCD6BIzACFPxOtpOd5FH6MH2Tvk8/LFPTZFXzAKxF+uUvO7HK+w==</latexit><latexit sha1_base64="2A482ay739tIlcAOx3Vx3KonhxQ=">AAACk3icbVFbaxQxGM2Mt7re1hafKhJsBZ+2E1FaLEpxRXxQqOB2CjvLkGQy3bC5kWRalzCv/gf9Z/4Hn302s7sPbuuBhMM535cvOSFGcOez7FeSXrt+4+atjdu9O3fv3X/Qf7h54nRjKRtRLbQ9JdgxwRUbee4FOzWWYUkEy8ls2Pn5ObOOa/XVzw2bSHymeM0p9lEq+98Lgy3R3wLKBq+obEOvcHWNJRdz2CsUu6BaSqyqUAyHbSgk9lOKRRi27bqb5yuXkJB3ZjzWzbh5aXzvA7fOQ6svXsPdeYngG0jivgfhpzIg1EK425b9nWyQLQCvErQiO0dPfnT4eVz2/xSVpo1kylOBnRujzPhJwNZzKlic3zhmMJ3hMzaOVGHJ3CQs8mrhs6hUsNY2LuXhQv23I2Dp3FySWNk9yV32OvF/3rjx9cEkcGUazxRdDqobAb2GXfiw4pZRH6OtOKaWx7tCOsUWUx+/aG3KlIlz5lu4JhLZBYUux3KVnLwYxP9EX2Jib8ESG2AbPAXPAQL74Ah8BMdgBCj4nWwm28nj9FF6mL5L3y9L02TVswXWkH7+C9iizMA=</latexit><latexit sha1_base64="2A482ay739tIlcAOx3Vx3KonhxQ=">AAACk3icbVFbaxQxGM2Mt7re1hafKhJsBZ+2E1FaLEpxRXxQqOB2CjvLkGQy3bC5kWRalzCv/gf9Z/4Hn302s7sPbuuBhMM535cvOSFGcOez7FeSXrt+4+atjdu9O3fv3X/Qf7h54nRjKRtRLbQ9JdgxwRUbee4FOzWWYUkEy8ls2Pn5ObOOa/XVzw2bSHymeM0p9lEq+98Lgy3R3wLKBq+obEOvcHWNJRdz2CsUu6BaSqyqUAyHbSgk9lOKRRi27bqb5yuXkJB3ZjzWzbh5aXzvA7fOQ6svXsPdeYngG0jivgfhpzIg1EK425b9nWyQLQCvErQiO0dPfnT4eVz2/xSVpo1kylOBnRujzPhJwNZzKlic3zhmMJ3hMzaOVGHJ3CQs8mrhs6hUsNY2LuXhQv23I2Dp3FySWNk9yV32OvF/3rjx9cEkcGUazxRdDqobAb2GXfiw4pZRH6OtOKaWx7tCOsUWUx+/aG3KlIlz5lu4JhLZBYUux3KVnLwYxP9EX2Jib8ESG2AbPAXPAQL74Ah8BMdgBCj4nWwm28nj9FF6mL5L3y9L02TVswXWkH7+C9iizMA=</latexit><latexit sha1_base64="7EBq9YAH2Z5TeTqDnIouRZ1EoXQ=">AAACk3icbVFbaxQxGM1MvdT1tlZ8qg/BreDTOhFFaVGKK+KDQgW3U9hZhiST6YbNjSTTdgnz6n/0P/jss5ntPLitHyQczvkuyfmIEdz5LPuVpFs3bt66vX1ncPfe/QcPh492jp1uLGVTqoW2JwQ7JrhiU8+9YCfGMiyJYDlZTjo9P2PWca1++JVhc4lPFa85xT5S5fBnYbAl+iKgbPyGyjYMClfXWHKxgoNCsXOqpcSqCsVk0oZCYr+gWIRJ226qed6rhIS8E2Nbt+TmtfGDz9w6D60+34d7qxLB95DE+yWEX8uAUAvhXlsOR9k4Wwe8DlAPRqCPo3L4p6g0bSRTngrs3Axlxs8Dtp5TweL8xjGD6RKfslmECkvm5mHtVwufR6aCtbbxKA/X7L8VAUvnVpLEzO5L7qrWkf/TZo2v380DV6bxTNHLQXUjoNewMx9W3DLqo7UVx9Ty+FZIF9hi6uOKNqYsmDhjvoUbJJGdUeiqLdfB8atx3Cf6no0OP/SWbYNd8Ay8AAi8BYfgCzgCU0DB72Qn2U2epk/Sg/Rj+ukyNU36msdgI9JvfwH5EMjL</latexit>

kth row: yk =⇣bk �

Pk�1j=1 Lkjyj

⌘/Lkk

<latexit sha1_base64="72PEOvWC1ZlOgICRsa6iuznAR50=">AAACu3icbVHLjtMwFHXCayiv8tixsZgiDYspCQ+BRioaKSxYsBgkOh2pKZHtOI0b24lsZ4bIssTXsOR/+BHWOG0XdIYrWbo+517f63Nww5k2UfQ7CK9dv3Hz1t7twZ279+4/GD58dKrrVhE6JTWv1RlGmnIm6dQww+lZoygSmNMZrpKen51TpVktv5quoQuBlpIVjCDjoWz4K22QwvV3G0fjt0Q4O0h1USDBeAcHqaQXpBYCydymSeJsKpApCeI2cW6Xnc22LMZ21pP+WV2x5k1jBqNqZEqo6osjOOqyCk5gymlhDiD2l0OY6lZkdjWJ3TdbHcYOfs5stXKwy1apYsvSvIAve6hyI5cN96NxtA54NYm3yf7x65/tDwDASTb8k+Y1aQWVhnCk9TyOGrOwSBlGOPV7tpo2iFRoSec+lUhQvbBrXR187pEcFrXyRxq4Rv/tsEho3QnsK/uv68tcD/6Pm7emeL+wTDatoZJsBhUth6aGvUkwZ4oS4y3IGSKK+V0hKZFCxHgrd6aUlJ9T4+AOiEUvVHxZlqvJ6aux9z3+4hX7ADaxB56CZ+AAxOAdOAafwAmYAhI8CY6CJPgYTkISrkK+KQ2Dbc9jsBNh+xfYtdqx</latexit><latexit sha1_base64="zb2fwdM7IMnn77GkKXUEpLH2ft8=">AAACu3icbVHLjtMwFHXCayiv8tixsZgilcV0Eh4CjVQ0UliwYDFIdDJSUyLHcRo3thPZzgyR5d9hyYfwB+z4CtY4bRd0hitZuj7nXt/rc7KGUaWD4JfnX7t+4+atvduDO3fv3X8wfPjoVNWtxGSGa1bLswwpwqggM001I2eNJIhnjMRZFfV8fE6korX4oruGLDhaClpQjLSD0uGPpEEyq7+ZMJi8wdyaQaKKAnHKOjhIBLnANedI5CaJImsSjnSJETORtbtsHG/ZLDNxT7pnVUWb140ejKqRLqGsL47gqEsrOIUJI4Uew8xdDmCiWp6a1TS0X011EFr4KTXVysIuXSWSLkv9Ah72UGVHNh3uB5NgHfBqEm6T/eNX39tu/PvnSTr8k+Q1bjkRGjOk1DwMGr0wSGqKGXF7too0CFdoSeYuFYgTtTBrXS187pAcFrV0R2i4Rv/tMIgr1fHMVfZfV5e5HvwfN2918W5hqGhaTQTeDCpaBnUNe5NgTiXB2lmQU4QldbtCXCKJsHZW7kwpCTsn2sIdMOO9UOFlWa4mpy8nzvfws1PsPdjEHngKnoExCMFbcAw+ghMwA9h74h15kffBn/rYX/lsU+p7257HYCf89i998Nx8</latexit><latexit sha1_base64="zb2fwdM7IMnn77GkKXUEpLH2ft8=">AAACu3icbVHLjtMwFHXCayiv8tixsZgilcV0Eh4CjVQ0UliwYDFIdDJSUyLHcRo3thPZzgyR5d9hyYfwB+z4CtY4bRd0hitZuj7nXt/rc7KGUaWD4JfnX7t+4+atvduDO3fv3X8wfPjoVNWtxGSGa1bLswwpwqggM001I2eNJIhnjMRZFfV8fE6korX4oruGLDhaClpQjLSD0uGPpEEyq7+ZMJi8wdyaQaKKAnHKOjhIBLnANedI5CaJImsSjnSJETORtbtsHG/ZLDNxT7pnVUWb140ejKqRLqGsL47gqEsrOIUJI4Uew8xdDmCiWp6a1TS0X011EFr4KTXVysIuXSWSLkv9Ah72UGVHNh3uB5NgHfBqEm6T/eNX39tu/PvnSTr8k+Q1bjkRGjOk1DwMGr0wSGqKGXF7too0CFdoSeYuFYgTtTBrXS187pAcFrV0R2i4Rv/tMIgr1fHMVfZfV5e5HvwfN2918W5hqGhaTQTeDCpaBnUNe5NgTiXB2lmQU4QldbtCXCKJsHZW7kwpCTsn2sIdMOO9UOFlWa4mpy8nzvfws1PsPdjEHngKnoExCMFbcAw+ghMwA9h74h15kffBn/rYX/lsU+p7257HYCf89i998Nx8</latexit><latexit sha1_base64="Q0NwhQY1+9pELcwUICGIBMD3oH0=">AAACu3icbVFNb9QwEHXCV1m+tsCNi8UuUjl0myAqUKVFlcKBA4cisU2lzRI5jrPxxnYi22mJLP8l/g9/hDPONge2ZSRL4/dmPOP3soZRpYPgt+ffuXvv/oO9h6NHj588fTbef36u6lZissA1q+VFhhRhVJCFppqRi0YSxDNG4qyKej6+JFLRWnzXXUNWHK0FLShG2kHp+FfSIJnVP00YzI4xt2aUqKJAnLIOjhJBrnDNORK5SaLImoQjXWLETGTtLhvHA5tlJu5J96yqaPO+0aNpNdUllPXVCZx2aQXnMGGk0Acwc5dDmKiWp2YzD+0PUx2GFn5NTbWxsEs3iaTrUr+FRz1U2alNx5NgFmwD3k7CIZmAIc7S8Z8kr3HLidCYIaWWYdDolUFSU8yI27NVpEG4QmuydKlAnKiV2epq4RuH5LCopTtCwy36b4dBXKmOZ66y/7q6yfXg/7hlq4uPK0NF02oi8PWgomVQ17A3CeZUEqydBTlFWFK3K8QlkghrZ+XOlJKwS6It3AEz3gsV3pTldnL+buZ8D78Fk9NPg2R74BV4DQ5ACD6AU/AFnIEFwN5L78SLvM/+3Mf+xmfXpb439LwAO+G3fwHIZtij</latexit>

[if Lkk = 0 for some k then L�1 does not exist and this (usually) fails]<latexit sha1_base64="hrr/ug5KyVuhspLAWGaMN1SnpCw=">AAACw3icbVHLbhMxFPUMrxIeDbCEhaGDVBZEMwhEN6CKCAmJLorUdCplQuTx3Gms8WNke0ojyxJfxb/wI6zxJFmQlrs6Oude3+tzypYzY9P0dxTfuHnr9p2du4N79x883B0+enxqVKcpTKjiSp+VxABnEiaWWQ5nrQYiSg552Yx7Pb8AbZiSJ3bZwkyQc8lqRokN1Hz4q2iJLtWly9LROyq8GxSmrolgfIkHhYQfVAlBZOWK8di7QhC7oIS7sffbap5v1LJ0eS+GZ03D2retHUxZjZOjuWsa/yFNcK00NkoATpoE2wXIIH53rzOf4EqBwVJZDJfh6zi8HBqYwfud6Qjny1e4JoybmZ8P99JRuip8HWQbsHf4/ODkJ0LoeD78U1SKdgKkpZwYM83S1s4c0ZZRDuHezkBLaEPOYRqgJALMzK389fhlYKrV3bWSFq/YfyccEcYsRRk6ewvMVa0n/6dNO1sfzByTbWdB0vWiuuPYKtyHhSumgdoQRcUI1SzciumCaEJtiHRrywL4BViPt8hS9EZlV225Dk7fjEL+2bfg2Ee0rh30FL1A+yhD79Eh+oKO0QTR6Fn0KfoaHcWf4ybWsV23xtFm5gnaqtj/BbWq3Sg=</latexit><latexit sha1_base64="DJaYT5AbiX2is1z2E1vq1MPR/zI=">AAACw3icbVHLbtQwFHXCqwyvKSxhYWiQyoJRgqjoBlQxQkKiiyJ1mkqTMHKcm44VPyLbKR1Z+QF+gf/gN1ix4EdY48zMgmm5q6Nz7vW9PqdoODM2jn8H4bXrN27e2ro9uHP33v0Hw+2HJ0a1msKEKq70aUEMcCZhYpnlcNpoIKLgkBb1uNfTc9CGKXlsFw3kgpxJVjFKrKdmwx9ZQ3ShLlwSj/ao6NwgM1VFBOMLPMgkfKVKCCJLl43HncsEsXNKuBt33aaapmu1KFzai/5ZU7PmdWMHU1bh6HDm6rp7G0e4UhobJQBHdYTtHKQXv7iXSRfhUoHBUlkMF/7r2L/sG5jBu61pCeeLF7gijJu8mw134lG8LHwVJGuwc/B0//jb95+/jmbDP1mpaCtAWsqJMdMkbmzuiLaMcvD3tgYaQmtyBlMPJRFgcrf0t8PPPVMu766UtHjJ/jvhiDBmIQrf2VtgLms9+T9t2tpqP3dMNq0FSVeLqpZjq3AfFi6ZBmp9FCUjVDN/K6Zzogm1PtKNLXPg52A7vEEWojcquWzLVXDyauTzTz57x96hVW2hx+gZ2kUJeoMO0Ed0hCaIBk+C98Gn4DD8ENahDu2qNQzWM4/QRoXdXxWK33E=</latexit><latexit sha1_base64="DJaYT5AbiX2is1z2E1vq1MPR/zI=">AAACw3icbVHLbtQwFHXCqwyvKSxhYWiQyoJRgqjoBlQxQkKiiyJ1mkqTMHKcm44VPyLbKR1Z+QF+gf/gN1ix4EdY48zMgmm5q6Nz7vW9PqdoODM2jn8H4bXrN27e2ro9uHP33v0Hw+2HJ0a1msKEKq70aUEMcCZhYpnlcNpoIKLgkBb1uNfTc9CGKXlsFw3kgpxJVjFKrKdmwx9ZQ3ShLlwSj/ao6NwgM1VFBOMLPMgkfKVKCCJLl43HncsEsXNKuBt33aaapmu1KFzai/5ZU7PmdWMHU1bh6HDm6rp7G0e4UhobJQBHdYTtHKQXv7iXSRfhUoHBUlkMF/7r2L/sG5jBu61pCeeLF7gijJu8mw134lG8LHwVJGuwc/B0//jb95+/jmbDP1mpaCtAWsqJMdMkbmzuiLaMcvD3tgYaQmtyBlMPJRFgcrf0t8PPPVMu766UtHjJ/jvhiDBmIQrf2VtgLms9+T9t2tpqP3dMNq0FSVeLqpZjq3AfFi6ZBmp9FCUjVDN/K6Zzogm1PtKNLXPg52A7vEEWojcquWzLVXDyauTzTz57x96hVW2hx+gZ2kUJeoMO0Ed0hCaIBk+C98Gn4DD8ENahDu2qNQzWM4/QRoXdXxWK33E=</latexit><latexit sha1_base64="B59Hg+iPClIewFqTy32OqP0yWQY=">AAACw3icbVHLbtQwFHXCqwyPDrCEhcUEqSwYJQgEG1DFCAmJLorENJUmw8hxbjpW/Ihsp3Rk+bf4F36ENc40C6blro7Oudf3+pyy5czYNP0dxTdu3rp9Z+/u6N79Bw/3x48enxjVaQpzqrjSpyUxwJmEuWWWw2mrgYiSQ142s17Pz0EbpuR3u2lhKciZZDWjxAZqNf5VtESX6sJl6fQtFd6NClPXRDC+waNCwk+qhCCycsVs5l0hiF1Twt3M+101zwe1LF3ei+FZ07D2TWtHC1bj5GjlmsZ/SBNcK42NEoCTJsF2DTKIP9yrzCe4UmCwVBbDRfg6Di+HBmbwQWc6wvnmJa4J42bpV+NJOk23ha+DbAATNNTxavynqBTtBEhLOTFmkaWtXTqiLaMcwr2dgZbQhpzBIkBJBJil2/rr8YvAVNu7ayUt3rL/TjgijNmIMnT2FpirWk/+T1t0tn6/dEy2nQVJLxfVHcdW4T4sXDEN1IYoKkaoZuFWTNdEE2pDpDtb1sDPwXq8Q5aiNyq7ast1cPJ6GvLPvqWTw4+DZXvoKXqODlCG3qFD9AUdozmi0bPoU/Q1Ooo/x02sY3vZGkfDzBO0U7H/C5WZ27s=</latexit>

6

MATLAB function

function [ y ] = Lsolve( L,b )%Lsolve: solve Ly = b (for y) where L is lower triangular and b is a vector% note: it is not checked that L is actually lower triangular [bRows,bCols] = size(b); [LRows,LCols] = size(L); if LRows ~= LCols || bRows ~= LRows || bCols ~= 1 error('Either L or b is the wrong size.') end if any( diag(L) == 0 ) error('There are zeros on the diagonal of L') end y = b; for k = 1:LRows for j = 1:k-1 y(k) = y(k) - L(k,j)*y(j); end y(k) = y(k)/L(k,k); endend

Ly = b<latexit sha1_base64="yzqHslAJ6GbylhmoHyP3rUK2p/E=">AAACfXicbVFNbxMxEPUutJTw0QBHLhZNJQ4o2q2A9gKKlAsHDkUi3UrZKBp7vY0Vf8n2tkTW/gj+HBJ/hBMSeJMcSMtIlp7em/EbvSFGcOez7GeS3ru/t//g4GHv0eMnTw/7z55fON1YyiZUC20vCTgmuGITz71gl8YykESwgizHnV5cM+u4Vl/9yrCZhCvFa07BR2reN6UBS/S3kGfDd1S2oVe6ugbJxQr3SsVuqJYSVBXK8bgNpQS/oCDCuG131aLYqoSEohPjt27JzVvje4MB/oxX+AMmg0E77x9lw2xd+C7It+Bo9P774QghdD7v/yorTRvJlKcCnJvmmfGzANZzKlh0ahwzQJdwxaYRKpDMzcI6mRYfR6bCtbbxKY/X7L8TAaRzK0liZ7e8u6115P+0aePrs1ngyjSeKboxqhuBvcZdzLjillEfQ6w4UMvjrpguwAL18Rg7Lgsmrplv8Q5JZBdUfjuWu+DiZBgvl3+JiX1EmzpAL9Er9Brl6BSN0Cd0jiaIoh/od7KX7Cd/0uP0TTrctKbJduYF2qn09C+QlsRJ</latexit><latexit sha1_base64="wR3x3rStI9LNsplalN9M0JrLBIo=">AAACfXicbVHLbhMxFPUMtJTwaIAlG4umEgsUzVRA2YAiZdMFiyKRTqXMKLI9dxortseyPYXImo/oN/SfkPgAfqErJPAkWZCWK1k6Ouden6tzqRbcuiT5GcX37u/sPth72Hv0+MnT/f6z52e2bgyDCatFbc4psSC4gonjTsC5NkAkFZDRxbjTs0swltfqq1tqKCS5ULzijLhAzfo618TQ+rtPk+E7Jlvfy21VEcnFEvdyBd9YLSVRpc/H49bnkrg5I8KP23ZbzbKNSqnPOjF8axdcv9WuNxjgz3iJP2I6GLSz/kEyTFaF74J0Aw5G76/2R7+ui9NZ/yYva9ZIUI4JYu00TbQrPDGOMwHBqbGgCVuQC5gGqIgEW/hVMi0+DEyJq9qEpxxesf9OeCKtXUoaOrvl7W2tI/+nTRtXfSg8V7pxoNjaqGoEdjXuYsYlN8BcCLHkhBkedsVsTgxhLhxjy2UO4hJci7dIKrug0tux3AVnR8NwufRLSOwTWtceeoleodcoRcdohE7QKZoghn6g39FOtBv9iQ/jN/Fw3RpHm5kXaKvi479dbcYu</latexit><latexit sha1_base64="wR3x3rStI9LNsplalN9M0JrLBIo=">AAACfXicbVHLbhMxFPUMtJTwaIAlG4umEgsUzVRA2YAiZdMFiyKRTqXMKLI9dxortseyPYXImo/oN/SfkPgAfqErJPAkWZCWK1k6Ouden6tzqRbcuiT5GcX37u/sPth72Hv0+MnT/f6z52e2bgyDCatFbc4psSC4gonjTsC5NkAkFZDRxbjTs0swltfqq1tqKCS5ULzijLhAzfo618TQ+rtPk+E7Jlvfy21VEcnFEvdyBd9YLSVRpc/H49bnkrg5I8KP23ZbzbKNSqnPOjF8axdcv9WuNxjgz3iJP2I6GLSz/kEyTFaF74J0Aw5G76/2R7+ui9NZ/yYva9ZIUI4JYu00TbQrPDGOMwHBqbGgCVuQC5gGqIgEW/hVMi0+DEyJq9qEpxxesf9OeCKtXUoaOrvl7W2tI/+nTRtXfSg8V7pxoNjaqGoEdjXuYsYlN8BcCLHkhBkedsVsTgxhLhxjy2UO4hJci7dIKrug0tux3AVnR8NwufRLSOwTWtceeoleodcoRcdohE7QKZoghn6g39FOtBv9iQ/jN/Fw3RpHm5kXaKvi479dbcYu</latexit><latexit sha1_base64="gYD5V0K8yDLBbVo0H4P9Gr2iaDo=">AAACfXicbVFNaxsxENVumjR1v5z02IuoHeihmN3Skl5SAr700EMKdTbgNUbSzsbC+kLSpjVi/2ahf6SnQqt19lAnHRA83pvRG95QI7jzWfYzSfce7B88PHw0ePzk6bPnw6PjS6cby2DGtND2ihIHgiuYee4FXBkLRFIBBV1PO724Aeu4Vl/9xsBCkmvFa86Ij9RyaEpDLNXfQ55N3jPZhkHp6ppILjZ4UCr4xrSURFWhnE7bUEriV4yIMG3bXbUoepXSUHRi/NatuXln/GA8xp/xBp9hOh63y+Eom2TbwvdB3oMR6utiOfxVVpo1EpRngjg3zzPjF4FYz5mA6NQ4MIStyTXMI1REgluEbTItPolMhWtt41Meb9l/JwKRzm0kjZ3d8u6u1pH/0+aNrz8sAlem8aDYrVHdCOw17mLGFbfAfAyx4oRZHnfFbEUsYT4eY8dlBeIGfIt3SCq7oPK7sdwHl28n8XL5l2x0/rGP7BC9RK/Qa5SjU3SOPqELNEMM/UC/k/3kIPmTnqRv0slta5r0My/QTqWnfwGR/cLz</latexit>

yk =1

Lkk

2

4bk �k�1X

j=1

Lkjyj

3

5

<latexit sha1_base64="1rbFCPlX4t69sRWsirlbyBiewwY=">AAACv3icbVHLbtQwFHXCqwyvATZIbCw6SGw6SioQbFoVZUEXXRSJaSpNQuQ4zowntmPZTiGy/BX8AN/A3/AjrHFmZsG0XMnS1Tn35XNKyag2UfQ7CG/dvnP33t790YOHjx4/GT99dqHbTmEywy1r1WWJNGFUkJmhhpFLqQjiJSNp2SQDn14RpWkrvphekpyjhaA1xch4qBj/yiRSZfvdxtH0HebOjjJd14hT1sNRJsg33HKORGWzJHE248gsMWI2cW6XTdMtW5Y2HUg/VjdUvpVmNJnAvmjgkR9YK4Rt7OxZYZvGOZgxUps5LD19ADPd8cKujmL31TYHsYND1cr55hXMFF0sTQ4nE1eM96NptA54M4m3yf7J2Y/kJwDgvBj/yaoWd5wIgxnSeh5H0uQWKUMxI/7WThOJcIMWZO5TgTjRuV1r6+Brj1SwbpV/wsA1+m+HRVzrnpe+cvi+vs4N4P+4eWfqD7mlQnaGCLxZVHcMmhYORsGKKoKNt6GiCCvqb4V4ibx+xtu5s2VJ2BUxDu6AJR+Eiq/LcjO5OJx67+PPXrFjsIk98BK8Am9ADN6DE3AKzsEM4OBFcBx8Ck7Dj+EiFKHclIbBtuc52Imw/wsvSNxv</latexit><latexit sha1_base64="ACIjus2qCwqlZfxnZoleUPEGEDA=">AAACv3icbVHLbtQwFHXCo2V4DbBBYmPRQWLTUYJAZdOqKAu66KJITFNpEiLH48x4YjuW7RQiywu+gTU/wd+w5xdgjTMzC6blSpauzrkvn1NKRrWJop9BeOPmrds7u3cGd+/df/Bw+OjxuW5ahckEN6xRFyXShFFBJoYaRi6kIoiXjKRlnfR8ekmUpo34aDpJco7mglYUI+OhYvgjk0iVzRcbR+M3mDs7yHRVIU5ZBweZIJ9xwzkSM5slibMZR2aBEbOJc9tsmm7YsrRpT/qxuqbytTSD0Qh2RQ0P/cBKIWxjZ08LW9fOwYyRykxh6el9mOmWF3Z5GLtPtt6PHeyrls43L2Gm6HxhcjgauWK4F42jVcDrSbxJ9o5PvyXff339fVYM/2SzBrecCIMZ0noaR9LkFilDMSP+1lYTiXCN5mTqU4E40bldaevgC4/MYNUo/4SBK/TfDou41h0vfWX/fX2V68H/cdPWVG9zS4VsDRF4vahqGTQN7I2CM6oINt6GGUVYUX8rxAvk9TPezq0tC8IuiXFwCyx5L1R8VZbryfmrsfc+/uAVOwLr2AXPwHPwEsTgAByDE3AGJgAHT4Oj4H1wEr4L56EI5bo0DDY9T8BWhN1fo9Texg==</latexit><latexit sha1_base64="ACIjus2qCwqlZfxnZoleUPEGEDA=">AAACv3icbVHLbtQwFHXCo2V4DbBBYmPRQWLTUYJAZdOqKAu66KJITFNpEiLH48x4YjuW7RQiywu+gTU/wd+w5xdgjTMzC6blSpauzrkvn1NKRrWJop9BeOPmrds7u3cGd+/df/Bw+OjxuW5ahckEN6xRFyXShFFBJoYaRi6kIoiXjKRlnfR8ekmUpo34aDpJco7mglYUI+OhYvgjk0iVzRcbR+M3mDs7yHRVIU5ZBweZIJ9xwzkSM5slibMZR2aBEbOJc9tsmm7YsrRpT/qxuqbytTSD0Qh2RQ0P/cBKIWxjZ08LW9fOwYyRykxh6el9mOmWF3Z5GLtPtt6PHeyrls43L2Gm6HxhcjgauWK4F42jVcDrSbxJ9o5PvyXff339fVYM/2SzBrecCIMZ0noaR9LkFilDMSP+1lYTiXCN5mTqU4E40bldaevgC4/MYNUo/4SBK/TfDou41h0vfWX/fX2V68H/cdPWVG9zS4VsDRF4vahqGTQN7I2CM6oINt6GGUVYUX8rxAvk9TPezq0tC8IuiXFwCyx5L1R8VZbryfmrsfc+/uAVOwLr2AXPwHPwEsTgAByDE3AGJgAHT4Oj4H1wEr4L56EI5bo0DDY9T8BWhN1fo9Texg==</latexit><latexit sha1_base64="+3KdYSkkaKVFDNsmAF0NbYuphy0=">AAACv3icbVHLjtMwFHXCayivAhskNhYtEpupEgSCzYwGdcEsWAwSnYzUhMh2ndaN7Vi2MxBZ/in+hh9hjdPJgs5wJUtX59yXz8GKM2OT5HcU37p95+69g/ujBw8fPX4yfvrs3DStJnRBGt7oC4wM5UzShWWW0wulKRKY0wzX857PLqk2rJHfbKdoIdBasooRZANUjn/lCmnc/HRpMntPhHej3FQVEox3cJRL+oM0QiC5cvl87l0ukN0QxN3c+302ywYWY5f1ZBhraqbeKTuaTmFX1vAoDKw0Ii717kvp6tp7mHNa2SXEgT6EuWlF6bZHqf/u6sPUw75q60PzFuaarTe2gNOpL8eTZJbsAt5M0iGZgCHOyvGffNWQVlBpCUfGLNNE2cIhbRnhNNzaGqoQqdGaLkMqkaCmcDttPXwdkBWsGh2etHCH/tvhkDCmEzhU9t8317ke/B+3bG31sXBMqtZSSa4WVS2HtoG9UXDFNCU22LBiiGgWboVkg4J+Nti5t2VD+SW1Hu6BWPRCpddluZmcv50F79OvyeTkeJDsALwEr8AbkIIP4AScgjOwACR6ER1Hn6PT+FO8jmWsrkrjaOh5DvYi7v4CMNbabQ==</latexit>

Example: Lsolve.m 7

Testing

A key advantage of breaking up the complex task into functions is that we can test each function separately

Tests for the various functions that we write here are given in LUtest.m

It's a good idea to test some easy cases, but also to check what happens in nasty cases (eg if L and b don't have the right size, or L is a singular matrix).

8

Page 3: Motivation 5 Gaussian Elimination Computational Projects

Similar algorithm for U

You might imagine that there is a similar method that works for U . . .<latexit sha1_base64="Z68t11q4uwDxJka/wP+XcYaq5II=">AAACuXicbVFNb9NAEF2bj5bwFcqBA5cVLRKnyEYgKlVChVw4FonURXEUjdfjeMmu19odt0SW/xF/iD/RI2fWSQ6kZQ6rp/d2dt7Oy2olHUXR7yC8c/fe/b39B4OHjx4/eTp8dnDuTGMFToRRxl5k4FDJCickSeFFbRF0pjDJluNeTy7ROmmqb7SqcaZhUclCCiBPzYe/0hpsZn62cTR6L3TXDlJXFKClWvFBWuGVMFpDlbfpeNy1qQYqBah23HW7apJs1Sxrk170z7qlrN/VNPhuGq7loiQu/XRvlFMJ5A+0yKXjwJ30A8FyjVSafCNfGbt0vDCWH02O0tyQ6+bDw2gUrYvfBvEWHJ6+uL7mjLGz+fCPbxSNxoqEAuemcVTTrAVLUij0LhuHNYglLHDqYQUa3axdb7Xjrz2Trw0UpiK+Zv/taEE7t9KZv9l/3N3UevJ/2rSh4njWyqpuCCuxGVQ0ipPhfUQ8lxYF+QByCcJK75WLEiwI8kHuTClRXSJ1fIfMdL+o+OZaboPztyOfevzVb+wj29Q+e8lesTcsZh/YKfvCztiEieAgOA4+BZ/DkxDCMvyxuRoG257nbKdC9xcZ0tw2</latexit><latexit sha1_base64="BmNnOXY80nCK59oPwgRIAhcU4ic=">AAACuXicbVFNb9NAEF2brxI+mpYDBy4rWiROkY1AVCpChVw4Fok0RXEUjdfjeMmu19odt0SW/xE3fg0/gGuPnFknOZCWOaye3tvZeTsvrZR0FEW/gvDW7Tt37+3c7z14+Ojxbn9v/8yZ2gocCaOMPU/BoZIljkiSwvPKIuhU4ThdDDt9fIHWSVN+oWWFUw3zUuZSAHlq1v+RVGBT872Jo8Eboduml7g8By3VkveSEi+F0RrKrEmGw7ZJNFAhQDXDtt1Wx+ONmqbNuBP9s24hq9cV9b6amms5L4hLP90b5VQA+QMtcuk4cCf9QLBcIxUmW8uXxi4cz43lh6PDJDPk2ln/IBpEq+I3QbwBBydPr6523/38fTrr//GNotZYklDg3CSOKpo2YEkKhd5l7bACsYA5TjwsQaObNquttvyFZ7KVgdyUxFfsvx0NaOeWOvU3u4+761pH/k+b1JQfTRtZVjVhKdaD8lpxMryLiGfSoiAfQCZBWOm9clGABUE+yK0pBaoLpJZvkanuFhVfX8tNcPZq4FOPP/uNvWfr2mHP2HP2ksXsLTthn9gpGzER7AdHwYfgY3gcQliE39ZXw2DT84RtVej+ArMT3fk=</latexit><latexit sha1_base64="BmNnOXY80nCK59oPwgRIAhcU4ic=">AAACuXicbVFNb9NAEF2brxI+mpYDBy4rWiROkY1AVCpChVw4Fok0RXEUjdfjeMmu19odt0SW/xE3fg0/gGuPnFknOZCWOaye3tvZeTsvrZR0FEW/gvDW7Tt37+3c7z14+Ojxbn9v/8yZ2gocCaOMPU/BoZIljkiSwvPKIuhU4ThdDDt9fIHWSVN+oWWFUw3zUuZSAHlq1v+RVGBT872Jo8Eboduml7g8By3VkveSEi+F0RrKrEmGw7ZJNFAhQDXDtt1Wx+ONmqbNuBP9s24hq9cV9b6amms5L4hLP90b5VQA+QMtcuk4cCf9QLBcIxUmW8uXxi4cz43lh6PDJDPk2ln/IBpEq+I3QbwBBydPr6523/38fTrr//GNotZYklDg3CSOKpo2YEkKhd5l7bACsYA5TjwsQaObNquttvyFZ7KVgdyUxFfsvx0NaOeWOvU3u4+761pH/k+b1JQfTRtZVjVhKdaD8lpxMryLiGfSoiAfQCZBWOm9clGABUE+yK0pBaoLpJZvkanuFhVfX8tNcPZq4FOPP/uNvWfr2mHP2HP2ksXsLTthn9gpGzER7AdHwYfgY3gcQliE39ZXw2DT84RtVej+ArMT3fk=</latexit><latexit sha1_base64="FgHCiyfeyryr2zoN87InXG+wn2w=">AAACuXicbVFNb9NAEF2bj5bwFcqRy4oUiVNkIxCVKqFCLhyLRJqiOIrG63G8za7X2h23RJb/EX+IP8KZdeIDaZnD6um9nZ2389JKSUdR9DsI791/8PDg8NHg8ZOnz54PXxxdOFNbgVNhlLGXKThUssQpSVJ4WVkEnSqcpetJp8+u0Tppyu+0qXChYVXKXAogTy2Hv5IKbGp+NnE0/iB02wwSl+egpdrwQVLijTBaQ5k1yWTSNokGKgSoZtK2++ps1qtp2sw60T/r1rJ6X9Hgh6m5lquCuPTTvVFOBZA/0CKXjgN30g8EyzVSYbKdfGPs2vHcWH48PU4yQ65dDkfRONoWvwviHoxYX+fL4R/fKGqNJQkFzs3jqKJFA5akUOhd1g4rEGtY4dzDEjS6RbPdasvfeCbbGshNSXzL/tvRgHZuo1N/s/u4u6115P+0eU35yaKRZVUTlmI3KK8VJ8O7iHgmLQryAWQShJXeKxcFWBDkg9ybUqC6Rmr5HpnqblHx7bXcBRfvxj71+Fs0OvvUr+yQvWKv2VsWs4/sjH1l52zKRHAUnASfgy/haQhhEV7troZB3/OS7VXo/gKiU9nj</latexit>

We consider the rows in turn, but now starting from the last (nth) row<latexit sha1_base64="O1d+qyqRwSBPTjNETRP5FjZE2UA=">AAACwHicbVHLihNBFK1uX2N8RV2JIIUzwggSukXRlQ5mM+5GMNMD6RCqK7fTRerRVt2eGIv+kNn5D36NP+La6iQLM+OFgss591XnFLUUDpPkdxRfu37j5q292707d+/df9B/+OjUmcZyGHEjjT0rmAMpNIxQoISz2gJThYSsWAw7PjsH64TRX3FVw0SxuRal4AwDNO3/ymtmC/Pdp8ngLVet7+WuLJkSckV7uYYlN0oxPfP5cNj6XDGsOJN+2La7bJZt2aLwWUeGsW4h6jc19jKg3GgnZmApVkCtWToqNMXG6le0aJBqs6QOmUWh57S0Rq3rclB15SVzLdLDA32A1cuut53295NBsg56NUm3yf7Rs4uLn4SQk2n/Tz4zvFGgkYdxbpwmNU58t49LCMc2DmrGF2wO45BqpsBN/Frclr4IyIyWxoanka7Rfzs8U86tVBEqu/+7y1wH/o8bN1i+n3ih6wZB882ispEUDe2cojNhgWPwYSYYtyLcSnnFLOMY/NzZUoE8B2zpDlioTqj0sixXk9PXg2B++iUo9oFsYo88Jc/JIUnJO3JEjskJGREePYk+RsfR5/hTXMUm/rYpjaNtz2OyE/GPv8Kt3sg=</latexit><latexit sha1_base64="DEAklTGH/eRrRCfk2IxwGA1r23s=">AAACwHicbVHLihNBFK1uX2N8TNSVCFI4I4wgoVsUXelgNuNuBDM9kA6hunI7XaQebdXtibHoD9Hf8Gv8EddWJ1mYGS8UXM65rzqnqKVwmCS/o/ja9Rs3b+3d7t25e+/+fv/BwzNnGsthxI009rxgDqTQMEKBEs5rC0wVErJiMez47AKsE0Z/wVUNE8XmWpSCMwzQtP8rr5ktzDefJoM3XLW+l7uyZErIFe3lGpbcKMX0zOfDYetzxbDiTPph2+6yWbZli8JnHRnGuoWoX9fYy4Byo52YgaVYAbVm6ajQFBurX9KiQarNkjpkFoWe09Iata7LQdWVl8y1SI8O9SFWL7redto/SAbJOujVJN0mB8dPf3Tx83Ta/5PPDG8UaORhnBunSY0T3+3jEsKxjYOa8QWbwzikmilwE78Wt6XPAzKjpbHhaaRr9N8Oz5RzK1WEyu7/7jLXgf/jxg2W7yZe6LpB0HyzqGwkRUM7p+hMWOAYfJgJxq0It1JeMcs4Bj93tlQgLwBbugMWqhMqvSzL1eTs1SCYn34Oir0nm9gjT8gzckRS8pYckxNySkaER4+jD9FJ9Cn+GFexib9uSuNo2/OI7ET8/S9freCN</latexit><latexit sha1_base64="DEAklTGH/eRrRCfk2IxwGA1r23s=">AAACwHicbVHLihNBFK1uX2N8TNSVCFI4I4wgoVsUXelgNuNuBDM9kA6hunI7XaQebdXtibHoD9Hf8Gv8EddWJ1mYGS8UXM65rzqnqKVwmCS/o/ja9Rs3b+3d7t25e+/+fv/BwzNnGsthxI009rxgDqTQMEKBEs5rC0wVErJiMez47AKsE0Z/wVUNE8XmWpSCMwzQtP8rr5ktzDefJoM3XLW+l7uyZErIFe3lGpbcKMX0zOfDYetzxbDiTPph2+6yWbZli8JnHRnGuoWoX9fYy4Byo52YgaVYAbVm6ajQFBurX9KiQarNkjpkFoWe09Iata7LQdWVl8y1SI8O9SFWL7redto/SAbJOujVJN0mB8dPf3Tx83Ta/5PPDG8UaORhnBunSY0T3+3jEsKxjYOa8QWbwzikmilwE78Wt6XPAzKjpbHhaaRr9N8Oz5RzK1WEyu7/7jLXgf/jxg2W7yZe6LpB0HyzqGwkRUM7p+hMWOAYfJgJxq0It1JeMcs4Bj93tlQgLwBbugMWqhMqvSzL1eTs1SCYn34Oir0nm9gjT8gzckRS8pYckxNySkaER4+jD9FJ9Cn+GFexib9uSuNo2/OI7ET8/S9freCN</latexit><latexit sha1_base64="aXnHyBoQzOUSK4Tf3nC1E7PY2Ec=">AAACwHicbVHLjtMwFHXCayivAivExqKDNEioShAIVjCim2E3SHQyUlNVjnPTWPUj2DdTipWv4mv4EdY4nS7oDFeydHXOffmcopHCYZL8juIbN2/dvnNwd3Dv/oOHj4aPn5w501oOU26ksecFcyCFhikKlHDeWGCqkJAVq0nPZxdgnTD6G24amCu21KISnGGAFsNfecNsYX74NBm/46rzg9xVFVNCbugg17DmRimmS59PJp3PFcOaM+knXbfPZtmOLQqf9WQY61aiedvgIAPKjXaiBEuxBmrN2lGhKbZWv6ZFi1SbNXXILAq9pJU1aluXg2pqL5nrkB4d6kOsX/W93WI4SsbJNuj1JN0lI7KL08XwT14a3irQyMM4N0uTBue+38clhGNbBw3jK7aEWUg1U+DmfituR18GpKSVseFppFv03w7PlHMbVYTK/v/uKteD/+NmLVYf5l7opkXQ/HJR1UqKhvZO0VJY4Bh8KAXjVoRbKa+ZZRyDn3tbapAXgB3dAwvVC5VeleV6cvZmHMxPvyaj4487yQ7Ic/KCHJGUvCfH5ISckinh0bPoU3QSfYk/x3Vs4u+XpXG063lK9iL++ReAG9yY</latexit>

We solve Ux = y (for x)<latexit sha1_base64="6JkfkRiiciZdiGiF9UCcatN5+zE=">AAACjHicbVHLahsxFNVMH0mdNnX6WBWKaFxIN2amJCRQUgKG0mUKdSbgMUajuRML64WkSWzE0O/Irr/VD+gvdF2N7UWd9K4O59yrc3VuoTmzLkl+RfGDh48eb20/6ew8fbb7vLv34sKq2lAYUsWVuSyIBc4kDB1zHC61ASIKDlkxG7R6dg3GMiW/u4WGsSBXklWMEheoSfdHrokp1NynSf+IisZ3cltVRDC+wJ1cwg1VQhBZ+nwwaHwuiJtSwv2gaTbVLFurReGzVgzP2hnTh9p1MsBW8WvAveEcn+JFDx9UyuDevPehmXT3k36yLHwfpGuwf/b29vYnQuh80v2Tl4rWAqSjnFg7ShPtxp4YxyiHYFxb0ITOyBWMApREgB37ZVANfh+YErfmlZIOL9l/JzwR1i5EETrbv9i7Wkv+TxvVrjoZeyZ17UDSlVFVc+wUblPHJTNAXci0ZIQaFnbFdEoMoS7cZsNlCiEp1+ANshBtUOndWO6Di4/9cMj0W0jsM1rVNnqD3qEDlKJjdIa+onM0RBT9jnaiV9HreDc+jD/Fp6vWOFrPvEQbFX/5CyvvyQ8=</latexit><latexit sha1_base64="hcuKEAVZ1z7vu/CzwXOxg6hEMGM=">AAACjHicbVHdahNBGJ3d+lNTbVOrV4IMNkK9CbvSolAqhYB4WcF0C9kQZme/bYbMHzOzNWFY+hz6Zj6Ar+C1s0kuTOu5OpzzzZyZ8xWaM+uS5FcUbz14+Ojx9pPOztNnu3vd/eeXVtWGwpAqrsxVQSxwJmHomONwpQ0QUXDIitmg9bMbMJYp+c0tNIwFuZasYpS4IE26t7kmplBznyb9Eyoa38ltVRHB+AJ3cgnfqRKCyNLng0Hjc0HclBLuB02z6WbZ2i0Kn7VmuNbOmD7WrpMBtorfAO4N5/gML3r4qFIG9+a9d82ke5j0kyXwfZKuyeH56x8tfl5Mun/yUtFagHSUE2tHaaLd2BPjGOUQgmsLmtAZuYZRoJIIsGO/LKrBb4NS4ja8UtLhpfrvCU+EtQtRhMn2L/au14r/80a1qz6OPZO6diDpKqiqOXYKt63jkhmgLnRaMkINC2/FdEoMoS7sZiNlCqEp1+ANsRBtUendWu6Ty/f9sMj0a2jsE1phG71Cb9ARStEHdI6+oAs0RBT9jnaiF9HLeDc+jk/js9VoHK3PHKANxJ//AsjgytQ=</latexit><latexit sha1_base64="hcuKEAVZ1z7vu/CzwXOxg6hEMGM=">AAACjHicbVHdahNBGJ3d+lNTbVOrV4IMNkK9CbvSolAqhYB4WcF0C9kQZme/bYbMHzOzNWFY+hz6Zj6Ar+C1s0kuTOu5OpzzzZyZ8xWaM+uS5FcUbz14+Ojx9pPOztNnu3vd/eeXVtWGwpAqrsxVQSxwJmHomONwpQ0QUXDIitmg9bMbMJYp+c0tNIwFuZasYpS4IE26t7kmplBznyb9Eyoa38ltVRHB+AJ3cgnfqRKCyNLng0Hjc0HclBLuB02z6WbZ2i0Kn7VmuNbOmD7WrpMBtorfAO4N5/gML3r4qFIG9+a9d82ke5j0kyXwfZKuyeH56x8tfl5Mun/yUtFagHSUE2tHaaLd2BPjGOUQgmsLmtAZuYZRoJIIsGO/LKrBb4NS4ja8UtLhpfrvCU+EtQtRhMn2L/au14r/80a1qz6OPZO6diDpKqiqOXYKt63jkhmgLnRaMkINC2/FdEoMoS7sZiNlCqEp1+ANsRBtUendWu6Ty/f9sMj0a2jsE1phG71Cb9ARStEHdI6+oAs0RBT9jnaiF9HLeDc+jk/js9VoHK3PHKANxJ//AsjgytQ=</latexit><latexit sha1_base64="G0d4u/0fgV5M8+EA2FJdlcCdIeU=">AAACjHicbVHLahsxFNVM+kidNnX6WHUjahfSjZkpKQmUlIChdJlCnQl4jNFo7sTCeiFpEhsx5Dv7Af2FrqtxZlEnvavDOffqXJ1baM6sS5JfUbzz6PGTp7vPenvPX+y/7B+8urCqNhQmVHFlLgtigTMJE8cch0ttgIiCQ1Ysx62eXYOxTMmfbq1hJsiVZBWjxAVq3r/NNTGFWvk0GX2movG93FYVEYyvcS+XcEOVEESWPh+PG58L4haUcD9umm01yzq1KHzWiuFZu2T6SLteBtgqfg14OFnhU7we4sNKGTxcDT828/4gGSWbwg9B2oEB6up83v+Tl4rWAqSjnFg7TRPtZp4YxyiHYFxb0IQuyRVMA5REgJ35TVAN/hCYErfmlZIOb9h/JzwR1q5FETrbv9j7Wkv+T5vWrjqZeSZ17UDSO6Oq5tgp3KaOS2aAupBpyQg1LOyK6YIYQl24zZbLAkJSrsFbZCHaoNL7sTwEF59G4ZDpj2Rw9rWLbBe9Q+/RIUrRMTpD39E5miCKfkd70ZvobbwfH8Vf4tO71jjqZl6jrYq//QXpTsbf</latexit>

kth row: Ukkxk = yk �Pn

j=k+1 Ukjxj<latexit sha1_base64="Xxqk//OXVYO4kKy3v69sLW8rNoI=">AAACqnicbVHLbhMxFPVMeZTwSmHJxqIBgYBophRRIRVVyoZlQaRTlAkjj8fTOOOXbE/byPKG/+Bf+A1+hDWeJAvSciVbR+fc63t9bqkYNTZJfkfx1o2bt25v3+ndvXf/wcP+zqMTI1uNyRhLJvVpiQxhVJCxpZaRU6UJ4iUjWdmMOj07J9pQKb7ahSJTjs4ErSlGNlBF/2eukC7lpUuT4TvMvevlpq4Rp2wBe7kgF1hyjkTl8tHIu5wjO8OIuZH3m2qWrdWydFknhmdNQ9W+sr1BM7AzqOXFBzgYF65pPLwsGngIF+F+A3PT8sLND5tXqf8uYJcx7zLmA1/0d5Nhsgx4HaRrsHv0/MfBLwDAcdH/k1cSt5wIixkyZpImyk4d0pZiRsJYrSEK4QadkUmAAnFipm5po4fPAlPBWupwhIVL9t8Kh7gxC16GzO6n5qrWkf/TJq2tD6aOCtVaIvCqUd0yaCXsdgIrqgm2wfGKIqxpmBXiGdII27C5jS4zws6J9XCDLHlnVHrVluvgZG8Y1px+Do59BKvYBk/AU/ACpOA9OAKfwDEYAxxtRS+jveht/Dr+En+LJ6vUOFrXPAYbEVd/AacE1CI=</latexit><latexit sha1_base64="gUt4TuBLolQ89ns/2jTMdp34kOY=">AAACqnicbVHLbhMxFPVMeZTwCrBkY9GAQEA0U0BUSEWVsmFZEOkUZcLI4/E0zvgl29M2srzhP/gF1vwJ4kdY40myIC1XsnV0zr2+1+eWilFjk+R3FG9duXrt+vaN3s1bt+/c7d+7f2RkqzEZY8mkPi6RIYwKMrbUMnKsNEG8ZCQrm1GnZ6dEGyrFZ7tQZMrRiaA1xcgGquh/zxXSpTx3aTJ8g7l3vdzUNeKULWAvF+QMS86RqFw+GnmXc2RnGDE38n5TzbK1WpYu68TwrGmoeq1sb9AM7AxqefYODsaFaxoPz4sG7sNFuF/C3LS8cPP95nnqvwrYZcy7jPnAF/2dZJgsA14G6RrsHDz5tvfzR/rrsOj/ySuJW06ExQwZM0kTZacOaUsxI2Gs1hCFcINOyCRAgTgxU7e00cPHgalgLXU4wsIl+2+FQ9yYBS9DZvdTc1HryP9pk9bWe1NHhWotEXjVqG4ZtBJ2O4EV1QTb4HhFEdY0zArxDGmEbdjcRpcZYafEerhBlrwzKr1oy2VwtDsMa04/Bsfeg1Vsg4fgEXgKUvAWHIAP4BCMAY62omfRbvQqfhF/ir/Ek1VqHK1rHoCNiKu/IeTV0A==</latexit><latexit sha1_base64="gUt4TuBLolQ89ns/2jTMdp34kOY=">AAACqnicbVHLbhMxFPVMeZTwCrBkY9GAQEA0U0BUSEWVsmFZEOkUZcLI4/E0zvgl29M2srzhP/gF1vwJ4kdY40myIC1XsnV0zr2+1+eWilFjk+R3FG9duXrt+vaN3s1bt+/c7d+7f2RkqzEZY8mkPi6RIYwKMrbUMnKsNEG8ZCQrm1GnZ6dEGyrFZ7tQZMrRiaA1xcgGquh/zxXSpTx3aTJ8g7l3vdzUNeKULWAvF+QMS86RqFw+GnmXc2RnGDE38n5TzbK1WpYu68TwrGmoeq1sb9AM7AxqefYODsaFaxoPz4sG7sNFuF/C3LS8cPP95nnqvwrYZcy7jPnAF/2dZJgsA14G6RrsHDz5tvfzR/rrsOj/ySuJW06ExQwZM0kTZacOaUsxI2Gs1hCFcINOyCRAgTgxU7e00cPHgalgLXU4wsIl+2+FQ9yYBS9DZvdTc1HryP9pk9bWe1NHhWotEXjVqG4ZtBJ2O4EV1QTb4HhFEdY0zArxDGmEbdjcRpcZYafEerhBlrwzKr1oy2VwtDsMa04/Bsfeg1Vsg4fgEXgKUvAWHIAP4BCMAY62omfRbvQqfhF/ir/Ek1VqHK1rHoCNiKu/IeTV0A==</latexit><latexit sha1_base64="ESYev7JA2zNiie9PNGN1PyEb6So=">AAACqnicbVFdb9MwFHUyPkb56uCRF4sWCQRUyWACIQ1N6guPA9FlqCmR7TirG3/JdrZVVn4KP4w/wjNOlwe6cSVbR+fc63t9LtacWZckv6N459btO3d37w3uP3j46PFw78mJVY0hdEYUV+YUI0s5k3TmmOP0VBuKBOY0w/W007NzaixT8rtba7oQ6EyyihHkAlUMf+UaGawufZpMDoho/SC3VYUE42s4yCW9IEoIJEufT6etzwVyS4K4n7bttpplvYqxzzoxPGtrpt9rNxjXY7eERl18guNZ4eu6hZdFDQ/hOtxvYW4bUfjVYf06bX9K2GWsuozVuC2Go2SSbALeBGkPRqCP42L4Jy8VaQSVjnBk7TxNtFt4ZBwjnIaxGks1IjU6o/MAJRLULvzGxha+CEwJK2XCkQ5u2H8rPBLWrgUOmd1P7XWtI/+nzRtXfVx4JnXjqCRXjaqGQ6dgtxNYMkOJC46XDBHDwqyQLJFBxIXNbXVZUn5OXQu3SCw6o9LrttwEJ/uTsOb0azI6+txbtguegefgJUjBB3AEvoBjMAMk2oleRfvRu/hN/C3+Ec+vUuOor3kKtiIu/wLbqdJC</latexit>

Last row: Unnxn = yn<latexit sha1_base64="MVf+EzKheqS0eH7g/yok6BprRsw=">AAACjXicbVHPaxQxGM2Mv+pa7aqoBy/BVvC0zBSLIiqFPejBQwW3U9hZhi+ZTDdsfpFk2i5hwH/Tf8Bjj57NbPfgtn4QeLz3fXnJ+4gR3Pks+5Wkt27fuXtv6/7gwfbDRzvDx0+OnW4tZROqhbYnBBwTXLGJ516wE2MZSCJYQRbjXi/OmHVcqx9+adhMwqniDafgI1UNf5YGLNEXIc9GB1R2YVC6pgHJxRIPSsXOqZYSVB3K8bgLpQQ/pyDCuOs21aJYq4SEohfjtW7BzVvjB9/AeWz1+Qe8N6mCUh2+qBT+hJeV2uuq4W42ylaFb4J8DXYPX1xeYoTQUTX8U9aatpIpTwU4N80z42cBrOdUsOjcOmaALuCUTSNUIJmbhVVSHX4dmRo32sajPF6x/04EkM4tJYmd/Wfcda0n/6dNW9+8nwWuTOuZoldGTSuw17iPHdfcMupjqDUHanl8K6ZzsEB9XM6Gy5yJM+Y7vEES2QeVX4/lJjjeH8VN5t9jYp/RVW2hl+gVeoNy9A4doq/oCE0QRb+T7eRZ8jzdSQ/Sj+m6N03WM0/RRqVf/gJkBsrS</latexit><latexit sha1_base64="YI/IwYNukjZ0rO9/vzpSYcJwUbA=">AAACjXicbVHLbhMxFPVMeZRQSKACFmwsWiRW0QyiAqEWVcoCFiyKRDqVMtHo2uNprPgxsj1tI2uk/hNfwwfAskvWeNIsSMuVLB2dc6+PfS6pBbcuSX5G8cadu/fubz7oPdx69Lg/ePL02OrGUDamWmhzQsAywRUbO+4EO6kNA0kEy8h81OnZGTOWa/XdLWo2lXCqeMUpuEAVg8u8BkP0hU+T4R6Vre/ltqpAcrHAvVyxc6qlBFX6fDRqfS7BzSgIP2rbdTXLViohPuvEcK2d8/pd7XpfwTps9PlHvDsuvFItvigUPsCLQu22xWAnGSbLwrdBugI7hy+urvr7P34dFYM/ealpI5lyVIC1kzSp3dSDcZwKFpwby2qgczhlkwAVSGanfplUi18HpsSVNuEoh5fsvxMepLULSUJn9xl7U+vI/2mTxlUfpp6runFM0WujqhHYadzFjktuGHUh1JIDNTy8FdMZGKAuLGfNZcbEGXMtXiOJ7IJKb8ZyGxy/HYZNpt9CYp/QdW2il+gVeoNS9B4doi/oCI0RRb+jrehZ9Dzux3vxfrzqjaPVzDZaq/jzX/1HzJU=</latexit><latexit sha1_base64="YI/IwYNukjZ0rO9/vzpSYcJwUbA=">AAACjXicbVHLbhMxFPVMeZRQSKACFmwsWiRW0QyiAqEWVcoCFiyKRDqVMtHo2uNprPgxsj1tI2uk/hNfwwfAskvWeNIsSMuVLB2dc6+PfS6pBbcuSX5G8cadu/fubz7oPdx69Lg/ePL02OrGUDamWmhzQsAywRUbO+4EO6kNA0kEy8h81OnZGTOWa/XdLWo2lXCqeMUpuEAVg8u8BkP0hU+T4R6Vre/ltqpAcrHAvVyxc6qlBFX6fDRqfS7BzSgIP2rbdTXLViohPuvEcK2d8/pd7XpfwTps9PlHvDsuvFItvigUPsCLQu22xWAnGSbLwrdBugI7hy+urvr7P34dFYM/ealpI5lyVIC1kzSp3dSDcZwKFpwby2qgczhlkwAVSGanfplUi18HpsSVNuEoh5fsvxMepLULSUJn9xl7U+vI/2mTxlUfpp6runFM0WujqhHYadzFjktuGHUh1JIDNTy8FdMZGKAuLGfNZcbEGXMtXiOJ7IJKb8ZyGxy/HYZNpt9CYp/QdW2il+gVeoNS9B4doi/oCI0RRb+jrehZ9Dzux3vxfrzqjaPVzDZaq/jzX/1HzJU=</latexit><latexit sha1_base64="GLl+yg3CGtNS/F25lz4u0coRy7w=">AAACjXicbVFdaxQxFM2MX3WtdlvRF1+CW8GnZaZYlFKlsA/64EMFt1PYWYY7mUw3bL5IMm2XMODf9A/0J/TZzDoPbuuFwOGce3OSc0vNmXVJ8juKHzx89PjJ1tPBs+3nL3aGu3tnVjWG0ClRXJnzEizlTNKpY47Tc20oiJLTrFxOOj27pMYyJX+6laZzAReS1YyAC1Qx/JVrMKW69mkyPiSi9YPc1jUIxld4kEt6RZQQICufTyatzwW4BQHuJ227qWZZr5alzzoxXGuXTH/QbvAdrMNGXR3h/WnhpWzxdSHxZ7wq5H5bDEfJOFkXvg/SHoxQX6fF8DavFGkElY5wsHaWJtrNPRjHCKfBubFUA1nCBZ0FKEFQO/frpFr8LjAVrpUJRzq8Zv+d8CCsXYkydHafsXe1jvyfNmtc/WnumdSNo5L8Naobjp3CXey4YoYSF0KtGBDDwlsxWYAB4sJyNlwWlF9S1+INshRdUOndWO6Ds4Nx2GT6IxmdfOkj20Jv0Fv0HqXoIzpB39ApmiKCbqLt6FX0Ot6JD+PjuO+No37mJdqo+Osf7IfIfw==</latexit>

. . . we know xj for j > k so we can compute xk.<latexit sha1_base64="8A1ufwL237E5gmtTyVcI7F87YUE=">AAACqHicbVHLbtNAFB2bVzGvAEuENKJGIBaRjajKqqqUDcsgkboojsKdybiZeh7WzLhpNPKX8GVs+AzWjJMsSMtdHZ1zn+eSRnDrsuxXFN+5e+/+g4OHyaPHT54+Gzx/cWZ1ayibUC20OSdgmeCKTRx3gp03hoEkghWkHvV6ccWM5Vp9c+uGzSRcKF5xCi5Q88HPsgFD9LXPs+ERlZ1PSltVILlY46RUbEW1lKAWvhyNOl9KcEsKwo+6bl8tip1KiC96MbS1NW8+NS4pF9pZvGK4VnqF0+v5ZYorbXB6eVKn2OpeoqBwaNa0jvUZdTrskvngMBtmm8C3Qb4Dh6ev1e8fCKHxfPAnjKKtZMpRAdZO86xxMw/GcSpYWKq1rAFawwWbBqhAMjvzGxM7/DYwi81elVYOb9h/KzxIa9eShMz+TntT68n/adPWVZ9nnqv+NkW3g6pWYKdx/xG84IZRF/xecKCGh10xXYIB6sLf9qYsmbhirsN7JJFdMCq/acttcPZxGJ6cfw2OnaBtHKBX6A16j3J0jE7RFzRGE0SjKHoXZVEef4jHcRF/36bG0a7mJdqLmPwFOPrTBA==</latexit><latexit sha1_base64="8PigtneAPN2n4Gh10+7avo2ymkI=">AAACqHicbVHLbtNAFB2bR4t5NMASIY2oEYhFZCMqkJCqStmwDFJTF8VRNDMeN1PPSzPjptHIn8AX8Bv8DBs+gzXjJAvScldH59znuVhzZl2W/YriO3fv3d/bf5A8fPT4ycHg6bMzq1pD6IQorsw5RpZyJunEMcfpuTYUCcxpgZtRrxdX1Fim5KlbaToT6EKymhHkAjUf/Cg1Mlhd+zwbHhHR+aS0dY0E4yuYlJIuiRICycqXo1HnS4HcgiDuR123qxbFVsXYF70Y2tqG6Q/aJWWlnIVLChupljC9nl+msFYGppfHTQqt6iWCJAzNdOton9Gkwy6ZDw6zYbYOeBvkW3B48lL+Pv35/fN4PvgTRpFWUOkIR9ZO80y7mUfGMcJpWKq1VCPSoAs6DVAiQe3Mr03s4OvAVOu9aiUdXLP/VngkrF0JHDL7O+1NrSf/p01bV3+aeSb72yTZDKpbDp2C/UdgxQwlLvhdMUQMC7tCskAGERf+tjNlQfkVdR3cIbHoglH5TVtug7P3w/Dk/Gtw7BhsYh+8AK/AW5CDj+AEfAFjMAEkiqI3URbl8bt4HBfxt01qHG1rnoOdiPFfWNnUdA==</latexit><latexit sha1_base64="8PigtneAPN2n4Gh10+7avo2ymkI=">AAACqHicbVHLbtNAFB2bR4t5NMASIY2oEYhFZCMqkJCqStmwDFJTF8VRNDMeN1PPSzPjptHIn8AX8Bv8DBs+gzXjJAvScldH59znuVhzZl2W/YriO3fv3d/bf5A8fPT4ycHg6bMzq1pD6IQorsw5RpZyJunEMcfpuTYUCcxpgZtRrxdX1Fim5KlbaToT6EKymhHkAjUf/Cg1Mlhd+zwbHhHR+aS0dY0E4yuYlJIuiRICycqXo1HnS4HcgiDuR123qxbFVsXYF70Y2tqG6Q/aJWWlnIVLChupljC9nl+msFYGppfHTQqt6iWCJAzNdOton9Gkwy6ZDw6zYbYOeBvkW3B48lL+Pv35/fN4PvgTRpFWUOkIR9ZO80y7mUfGMcJpWKq1VCPSoAs6DVAiQe3Mr03s4OvAVOu9aiUdXLP/VngkrF0JHDL7O+1NrSf/p01bV3+aeSb72yTZDKpbDp2C/UdgxQwlLvhdMUQMC7tCskAGERf+tjNlQfkVdR3cIbHoglH5TVtug7P3w/Dk/Gtw7BhsYh+8AK/AW5CDj+AEfAFjMAEkiqI3URbl8bt4HBfxt01qHG1rnoOdiPFfWNnUdA==</latexit><latexit sha1_base64="D4M1nzOntR6TA9bKz9U3sLx7EiM=">AAACqHicbVHLbtNAFB2bVwmvAEs2I2IEYhHZFQhWVaVsWAaJ1EVxFM2Mr5up52HNjJtGI38JX8aPsGacekFa7uronPs8lzaCW5emv6P43v0HDx8dPR49efrs+Yvxy1dnVreGwYJpoc05JRYEV7Bw3Ak4bwwQSQXktJ71en4FxnKtfrhdAytJLhSvOCMuUOvxr6Ihhuprn6XTz0x2flTYqiKSix0eFQq2TEtJVOmL2azzhSRuw4jws647VPN8UCn1eS+GtrbmzafGjYpSO4u3gGultzi5Xl8muNIGJ5cndYKt7iVGFA7NmtZBn1En0260Hk/SaboPfBdkA5igIebr8Z8wirUSlGOCWLvM0satPDGOMwFhqdZCQ1hNLmAZoCIS7MrvTezwu8CU+70qrRzes/9WeCKt3UkaMvs77W2tJ/+nLVtXfV15rvrbFLsZVLUCO437j+CSG2Au+F1ywgwPu2K2IYYwF/52MGUD4gpchw9IKrtgVHbblrvg7Hganpx9TyenJ4NlR+gNeos+oAx9QafoG5qjBWJRFL2P0iiLP8bzOI9/3qTG0VDzGh1ETP8CMGDQ+w==</latexit>

Again, use a loop to compute x1, x2, . . . , xn<latexit sha1_base64="xrYQOveqpJjOXaum0nXieiEWz9U=">AAACqHicbVFNj9MwEHXC11K+Chw4cLHYRSBUVckKBCe0qBeORaKbRU0VjV2nteov2c7Sysov4ZfxJ/bIGaftge4ykqWn92Y8M2+IEdz5LPudpLdu37l77+h+78HDR4+f9J8+O3e6sZRNqBbaXhBwTHDFJp57wS6MZSCJYAVZjTq9uGTWca2++41hMwkLxWtOwUeq6v8qDVii1yHPhh+obEOvdHUNkosN7pWK/aRaSlDzUI5GbSgl+CUFEUZte6gWxV4lJBSdGL91K27eG98rmTTL8GUBXA1w4xgGLLQ22Gsc603jGT5ZV/lgXZ0Oyrn2LiJ10rZV/zgbZtvAN0G+B8dnL66uMEJoXPX/xHLaSKY8FeDcNM+MnwWwnlPB4lCxuQG6ggWbRqhAMjcLWxNb/Doyc1xrG5/yeMv+WxFAOreRJGZ2e7rrWkf+T5s2vv40C1x1iyq6a1Q3olu/uwiec8uoj37POVDL46yYLsEC9fFuB12WTFwy3+IDksjOqPy6LTfB+ekwHjn/Fh37jHZxhF6iV+gtytFHdIa+ojGaIJokyZskS/L0XTpOi/THLjVN9jXP0UGk5C9B2dTN</latexit><latexit sha1_base64="rA5UIGl7DUvSWmQDCyUksT5We6c=">AAACqHicbVFNj9MwEHXC11I+tsCBAxeLXQRCVZWsQHBAaFEvHItEN4uaKho7TmvVX4qdpZWVX8LP4NfwA7jukTNO2wPdZSRLT+/NeGbeECO4dUnyK4pv3Lx1+87B3d69+w8eHvYfPT6zuqkpm1AtdH1OwDLBFZs47gQ7NzUDSQTLyHLU6dkFqy3X6qtbGzaTMFe84hRcoIr+j9xATfTKp8nwLZWt7+W2qkBysca9XLHvVEsJqvT5aNT6XIJbUBB+1Lb7apbtVEJ81onhW7vk5o1xvZxJs/Cf5sDVADeWYcBCa4OdxqHeNI7h41WRDlbFySAvtbMBqeO2LfpHyTDZBL4O0h04On16eXn44efvcdH/E8ppI5lyVIC10zQxbuahdpwKFoYKzQ3QJczZNEAFktmZ35jY4heBKXGl6/CUwxv23woP0tq1JCGz29Ne1Tryf9q0cdX7meeqW1TRbaOqEd363UVwyWtGXfC75EBrHmbFdAE1UBfuttdlwcQFcy3eI4nsjEqv2nIdnJ0Mw5HTL8Gxj2gbB+gZeo5eoRS9Q6foMxqjCaJRFL2MkiiNX8fjOIu/bVPjaFfzBO1FTP4C2xrWkA==</latexit><latexit sha1_base64="rA5UIGl7DUvSWmQDCyUksT5We6c=">AAACqHicbVFNj9MwEHXC11I+tsCBAxeLXQRCVZWsQHBAaFEvHItEN4uaKho7TmvVX4qdpZWVX8LP4NfwA7jukTNO2wPdZSRLT+/NeGbeECO4dUnyK4pv3Lx1+87B3d69+w8eHvYfPT6zuqkpm1AtdH1OwDLBFZs47gQ7NzUDSQTLyHLU6dkFqy3X6qtbGzaTMFe84hRcoIr+j9xATfTKp8nwLZWt7+W2qkBysca9XLHvVEsJqvT5aNT6XIJbUBB+1Lb7apbtVEJ81onhW7vk5o1xvZxJs/Cf5sDVADeWYcBCa4OdxqHeNI7h41WRDlbFySAvtbMBqeO2LfpHyTDZBL4O0h04On16eXn44efvcdH/E8ppI5lyVIC10zQxbuahdpwKFoYKzQ3QJczZNEAFktmZ35jY4heBKXGl6/CUwxv23woP0tq1JCGz29Ne1Tryf9q0cdX7meeqW1TRbaOqEd363UVwyWtGXfC75EBrHmbFdAE1UBfuttdlwcQFcy3eI4nsjEqv2nIdnJ0Mw5HTL8Gxj2gbB+gZeo5eoRS9Q6foMxqjCaJRFL2MkiiNX8fjOIu/bVPjaFfzBO1FTP4C2xrWkA==</latexit><latexit sha1_base64="sosv7JhDAMOZXZTBnCuebiIFF3g=">AAACqHicbVFNj9MwEHXC11I+tgtHLhZdBEJVlaxAcEKLeuFYJLpZ1FTR2HFaq/5S7Oy2svJL+GX8Ec443RzoLiNZenpvxjPzhhjBrUuS31F87/6Dh4+OHg+ePH32/Hh48uLC6qambE610PUlAcsEV2zuuBPs0tQMJBEsI5tpp2dXrLZcqx9uZ9hSwkrxilNwgSqGv3IDNdFbnyaTj1S2fpDbqgLJxQ4PcsWuqZYSVOnz6bT1uQS3piD8tG0P1SzrVUJ81onhW7vh5oNxg5xJs/ZfV8DVGDeWYcBCa4OdxqHeNI7h022RjrfF2TgvtbMBqdO2LYajZJLsA98FaQ9GqI9ZMfwTymkjmXJUgLWLNDFu6aF2nAoWhgrNDdANrNgiQAWS2aXfm9jiN4EpcaXr8JTDe/bfCg/S2p0kIbPb097WOvJ/2qJx1eel56pbVNGbRlUjuvW7i+CS14y64HfJgdY8zIrpGmqgLtztoMuaiSvmWnxAEtkZld625S64OJuEI6ffk9H5l96yI/QKvUbvUIo+oXP0Dc3QHNEoit5GSZTG7+NZnMU/b1LjqK95iQ4iJn8BylrSeg==</latexit>

9

Matlab translation

function [ x ] = Usolve( U,y )%Usolve: solve Ux = y (for x) where U is upper triangular% note: it is not checked that U is actually upper triangular [yRows,yCols] = size(y); [URows,UCols] = size(U); if URows ~= UCols || yRows ~= URows || yCols ~= 1 error('Either L or b is the wrong size.') end if any( diag(U) == 0 ) error('There are zeros on the diagonal of U') end n = URows; x = y; for k = n:-1:1 % loop downwards from n to 1 for j = k+1:n x(k) = x(k) - U(k,j)*x(j); end x(k) = x(k)/U(k,k); endend

Ux = y<latexit sha1_base64="xL9Nj4uDFdgWqSe4e9tDf/Q2Lew=">AAACe3icbVFNixNBEO2ZXXWNHxv16KUxEUQkzCyuelECuXhcwewsZEKo7unZNOkvunvWDc38CP+bF/+IB0GwJ8nB7FrQ8Hivql/xihjBnc+yn0l6cHjn7r2j+70HDx89Pu4/eXrudGMpm1IttL0g4Jjgik0994JdGMtAEsEKspp0enHFrONaffVrw+YSLhWvOQUfqUVflQYs0dchz0anVLahV7q6BsnFGvdKxb5RLSWoKpSTSRtKCX5JQYRJ2+6rRbFTCQlFJ8Zv3Yqbt8b3hsPpNf6I18Nhu+gPslG2KXwb5DswGL/7fjxGCJ0t+r/KStNGMuWpAOdmeWb8PID1nAoWfRrHDNAVXLJZhAokc/OwyaXFLyNT4Vrb+JTHG/bfiQDSubUksbNb3d3UOvJ/2qzx9Yd54Mo0nim6Naobgb3GXci44pZRHyOsOFDL466YLsEC9fEUey5LJq6Yb/EeSWQXVH4zltvg/GQU75Z/iYl9Qts6Qs/RC/QK5eg9GqPP6AxNEUU/0O/kIDlM/qSD9HX6ZtuaJruZZ2iv0tO/v7nEFA==</latexit><latexit sha1_base64="WEPXnpz00Uvr0PEUxvBJEr1OtB4=">AAACe3icbVFdaxNBFJ3dVq3xo1EffRlMBBEJu8WqL0ogLz5WMN1Cdgmzs3ebIfPFzGxtGPZH+Bv8S774A/wLfSgIziZ5MK0XBg7n3Dvncm6pObMuSX5F8d7+nbv3Du73Hjx89Piw/+TpqVWNoTCliitzVhILnEmYOuY4nGkDRJQcsnI56fTsAoxlSn51Kw2FIOeS1YwSF6h5X+aamFJd+jQZHVPR+l5u65oIxle4l0v4RpUQRFY+n0xanwviFpRwP2nbXTXLtmpZ+qwTw7d2yfRb7XrD4fQSf8Sr4bCd9wfJKFkXvg3SLRiM330/HP/+UZzM+1d5pWgjQDrKibWzNNGu8MQ4RjkEn8aCJnRJzmEWoCQCbOHXubT4ZWAqXCsTnnR4zf474YmwdiXK0Nmtbm9qHfk/bda4+kPhmdSNA0k3RnXDsVO4CxlXzAB1IcKKEWpY2BXTBTGEunCKHZcF8AtwLd4hS9EFld6M5TY4PRqFu6VfQmKf0KYO0HP0Ar1CKXqPxugzOkFTRNFPdB3tRfvRn3gQv47fbFrjaDvzDO1UfPwXjJDF+Q==</latexit><latexit sha1_base64="WEPXnpz00Uvr0PEUxvBJEr1OtB4=">AAACe3icbVFdaxNBFJ3dVq3xo1EffRlMBBEJu8WqL0ogLz5WMN1Cdgmzs3ebIfPFzGxtGPZH+Bv8S774A/wLfSgIziZ5MK0XBg7n3Dvncm6pObMuSX5F8d7+nbv3Du73Hjx89Piw/+TpqVWNoTCliitzVhILnEmYOuY4nGkDRJQcsnI56fTsAoxlSn51Kw2FIOeS1YwSF6h5X+aamFJd+jQZHVPR+l5u65oIxle4l0v4RpUQRFY+n0xanwviFpRwP2nbXTXLtmpZ+qwTw7d2yfRb7XrD4fQSf8Sr4bCd9wfJKFkXvg3SLRiM330/HP/+UZzM+1d5pWgjQDrKibWzNNGu8MQ4RjkEn8aCJnRJzmEWoCQCbOHXubT4ZWAqXCsTnnR4zf474YmwdiXK0Nmtbm9qHfk/bda4+kPhmdSNA0k3RnXDsVO4CxlXzAB1IcKKEWpY2BXTBTGEunCKHZcF8AtwLd4hS9EFld6M5TY4PRqFu6VfQmKf0KYO0HP0Ar1CKXqPxugzOkFTRNFPdB3tRfvRn3gQv47fbFrjaDvzDO1UfPwXjJDF+Q==</latexit><latexit sha1_base64="xJ/pgZpIER6ykvs1cZY6EtWk9Yw=">AAACe3icbVFNaxsxENVu0iZ1v9z2mIuoXSilmN2S0F5aAr7kmEKdDXiNGWm1sbC+kLRpjNh/2Uv/SA+FQrXOHuqkA4LHezN6wxtiBHc+y34m6d7+g4cHh48Gj588ffZ8+OLlhdONpWxGtdD2koBjgis289wLdmksA0kEK8h62unFNbOOa/XNbwxbSLhSvOYUfKSWQ1UasETfhDybnFDZhkHp6hokFxs8KBX7TrWUoKpQTqdtKCX4FQURpm27qxZFrxISik6M37o1N8fGD8bj2Q3+jDfjcbscjrJJti18H+Q9GKG+zpfDX2WlaSOZ8lSAc/M8M34RwHpOBYs+jWMG6Bqu2DxCBZK5Rdjm0uI3kalwrW18yuMt++9EAOncRpLY2a3u7mod+T9t3vj60yJwZRrPFL01qhuBvcZdyLjillEfI6w4UMvjrpiuwAL18RQ7Lismrplv8Q5JZBdUfjeW++DiwyTeLf+ajU6/9JEdoiP0Gr1FOfqITtEZOkczRNEP9DvZS/aTP+kofZe+v21Nk37mFdqp9OQvwSDCvg==</latexit>

xk = yk �nX

j=k+1

Ukjxj

<latexit sha1_base64="c54RCT31Mrx45+Z2zALXYg3OMZk=">AAACnXicbVFdaxQxFM2MX3X92uqjgsFuRZAuM2LRl0phEfogUsHtFHbWMZPJdLOTL5JM7RLyC3zxJ/k3/CN9NrO7D27rhYTDOffm3pxbKkaNTZI/UXzj5q3bd7bu9u7df/DwUX/78YmRrcZkjCWT+rREhjAqyNhSy8ip0gTxkpGsbEadnp0TbagUX+1CkSlHZ4LWFCMbqKL/K1dIl/LCpclwH3Pvermpa8QpW8BeLsgPLDlHonL5aORdzpGdYcTcyPtNNcvWalm6rBPDs6ah6q2yvcEAXhQNPICLcO/B3LS8cPOD5nXqvznh4bhwzdyHnPlg4Iv+TjJMlgGvg3QNdg6Pfv/8DgA4LvqXeSVxy4mwmCFjJmmi7NQhbSlmJEzSGqIQbtAZmQQoECdm6pbOebgbmArWUocjLFyy/1Y4xI1Z8DJkdp8zV7WO/J82aW39fuqoUK0lAq8a1S2DVsJuDbCimmAbTK4owpqGWSGeIY2wDcva6DIj7JxYDzfIkndGpVdtuQ5O3gzDZtMvwbEPYBVb4Cl4AV6BFLwDh+AIHIMxwOAyehbtRi/j5/HH+FP8eZUaR+uaJ2Aj4uwv30XQTw==</latexit><latexit sha1_base64="ZLdsl26C4u77JzH6sof76ZgWa/w=">AAACnXicbVFdaxQxFM2MX3X9WvVRwWC3IkiXGVH0pVJYhD6IVHA7hZ11yGQy3ezkiyTTdgn5Bb74j/Rv+D+kz2Z298FtvZBwOOfe3JtzS8WosUnyO4qvXb9x89bW7d6du/fuP+g/fHRkZKsxGWPJpD4ukSGMCjK21DJyrDRBvGQkK5tRp2enRBsqxVe7UGTK0YmgNcXIBqro/8gV0qU8d2kyfIu5d73c1DXilC1gLxfkDEvOkahcPhp5l3NkZxgxN/J+U82ytVqWLuvE8KxpqHqjbG8wgOdFA/fgIty7MDctL9x8r3mV+m9OeDguXDP3IWc+GPiiv50Mk2XAqyBdg+39g1/f859/zg6L/kVeSdxyIixmyJhJmig7dUhbihkJk7SGKIQbdEImAQrEiZm6pXMe7gSmgrXU4QgLl+y/FQ5xYxa8DJnd58xlrSP/p01aW7+fOipUa4nAq0Z1y6CVsFsDrKgm2AaTK4qwpmFWiGdII2zDsja6zAg7JdbDDbLknVHpZVuugqPXw7DZ9Etw7ANYxRZ4Ap6DlyAF78A+OACHYAwwuIieRjvRi/hZ/DH+FH9epcbRuuYx2Ig4+wsL3dJ1</latexit><latexit sha1_base64="ZLdsl26C4u77JzH6sof76ZgWa/w=">AAACnXicbVFdaxQxFM2MX3X9WvVRwWC3IkiXGVH0pVJYhD6IVHA7hZ11yGQy3ezkiyTTdgn5Bb74j/Rv+D+kz2Z298FtvZBwOOfe3JtzS8WosUnyO4qvXb9x89bW7d6du/fuP+g/fHRkZKsxGWPJpD4ukSGMCjK21DJyrDRBvGQkK5tRp2enRBsqxVe7UGTK0YmgNcXIBqro/8gV0qU8d2kyfIu5d73c1DXilC1gLxfkDEvOkahcPhp5l3NkZxgxN/J+U82ytVqWLuvE8KxpqHqjbG8wgOdFA/fgIty7MDctL9x8r3mV+m9OeDguXDP3IWc+GPiiv50Mk2XAqyBdg+39g1/f859/zg6L/kVeSdxyIixmyJhJmig7dUhbihkJk7SGKIQbdEImAQrEiZm6pXMe7gSmgrXU4QgLl+y/FQ5xYxa8DJnd58xlrSP/p01aW7+fOipUa4nAq0Z1y6CVsFsDrKgm2AaTK4qwpmFWiGdII2zDsja6zAg7JdbDDbLknVHpZVuugqPXw7DZ9Etw7ANYxRZ4Ap6DlyAF78A+OACHYAwwuIieRjvRi/hZ/DH+FH9epcbRuuYx2Ig4+wsL3dJ1</latexit><latexit sha1_base64="HGx4jNn8qIbmmJeAT22nPBPanYc=">AAACnXicbVFdaxQxFM2MX3X92uqjgsHdiiBdZsSiL5XCIvggUsHtFHbWIclkutlJMiHJ1C4h/8G/5x/ps5ntPLitFxIO59ybe3MuVpwZmyR/ovjW7Tt37+3cHzx4+Ojxk+Hu0xPTtJrQGWl4o08xMpQzSWeWWU5PlaZIYE4zXE87PTun2rBG/rBrRRcCnUlWMYJsoIrh71whjZsLlyaTAyK8G+SmqpBgfA0HuaS/SCMEkqXLp1PvcoHskiDupt5vq1nWqxi7rBPDs6Zm6r2yg/EYXhQ1PITrcO/D3LSicKvD+m3qfzrp4axw9cqHnNV47IvhKJkkm4A3QdqDEejjuBhe5mVDWkGlJRwZM08TZRcOacsIp2GS1lCFSI3O6DxAiQQ1C7dxzsO9wJSwanQ40sIN+2+FQ8KYtcAhs/ucua515P+0eWurjwvHpGotleSqUdVyaBvYrQGWTFNig8klQ0SzMCskS6QRsWFZW12WlJ9T6+EWiUVnVHrdlpvg5N0kbDb9noyOPvWW7YDn4BV4A1LwARyBL+AYzAABl9GLaC96Hb+MP8df429XqXHU1zwDWxFnfwGXgc4c</latexit>

Example: Usolve.m 10

Combining ingredients

LUx = b<latexit sha1_base64="AnUpPDGRz94R2OEN0pLuAoxdwsU=">AAACfHicbVHLihNBFK1uZ3SMr6hLN4XTgiCGbt8bZSAbFy5GMNMD6RCrqm9PitSLqupxQtG/4x+58EfcCGJ1koWZ8ULB4Zx761zOpUZw5/P8Z5Je29u/fuPg5uDW7Tt37w3vPzhxurUMJkwLbU8pcSC4gonnXsCpsUAkFVDS5bjXy3Owjmv1xa8MzCQ5U7zhjPhIzYe6MsRSfRGKfPSayS4MKtc0RHKxwoNKwTempSSqDtV43IVKEr9gRIRx1+2qZblVKQ1lL8Zv3ZKbV8YPsuzT5AK/xzTLuvnwMB/l68JXQbEFh0cvvzdfEULH8+GvqtaslaA8E8S5aZEbPwvEes4ERKPWgSFsSc5gGqEiEtwsrIPp8JPI1LjRNj7l8Zr9dyIQ6dxK0tjZ7+4uaz35P23a+ubdLHBlWg+KbYyaVmCvcZ8yrrkF5mOGNSfM8rgrZgtiCfPxFjsuCxDn4Du8Q1LZB1VcjuUqOHkxiocrPsfEPqBNHaBH6DF6igr0Fh2hj+gYTRBDP9DvZC/ZT/6kWfosfb5pTZPtzEO0U+mbvzHpxNw=</latexit><latexit sha1_base64="zNmMcuKk3gwVfE4bLtJYqdAPEIY=">AAACfHicbVHLihNBFK1uZ3SMr6hLN4XTgiCG7vG5UQayceFiBDM9kA6hqvr2pEi9qKoeJxT9O/6RC3/EjSBWJ1mYGQ8UHM65t+7lXGoEdz7Pfybpjb39m7cObg/u3L13/8Hw4aNTp1vLYMK00PaMEgeCK5h47gWcGQtEUgElXY57v7wA67hWX/3KwEySc8UbzoiP0nyoK0Ms1ZehyEdvmOzCoHJNQyQXKzyoFHxjWkqi6lCNx12oJPELRkQYd92uW5Zbl9JQ9mb81i25eW38IMs+Ty7xB0yzrJsPD/NRvga+TootOTx+9b3pcTIf/qpqzVoJyjNBnJsWufGzQKznTEAc1DowhC3JOUwjVUSCm4V1MB1+FpUaN9rGpzxeq/92BCKdW0kaK/vd3VWvF//nTVvfvJ8FrkzrQbHNoKYV2Gvcp4xrboH5mGHNCbM87orZgljCfLzFzpQFiAvwHd4RqeyDKq7Gcp2cHo3i4YovMbGPaIMD9AQ9Rc9Rgd6hY/QJnaAJYugH+p3sJfvJnzRLX6QvN6Vpsu15jHaQvv0L/rTGFA==</latexit><latexit sha1_base64="zNmMcuKk3gwVfE4bLtJYqdAPEIY=">AAACfHicbVHLihNBFK1uZ3SMr6hLN4XTgiCG7vG5UQayceFiBDM9kA6hqvr2pEi9qKoeJxT9O/6RC3/EjSBWJ1mYGQ8UHM65t+7lXGoEdz7Pfybpjb39m7cObg/u3L13/8Hw4aNTp1vLYMK00PaMEgeCK5h47gWcGQtEUgElXY57v7wA67hWX/3KwEySc8UbzoiP0nyoK0Ms1ZehyEdvmOzCoHJNQyQXKzyoFHxjWkqi6lCNx12oJPELRkQYd92uW5Zbl9JQ9mb81i25eW38IMs+Ty7xB0yzrJsPD/NRvga+TootOTx+9b3pcTIf/qpqzVoJyjNBnJsWufGzQKznTEAc1DowhC3JOUwjVUSCm4V1MB1+FpUaN9rGpzxeq/92BCKdW0kaK/vd3VWvF//nTVvfvJ8FrkzrQbHNoKYV2Gvcp4xrboH5mGHNCbM87orZgljCfLzFzpQFiAvwHd4RqeyDKq7Gcp2cHo3i4YovMbGPaIMD9AQ9Rc9Rgd6hY/QJnaAJYugH+p3sJfvJnzRLX6QvN6Vpsu15jHaQvv0L/rTGFA==</latexit><latexit sha1_base64="p2BU+QYntxzb7ZHokZzmelKkvf4=">AAACfHicbVFNa9wwEJXdpE23X9v22IvoulAoXezQJrkkBPbSQw8pdOPAelkkeZwVqw8jyWkW4Z+ZQ/9IL4VSeeNDN+mA4PHejN7whtaCW5emP6P4wc7uw0d7jwdPnj57/mL48tW51Y1hMGVaaHNBiQXBFUwddwIuagNEUgE5XU06Pb8CY7lW3926hrkkl4pXnBEXqMVQFzUxVF/7LB1/ZrL1g8JWFZFcrPGgUPCDaSmJKn0xmbS+kMQtGRF+0rbbap73KqU+78TwrV3x+lPtBknydXqNjzFNknYxHKXjdFP4Psh6MEJ9nS2Gv4pSs0aCckwQa2dZWru5J8ZxJiAYNRZqwlbkEmYBKiLBzv0mmBa/C0yJK23CUw5v2H8nPJHWriUNnd3u9q7Wkf/TZo2rjuaeq7pxoNitUdUI7DTuUsYlN8BcyLDkhBkedsVsSQxhLtxiy2UJ4gpci7dIKrugsrux3Afn++NwuOxbOjo96SPbQ2/QW/QeZegQnaIv6AxNEUM36He0E+1Gf+Ik/hB/vG2No37mNdqq+OAvZ23C/Q==</latexit>

Write y = Ux so x = U�1y and y = L�1b<latexit sha1_base64="ydccOR5yZxC55trd5Fxmfjb0c5Y=">AAACnHicbVFbb9MwGHXCZaNcVrbHSmCxTOKFKkFM7GXTpPKABEhDIs1QUyrbcVarvkS2MxpZ+Q38Pt74E/CM0/aBbnySpeNzvot9PlxxZmwc/wzCO3fv3d/ZfdB7+Ojxk73+0/2xUbUmNCWKK32JkaGcSZpaZjm9rDRFAnOa4cWo07Nrqg1T8ottKjoV6EqykhFkPTXr/8grpLFauiQeHhPRul5uyhIJxhvYyyX9TpQQSBYuH41alwtk5wRxN2rbbTXLNirGLutE39YsWPWmsr1MM0th1JymywgaBaPlafrNvUraJoK+uFM+ru44amf9w3gYrwLeBskGHJ4/H3z9BQC4mPX/5IUitaDSEo6MmSRxZacOacsIp/4htaEVIgt0RSceSiSombqVcS088kwBS6X9kRau2H8rHBLGNAL7zO5v5qbWkf/TJrUtT6aOyaq2VJL1oLLm0CrYbQEWTFNivccFQ8Tbwwgkc6QRsX5XW1PmlF9T28ItEovOqOSmLbfB+PXQLzb57B07A+vYBQPwArwECXgLzsF7cAFSQMDvYBBEwVH4LHwXfgg/rVPDYFNzALYiHP8FPb3O1A==</latexit><latexit sha1_base64="iOlVn4PBFwwHABHbq55Fiz+GvsI=">AAACnHicbVHLjtMwFHXCY2bKq8CyElhMRmJDlaBBsBk0UlkgAdIgkWZQUyrbcaZW/YhsZ2hk5RvY8T/zGSxY8wWwxmm7oDNcydLxOfdhn4srzoyN4x9BeO36jZs7u3u9W7fv3L3Xv/9gbFStCU2J4kqfYmQoZ5KmlllOTytNkcCcZngx6vTsnGrDlPxkm4pOBTqTrGQEWU/N+t/yCmmsli6Jhy+IaF0vN2WJBOMN7OWSfiVKCCQLl49GrcsFsnOCuBu17baaZRsVY5d1om9rFqw6rGwv08xSGDVH6TKCRsFoeZR+cc+StomgL+6U96s7jtpZfz8exquAV0GyAfvHjweff178+n4y6//JC0VqQaUlHBkzSeLKTh3SlhFO/UNqQytEFuiMTjyUSFAzdSvjWnjgmQKWSvsjLVyx/1Y4JIxpBPaZ3d/MZa0j/6dNalu+mjomq9pSSdaDyppDq2C3BVgwTYn1HhcMEW8PI5DMkUbE+l1tTZlTfk5tC7dILDqjksu2XAXj50O/2OSjd+w1WMcuGIAn4ClIwEtwDN6CE5ACAn4HgyAKDsJH4ZvwXfhhnRoGm5qHYCvC8V+JLdEP</latexit><latexit sha1_base64="iOlVn4PBFwwHABHbq55Fiz+GvsI=">AAACnHicbVHLjtMwFHXCY2bKq8CyElhMRmJDlaBBsBk0UlkgAdIgkWZQUyrbcaZW/YhsZ2hk5RvY8T/zGSxY8wWwxmm7oDNcydLxOfdhn4srzoyN4x9BeO36jZs7u3u9W7fv3L3Xv/9gbFStCU2J4kqfYmQoZ5KmlllOTytNkcCcZngx6vTsnGrDlPxkm4pOBTqTrGQEWU/N+t/yCmmsli6Jhy+IaF0vN2WJBOMN7OWSfiVKCCQLl49GrcsFsnOCuBu17baaZRsVY5d1om9rFqw6rGwv08xSGDVH6TKCRsFoeZR+cc+StomgL+6U96s7jtpZfz8exquAV0GyAfvHjweff178+n4y6//JC0VqQaUlHBkzSeLKTh3SlhFO/UNqQytEFuiMTjyUSFAzdSvjWnjgmQKWSvsjLVyx/1Y4JIxpBPaZ3d/MZa0j/6dNalu+mjomq9pSSdaDyppDq2C3BVgwTYn1HhcMEW8PI5DMkUbE+l1tTZlTfk5tC7dILDqjksu2XAXj50O/2OSjd+w1WMcuGIAn4ClIwEtwDN6CE5ACAn4HgyAKDsJH4ZvwXfhhnRoGm5qHYCvC8V+JLdEP</latexit><latexit sha1_base64="+2ZIKXtC7J62giGytGp4OXlPmQQ=">AAACnHicbVFbi9QwGE3rbR1voz4uSHC64ItDK4q+rCyMD4IKK9jpwnQckjTdCZMbSbpOCf0N/j5/iD6bzvbB2fWDwMk53yU5H9acWZemv6L4xs1bt+8c3B3du//g4aPx4ydzqxpDaE4UV+YMI0s5kzR3zHF6pg1FAnNa4M2s14sLaixT8ptrNV0KdC5ZzQhygVqNf5YaGay2Pkunb4jo/Ki0dY0E4y0clZL+IEoIJCtfzmadLwVya4K4n3XdvloUg4qxL3oxtLUbpl9rNyoMcxQm7XG+TaBVMNke59/9y6xrExiKe+Xz7o6TbjWepNN0F/A6yAYwAUOcrsZ/ykqRRlDpCEfWLrJUu6VHxjHCaXhIY6lGZIPO6SJAiQS1S78zroNHgalgrUw40sEd+2+FR8LaVuCQ2f/NXtV68n/aonH1u6VnUjeOSnI5qG44dAr2W4AVM5S44HHFEAn2MALJGhlEXNjV3pQ15RfUdXCPxKI3Krtqy3UwfzUNi82+ppOT94NlB+AQPAcvQAbeghPwEZyCHBDwOzqMkugofhZ/iD/FXy5T42ioeQr2Ip7/BbXwzSE=</latexit>

. . . this is the “philosophy of structured programming”

. . . break the task into functions and write each one separately, thenstick them together at the end

<latexit sha1_base64="VEPjuqx77rzQrn7G5Ru+1XPr1Fg=">AAADF3icbVJLixNBEO4ZX7vxldWjl8ZF1oOEiSh6koUc9LiC2SxkQranpybTpF901+wahvkbgif9J3oSrx49+De8CfZMcjC7FjRd1NdfPb6uzErhMUl+RvGVq9eu39jZ7d28dfvO3f7evWNvKsdhzI007iRjHqTQMEaBEk6sA6YyCZNsOWrxyRk4L4x+hysLM8UWWhSCMwyh+V60m1rmMvO+HiaD51w1dS/1RcGUkCvaSzWcc6MU03mdjkZNnSqGJWeyHjXNNjqZbNAsqyctGNL6pbDPLPbS3KCnWApPRXsDPT21pZDGG1uuqCmoR1dxrBzk1DqzcEwpoRcHB22WDT0LYy07MjK/pEKjoUWleTuHp6EHeu4EAgXGS2o0UA+BzBDk6klL06GI4F0GRdEsIDiOMuxSgs6beX8/GSSd0cvOcOPsH77+8+srIeRo3v8dOuOVAo1cMu+nw8TirGYu1JEQJKjaFviSLWAaXM0U+Fnd/VlDH4VITgvjwtFIu+i/jJop71cqCy9bVf1FrA3+D5tWWLyc1ULbCkHzdaGikmFk2i4AzYUDjuF3c8F4UExwyssgFMewJltVSpBngA3dCmaqFWp4UZbLzvHTQVip4dug2Cuyth3ygDwkj8mQvCCH5A05ImPCIxt9iD5Fn+OP8Zf4W/x9/TSONpz7ZMviH38B+aoC2A==</latexit><latexit sha1_base64="azuelgNwZrySd07mgapu40Z8+J4=">AAADF3icbVI7bxNBEN47Xol5OVDSrIhQKFB0RiCoUCQXUAYJx5F8lrO3N+dbeV/anUuwTvc3IlHBP0E0iJaSgpp/QIfE3tkFThhptaP59pvHt5NZKTwmyY8ovnL12vUbW9u9m7du37nb37l35E3lOIy4kcYdZ8yDFBpGKFDCsXXAVCZhnC2GLT4+BeeF0e9waWGq2FyLQnCGITTbibZTy1xm3teDZP85V03dS31RMCXkkvZSDWfcKMV0XqfDYVOnimHJmayHTbOJjsdrNMvqcQuGtH4h7DOLvTQ36CmWwlPR3kBPTmwppPHGlktqCurRVRwrBzm1zswdU0ro+d5em2VNz8JYi46MzC+o0GhoUWnezuFp6IGeOYFAgfGSGg3UQyAzBLl80tJ0KCJ4l0FRNHMIjqMMu5Sg82bW3032k87oZWewdnYPXv/5+eXXeXM46/8OnfFKgUYumfeTQWJxWjMX6kgIElRtC3zB5jAJrmYK/LTu/qyhj0Ikp4Vx4WikXfRfRs2U90uVhZetqv4i1gb/h00qLF5Oa6FthaD5qlBRyTAybReA5sIBx/C7uWA8KCY45WUQimNYk40qJchTwIZuBDPVCjW4KMtl5+jpflipwdug2Cuysi3ygDwkj8mAvCAH5A05JCPCIxudRx+jT/GH+HP8Nf62ehpHa859smHx97/m4QTT</latexit><latexit sha1_base64="azuelgNwZrySd07mgapu40Z8+J4=">AAADF3icbVI7bxNBEN47Xol5OVDSrIhQKFB0RiCoUCQXUAYJx5F8lrO3N+dbeV/anUuwTvc3IlHBP0E0iJaSgpp/QIfE3tkFThhptaP59pvHt5NZKTwmyY8ovnL12vUbW9u9m7du37nb37l35E3lOIy4kcYdZ8yDFBpGKFDCsXXAVCZhnC2GLT4+BeeF0e9waWGq2FyLQnCGITTbibZTy1xm3teDZP85V03dS31RMCXkkvZSDWfcKMV0XqfDYVOnimHJmayHTbOJjsdrNMvqcQuGtH4h7DOLvTQ36CmWwlPR3kBPTmwppPHGlktqCurRVRwrBzm1zswdU0ro+d5em2VNz8JYi46MzC+o0GhoUWnezuFp6IGeOYFAgfGSGg3UQyAzBLl80tJ0KCJ4l0FRNHMIjqMMu5Sg82bW3032k87oZWewdnYPXv/5+eXXeXM46/8OnfFKgUYumfeTQWJxWjMX6kgIElRtC3zB5jAJrmYK/LTu/qyhj0Ikp4Vx4WikXfRfRs2U90uVhZetqv4i1gb/h00qLF5Oa6FthaD5qlBRyTAybReA5sIBx/C7uWA8KCY45WUQimNYk40qJchTwIZuBDPVCjW4KMtl5+jpflipwdug2Cuysi3ygDwkj8mAvCAH5A05JCPCIxudRx+jT/GH+HP8Nf62ehpHa859smHx97/m4QTT</latexit><latexit sha1_base64="J1iSeEeOSzrDOm0Z+GIi3VBjYqI=">AAADF3icbVJLb9NAEF6bVxteKRy5rIhQOaDIQSA4oUq5cCwSaSrFUbpej+NV9qXdcUtk+W8gcYJ/wg1x5cgf4cza9YG0jLTa0Xz7zePbyawUHpPkdxTfuHnr9p29/cHde/cfPBwePDrxpnIcZtxI404z5kEKDTMUKOHUOmAqkzDPNtMWn5+D88Loj7i1sFRsrUUhOMMQWh1E+6llLjOf6kkyfs1VUw9SXxRMCbmlg1TDBTdKMZ3X6XTa1KliWHIm62nT7KLzeY9mWT1vwZDWb4R9ZXGQ5gY9xVJ4Ktob6NmZLYU03thyS01BPbqKY+Ugp9aZtWNKCb0+PGyz9PQsjLXpyMj8hgqNhhaV5u0cnoYe6IUTCBQYL6nRQD0EMkOQ2xctTYcigncZFEWzhuA4yrBLCTpvVsNRMk46o9edSe+MSG/Hq+Gf0BmvFGjkknm/mCQWlzVzoY6EIEHVtsA3bA2L4GqmwC/r7s8a+ixEcloYF45G2kX/ZdRMeb9VWXjZquqvYm3wf9iiwuLtshbaVgiaXxYqKhlGpu0C0Fw44Bh+NxeMB8UEp7wMQnEMa7JTpQR5DtjQnWCmWqEmV2W57py8HIeVmnxIRkfvesn2yBPylDwnE/KGHJH35JjMCI9s9Dn6Gn2Lv8Tf4x/xz8uncdRzHpMdi3/9BU/G/6g=</latexit>

We will see later how to improve our Lsolve and Usolve functions,but the first job is usually to get something simple that works

<latexit sha1_base64="W75IO55kO8qjSnZiwwX0zlWOYy0=">AAAC/nicbVJLixNBEO4ZX2t8RT16KVwEDxJmRFlPspCLBw8rmJ2FTAg9nZpMm+7pobsmMQwDe9J/4k28Cv4Sf4YXL17sSXIwuxY0FN9Xz686q5R0FEU/g/DK1WvXbxzc7N26fefuvf79B6fO1FbgSBhl7FnGHSpZ4ogkKTyrLHKdKUyyxbDjkyVaJ035ntYVTjSflzKXgpOHpv1facVtZj42cTR4KXTb9FKX51xLtYZeWuJKGK15OWvS4bBtUs2pEFw1w7bdZ5Nkx2ZZk3SkL+sWsnpRUS9BWEmlwCGC4oQWCrMCMiB1Zc0SwS8DTUoEb51RS2zBl9wCox2Q16XoBnbPIKsJqEDIpXUEH0wG0kHtaq78yL7oHAmc0UiFLOfgfA+FPoETrIxduHbaP4wG0cbgshPvnMPjoz8/zhljJ9P+73RmRK2xJKG4c+M4qmjScEtSKPSr1g4rLhZ8jmPvllyjmzSb07TwxCMzyI31ryTYoP9mNFw7t9aZj+zUcxe5DvwfN64pfzVpZFnVhKXYNspr1SnQ3Rlm0qIgL8lMcmGlnxVEwS0XXv/9LgV6iamFPTDTnVDxRVkuO6fPB/7rxO+8Yq/Z1g7YI/aYPWUxO2LH7A07YSMmgiRog0/B5/A8/BJ+Db9tQ8Ngl/OQ7Vn4/S9q1fmK</latexit><latexit sha1_base64="9NerGUB2N8q+FE0Y8gbN3HWdjmc=">AAAC/nicbVJLixNBEJ4ZX2t8RT16KVwED0uYyMp6koVcPHhYwewsZELo6dRk2vRj6K5JDMOAIOg/8SZeBX+EZ3+GF0G82JPkYHYtaCi+r55fdVZK4SiOf4TRpctXrl7bu965cfPW7Tvdu/dOnaksxyE30tizjDmUQuOQBEk8Ky0ylUlMsvmg5ZMFWieMfk2rEseKzbTIBWfkoUn3Z1oym5m3dT/uPeWqqTupy3OmhFxBJ9W45EYppqd1Ohg0daoYFZzJetA0u2ySbNksq5OW9GXdXJSHJXUShKWQEhwiSEZooTBLIANCldYsEPwyUKdE8NIZucAGfMkNMNwCeaV5O7A7gKwioAIhF9YRvDEZCAeVq5j0I/uiMyRwRiEVQs/A+R4SfQIjWBo7d82kux/34rXBRae/dfaPj/58e//94PfJpPsrnRpeKdTEJXNu1I9LGtfMkuAS/aqVw5LxOZvhyLuaKXTjen2aBh55ZAq5sf5pgjX6b0bNlHMrlfnIVj13nmvB/3GjivJn41rosiLUfNMor2SrQHtnmAqLnLwkU8G4FX5W4AWzjHv9d7sU6CWmBnbATLVC9c/LctE5fdLzX6f/yiv2PNjYXvAgeBg8DvrBUXAcvAhOgmHAwyRswg/hx+hd9Cn6HH3ZhEbhNud+sGPR179RlPuB</latexit><latexit sha1_base64="9NerGUB2N8q+FE0Y8gbN3HWdjmc=">AAAC/nicbVJLixNBEJ4ZX2t8RT16KVwED0uYyMp6koVcPHhYwewsZELo6dRk2vRj6K5JDMOAIOg/8SZeBX+EZ3+GF0G82JPkYHYtaCi+r55fdVZK4SiOf4TRpctXrl7bu965cfPW7Tvdu/dOnaksxyE30tizjDmUQuOQBEk8Ky0ylUlMsvmg5ZMFWieMfk2rEseKzbTIBWfkoUn3Z1oym5m3dT/uPeWqqTupy3OmhFxBJ9W45EYppqd1Ohg0daoYFZzJetA0u2ySbNksq5OW9GXdXJSHJXUShKWQEhwiSEZooTBLIANCldYsEPwyUKdE8NIZucAGfMkNMNwCeaV5O7A7gKwioAIhF9YRvDEZCAeVq5j0I/uiMyRwRiEVQs/A+R4SfQIjWBo7d82kux/34rXBRae/dfaPj/58e//94PfJpPsrnRpeKdTEJXNu1I9LGtfMkuAS/aqVw5LxOZvhyLuaKXTjen2aBh55ZAq5sf5pgjX6b0bNlHMrlfnIVj13nmvB/3GjivJn41rosiLUfNMor2SrQHtnmAqLnLwkU8G4FX5W4AWzjHv9d7sU6CWmBnbATLVC9c/LctE5fdLzX6f/yiv2PNjYXvAgeBg8DvrBUXAcvAhOgmHAwyRswg/hx+hd9Cn6HH3ZhEbhNud+sGPR179RlPuB</latexit><latexit sha1_base64="zujo/xnaoLr1256f2hrDtl7DdUU=">AAAC/nicbVI7j9NAELbN6wivACXNiAiJAkU2AkGFTkpDQXFI5HzSOYrWm3G8ZB/W7jghsixRwT+hQ7T8FX4GDTXrxAW5Y6SVRt83z282r6RwFMe/wujK1WvXbxzdHNy6fefuveH9B6fO1JbjlBtp7FnOHEqhcUqCJJ5VFpnKJab5atLx6RqtE0Z/oG2FM8WWWhSCM/LQfPg7q5jNzacmiccvuWqbQeaKgikhtzDING64UYrpRZNNJm2TKUYlZ7KZtO0hm6Y9m+dN2pG+rFuJ6kVFgxRhI6QEhwiSEVoozQbIgFCVNWsEvww0GRG8c0ausQVfcg9Me6CoNe8Gds8grwmoRCiEdQQfTQ7CQe1qJv3IvugSCZxRSKXQS3C+h0SfwAg2xq5cOx+O4nG8M7jsJL0zCno7mQ//ZAvDa4WauGTOnSdxRbOGWRJcol+1dlgxvmJLPPeuZgrdrNmdpoUnHllAYax/mmCH/pvRMOXcVuU+slPPXeQ68H/ceU3F61kjdFUTar5vVNSyU6C7MyyERU5ekoVg3Ao/K/CSWca9/oddSvQSUwsHYK46oZKLslx2Tp+P/ddJ3sej4ze9ZEfBo+Bx8DRIglfBcfA2OAmmAQ/TsA2/hF+jz9G36Hv0Yx8ahX3Ow+DAop9/AW139t0=</latexit>

function [ x ] = LUsolve( L,U,b )%LUsolve: solve LUx=b where U is upper triag and L is lower triag y = Lsolve(L,b); x = Usolve(U,y);end

. . . we have done the hard part so this is easy now(!). . .<latexit sha1_base64="KRUMiQq1FmV/Vj3FXVIH/qgFh/I=">AAACrXicbVFNb9NAEF0bKCV8BTgioYUKqUgotREFTqhSLhyLROpKcYjW63Gyyn7Ju06IVv4hvfVv8Uc4M05yIC2jXWn2vZmdmTeFlcL5JPkdxXfu3ju4f/ig9/DR4ydP+8+eXzjT1BxG3EhTXxbMgRQaRl54CZe2BqYKCVmxGHZ8toTaCaN/+LWFiWIzLSrBmUdo2r/OLasL8yukyeCUqzb0cldVTAm5pr1cw4obpZguQz4ctiFXzM85k2HYtvtslu3YoghZR+K3biHsR+t7eWm8oyugc7YEWhoN1M+7V11SDPPUGQSEo3iAuTXVZnX8+t0mrZ32j5JBsjF620l3ztHZq6ura0LI+bT/BxN5o0B7Lplz4zSxfhKwjuASsLPGgWV8wWYwRlczBW4SNkq29C0iJa1MjVd7ukH/zQhMObdWBUZ2w7qbXAf+jxs3vvoyCULbxoPm20JVI6nH0XEttBQ1cI+il4LxWmCvlKNAjHtc3l6VOcgl+JbugYXqhEpvynLbufgwwE2n31Gxr2Rrh+QleUOOSUo+kzPyjZyTEeHRQfQ+Oo0+xSfxKM7jn9vQONrlvCB7Fs/+AiNx1sk=</latexit><latexit sha1_base64="kzGxKun1cL6zT9qYmtnAetAoRrs=">AAACrXicbVFNj9MwEHUCLEv56sIRCRlWSIuESoJ2gRNaqReOi0Q3KzWlcpxJa9Ufke20VFZ+CJz4W/wRzkzaHuguI1savzfjmXlT1FI4nyS/o/jW7TsHdw/v9e4/ePjocf/oyaUzjeUw4kYae1UwB1JoGHnhJVzVFpgqJGTFYtjx2RKsE0Z/9esaJorNtKgEZx6haf9XXjNbmO8hTQZnXLWhl7uqYkrINe3lGlbcKMV0GfLhsA25Yn7OmQzDtt1ns2zHFkXIOhK/dQtRn9a+l5fGO7oCOmdLoKXRQP28e9mSYpinziAgHMUDzK2pNquTF683ae20f5wMko3Rm066c47Pn//o7OfFtP8HE3mjQHsumXPjNKn9JGAdwSVgZ42DmvEFm8EYXc0UuEnYKNnSV4iUtDIWr/Z0g/6bEZhybq0KjOyGdde5DvwfN2589XEShK4bD5pvC1WNpB5Hx7XQUljgHkUvBeNWYK+Uo0CMe1zeXpU5yCX4lu6BheqESq/LctO5fDfATadfULFPZGuH5Bl5SU5ISj6Qc/KZXJAR4dFB9CY6i97Hb+NRnMfftqFxtMt5SvYsnv0FwGLYjg==</latexit><latexit sha1_base64="kzGxKun1cL6zT9qYmtnAetAoRrs=">AAACrXicbVFNj9MwEHUCLEv56sIRCRlWSIuESoJ2gRNaqReOi0Q3KzWlcpxJa9Ufke20VFZ+CJz4W/wRzkzaHuguI1savzfjmXlT1FI4nyS/o/jW7TsHdw/v9e4/ePjocf/oyaUzjeUw4kYae1UwB1JoGHnhJVzVFpgqJGTFYtjx2RKsE0Z/9esaJorNtKgEZx6haf9XXjNbmO8hTQZnXLWhl7uqYkrINe3lGlbcKMV0GfLhsA25Yn7OmQzDtt1ns2zHFkXIOhK/dQtRn9a+l5fGO7oCOmdLoKXRQP28e9mSYpinziAgHMUDzK2pNquTF683ae20f5wMko3Rm066c47Pn//o7OfFtP8HE3mjQHsumXPjNKn9JGAdwSVgZ42DmvEFm8EYXc0UuEnYKNnSV4iUtDIWr/Z0g/6bEZhybq0KjOyGdde5DvwfN2589XEShK4bD5pvC1WNpB5Hx7XQUljgHkUvBeNWYK+Uo0CMe1zeXpU5yCX4lu6BheqESq/LctO5fDfATadfULFPZGuH5Bl5SU5ISj6Qc/KZXJAR4dFB9CY6i97Hb+NRnMfftqFxtMt5SvYsnv0FwGLYjg==</latexit><latexit sha1_base64="e1qSt+sPWTin0E8sZyMFcBSgk+4=">AAACrXicbVFNj9MwEHUCLEv52AJHLoYKaZFQSRALnNBKvXBcJLpZqSmV40xaq/6I7ElLZeW/8Lf4I5xxujnQXUa2NH5vxjPzpqilcJgkv6P4zt17R/ePHwwePnr85GT49NmlM43lMOVGGntVMAdSaJiiQAlXtQWmCglZsZ50fLYB64TR33FXw1yxpRaV4AwDtBj+ymtmC/PTp8n4jKvWD3JXVUwJuaODXMOWG6WYLn0+mbQ+VwxXnEk/adtDNst6tih81pHhW7cW9YcaB3lp0NEt0BXbAC2NBoqr7mVLGsKQOhMA4Wg4wNyOarM9fflmn9YuhqNknOyN3nbS3hmR3i4Wwz8hkTcKNHLJnJulSY1zH+oILiF01jioGV+zJcyCq5kCN/d7JVv6OiAlrYwNVyPdo/9meKac26kiRHbDuptcB/6PmzVYfZ57oesGQfPrQlUjKYbRw1poKSxwDKKXgnErQq+UB4EYx7C8gyorkBvAlh6AheqESm/Kctu5fD8Om06/JaPzL71kx+QFeUVOSUo+kXPylVyQKeHRUfQ2Oos+xu/iaZzHP65D46jPeU4OLF7+BeDQ1Jk=</latexit>

Example: LUsolve.m

11

LU decomposition

Assume that this is possible: Aij =Pn

k=1 LikUkj<latexit sha1_base64="siMD2sJ8Jn2sfR5d1+a16uKx0jU=">AAACtHicbVHLbhMxFPUMj5ZAIcCSjdUWiVU0w6MgRFCrbFiwKBLpVMqEkcfjadzxS2NPIbL8PXwTa/6BNXeSLEjLlW0dnXPte31uaQS3Lkl+RfGt23fu7uzeG9x/sPfw0fDxkzOru5ayKdVCt+clsUxwxaaOO8HOTcuILAXLymbS69kVay3X6qtbGjaX5ELxmlPigCqGP3ND2lL/8GkyekNl8IPc1jWRXCzxIFfsO9VSElX5fDIJPpfELSgRfhLCtpplG7UsfdaL8KxtuHlt3ODE2k4y7BbEwcEthmW0tRyafI8PTwrPLwMe4xzSCt+M0/BN4c/ANgFPgbgMh6EYHiSjZBX4Jkg34OB4X/xGEKfF8E9eaQp1laOCWDtLE+PmnrSOU8Ggwc4yQ2hDLtgMoCKS2blfGRrwc2AqXOsWtnJ4xf57wxNp7VKWkNn/2V7XevJ/2qxz9bu558p0jim6LlR3AjuN++ngireMOvC+4oS2HHrFdEFaQh3McKvKgokr5gLeIkvZG5Vet+UmOHs5goGnX8Cxj2gdu+gZ2kcvUIreomP0CZ2iKaLRXvQq+hCN46M4j2nM1qlxtLnzFG1FrP4CxqjZXA==</latexit><latexit sha1_base64="9qvzRodTgWyKaEmU2Fzcj9ZSyW0=">AAACtHicbVHLbhMxFPUMj5ZAIZQlG6stEqtohkdBqKlaZcOCRZFIp1ImjDweT+OOX7I9pZFl8Tn8Bf/Bll9AYoeEJ8mCtFzZ1tE5177X55aKUWOT5EcU37p95+7G5r3e/QdbDx/1H2+fGtlqTMZYMqnPSmQIo4KMLbWMnClNEC8Zycpm1OnZJdGGSvHJzhWZcnQuaE0xsoEq+t9yhXQpr1yaDF5j7l0vN3WNOGVz2MsF+YIl50hULh+NvMs5sjOMmBt5v65m2UotS5d1YnjWNFS9UrZ3bEzLCbQzZMNBDQxLSWNoaPId3DsuHL3wcAjzkFa4Zpj6zwJ+CGzj4TgQF37PF/3dZJAsAt4E6QrsHu2wn7++fv9zUvR/55XEoa6wmCFjJmmi7NQhbSlmJDTYGqIQbtA5mQQoECdm6haGevgsMBWspQ5bWLhg/73hEDdmzsuQ2f3ZXNc68n/apLX126mjQrWWCLwsVLcMWgm76cCKaoJt8L6iCGsaeoV4hjTCNsxwrcqMsEtiPVwjS94ZlV635SY4fTEIA08/BscOwTI2wVOwA56DFLwBR+A9OAFjgKOt6GV0EA3j/TiPcUyWqXG0uvMErEUs/gJ3UNyI</latexit><latexit sha1_base64="9qvzRodTgWyKaEmU2Fzcj9ZSyW0=">AAACtHicbVHLbhMxFPUMj5ZAIZQlG6stEqtohkdBqKlaZcOCRZFIp1ImjDweT+OOX7I9pZFl8Tn8Bf/Bll9AYoeEJ8mCtFzZ1tE5177X55aKUWOT5EcU37p95+7G5r3e/QdbDx/1H2+fGtlqTMZYMqnPSmQIo4KMLbWMnClNEC8Zycpm1OnZJdGGSvHJzhWZcnQuaE0xsoEq+t9yhXQpr1yaDF5j7l0vN3WNOGVz2MsF+YIl50hULh+NvMs5sjOMmBt5v65m2UotS5d1YnjWNFS9UrZ3bEzLCbQzZMNBDQxLSWNoaPId3DsuHL3wcAjzkFa4Zpj6zwJ+CGzj4TgQF37PF/3dZJAsAt4E6QrsHu2wn7++fv9zUvR/55XEoa6wmCFjJmmi7NQhbSlmJDTYGqIQbtA5mQQoECdm6haGevgsMBWspQ5bWLhg/73hEDdmzsuQ2f3ZXNc68n/apLX126mjQrWWCLwsVLcMWgm76cCKaoJt8L6iCGsaeoV4hjTCNsxwrcqMsEtiPVwjS94ZlV635SY4fTEIA08/BscOwTI2wVOwA56DFLwBR+A9OAFjgKOt6GV0EA3j/TiPcUyWqXG0uvMErEUs/gJ3UNyI</latexit><latexit sha1_base64="kfh0pevbah5oy66wu82XRbKZA3w=">AAACtHicbVHLbhMxFPUMrxIoBFiysUiRWEUzvIUIapUNCxZFIp1KmTCyPZ7GHb9kewqR5e/hm/gR1njSWZCWK9s6Oufa9/pcrDmzLst+J+mNm7du39m7O7p3f//Bw/GjxydWdYbQBVFcmVOMLOVM0oVjjtNTbSgSmNMCt/NeLy6osUzJb26j6UqgM8kaRpCLVDX+VWpksPrp82z6hojgR6VtGiQY38BRKekPooRAsvblfB58KZBbE8T9PIRdtSgGFWNf9GJ81rZMv9ZudGRtJyh0a+TiwSyMSytrWWzyAzw4qjw7D3AGy5hW+XaWh+8SfolsG+AiEufhIFTjSTbNtgGvg3wAEzDEcTX+U9aKxLrSEY6sXeaZdiuPjGOE09hgZ6lGpEVndBmhRILald8aGuDzyNSwUSZu6eCW/feGR8LajcAxs/+zvar15P+0Zeea9yvPpO4cleSyUNNx6BTspwNrZihx0fuaIWJY7BWSNTKIuDjDnSpryi+oC3CHxKI3Kr9qy3Vw8nIaB55/zSaHnwbL9sBT8Ay8ADl4Bw7BZ3AMFoAk+8mr5GMyS9+mZUpSepmaJsOdJ2AnUvkXQK3Xqw==</latexit>

For k = 0, 1, 2, . . . , n� 1, define rank-one matrices M (k) with elements

M (k)ij = Li,k+1Uk+1,j

<latexit sha1_base64="d4eW2FNmTpM4oVgkJUR/B/sGfUU=">AAAC7nicbVHLjtMwFHXCawivAks2Fi3SIDJVMkKCzaCRKgELEINEpyM1pXKcm9YT24lsp6Wy8hvsEFt+iR38BGuctgs6w9346Jzr+zg3rTjTJop+ev6Vq9eu39i7Gdy6fefuvc79B6e6rBWFIS15qc5SooEzCUPDDIezSgERKYdRWgxafbQApVkpP5lVBRNBZpLljBLjqGnnd1IRlZZfbBxT0dgg0XlOBOMrHCQSlrQUgsjMJoNBYxNBzJwSbgdNs6uORls1Te2oFV1RXbDqeWWCRJHZDDLFZnMTvC4V7hVHURiHh2GSlUaH8iDuhTiD3G2AFZHFQemAK6YYBY177z/b/eJp08NLZuYYOAiQRge9XrBVppadN/gIv3MgLJ7FDR5OrXvD88ZlNdNON+pH68CXQbwF3eMPXfwLIXQy7fxxg9G6bUM50XocR5WZWKIMoxzccrWGitCCzGDsoCQC9MSuT9HgJ47JcO7WzEtp8Jr994clQuuVSF1m65e+qLXk/7RxbfKXE8tkVRuQdNMorzk2JW7vijOmgBp3t4wRqpibFdM5UYQad/2dLnPgCzAN3iFT0RoVX7TlMjg97MdRP/7oHHuFNrGHHqHHaB/F6AU6Rm/RCRoi6r3xhLfwln7lf/W/+d83qb63/fMQ7YT/4y83Cuvs</latexit><latexit sha1_base64="7ML2tC0x5U4L1sdkaymwnaPCN0g=">AAAC7nicbVHLjtMwFHXCawivAks2Fg3SIDJVMkKCTdFIlYAFiEGi05GaUjmO03piO5HttFSWf4MdYssfIZbzE7DFabugM9yNj865vo9zs5pRpeP4l+dfuXrt+o29m8Gt23fu3uvcf3CiqkZiMsQVq+RphhRhVJChppqR01oSxDNGRlk5aPXRgkhFK/FJr2oy4WgmaEEx0o6ads7TGsms+mKSBHNrglQVBeKUrWCQCrLEFedI5CYdDKxJOdJzjJgZWLurjkZbNcvMqBVdUVXS+nmtg1Si2Yzkks7mOnhdSRiW/ThKosMozSutInGQhBHMSeE2gBKJ8qBywBWTFBMFw/efzX751IZwSfUcEkY4EVoFYRhslamhZxb24TsHovJZYuFwatwbnVmXZaedbtyL1wEvg2QLukcfuvD8z8/+8bTz2w2Gm7YNZkipcRLXemKQ1BQz4pZrFKkRLtGMjB0UiBM1MetTWPjEMTks3JpFJTRcs//+MIgrteKZy2z9Uhe1lvyfNm508XJiqKgbTQTeNCoaBnUF27vCnEqCtbtbThGW1M0K8RxJhLW7/k6XOWELoi3cITPeGpVctOUyODnsJXEv+egcewU2sQcegcdgHyTgBTgCb8ExGALsvfG4t/CWfu1/9b/53zepvrf98xDshP/jLz2r7fg=</latexit><latexit sha1_base64="7ML2tC0x5U4L1sdkaymwnaPCN0g=">AAAC7nicbVHLjtMwFHXCawivAks2Fg3SIDJVMkKCTdFIlYAFiEGi05GaUjmO03piO5HttFSWf4MdYssfIZbzE7DFabugM9yNj865vo9zs5pRpeP4l+dfuXrt+o29m8Gt23fu3uvcf3CiqkZiMsQVq+RphhRhVJChppqR01oSxDNGRlk5aPXRgkhFK/FJr2oy4WgmaEEx0o6ads7TGsms+mKSBHNrglQVBeKUrWCQCrLEFedI5CYdDKxJOdJzjJgZWLurjkZbNcvMqBVdUVXS+nmtg1Si2Yzkks7mOnhdSRiW/ThKosMozSutInGQhBHMSeE2gBKJ8qBywBWTFBMFw/efzX751IZwSfUcEkY4EVoFYRhslamhZxb24TsHovJZYuFwatwbnVmXZaedbtyL1wEvg2QLukcfuvD8z8/+8bTz2w2Gm7YNZkipcRLXemKQ1BQz4pZrFKkRLtGMjB0UiBM1MetTWPjEMTks3JpFJTRcs//+MIgrteKZy2z9Uhe1lvyfNm508XJiqKgbTQTeNCoaBnUF27vCnEqCtbtbThGW1M0K8RxJhLW7/k6XOWELoi3cITPeGpVctOUyODnsJXEv+egcewU2sQcegcdgHyTgBTgCb8ExGALsvfG4t/CWfu1/9b/53zepvrf98xDshP/jLz2r7fg=</latexit><latexit sha1_base64="tQBC2/qm0U6Sh1PIXXn1945Ymdk=">AAAC7nicbVHLjtMwFHXCawivAks2Fi3SIDJVMkKCzaCRKgELkAaJTkdqSuU4N60nthPZTktl5TfYIbb8Ekt+gjVOJws6w9346Jzr+zg3rTjTJop+ef616zdu3tq7Hdy5e+/+g97DR6e6rBWFMS15qc5SooEzCWPDDIezSgERKYdJWoxafbICpVkpP5tNBTNBFpLljBLjqHnvd1IRlZZfbRxT0dgg0XlOBOMbHCQS1rQUgsjMJqNRYxNBzJISbkdNs6tOJp2apnbSiq6oLlj1sjJBoshiAZlii6UJ3pYKD4qjKIzDwzDJSqNDeRAPQpxB7jbAisjioHTAFVOMgsaDj1/sfvG8GeA1M0sMHARIo4PBIOiUuWXnDT7CHxwIixdxg8dz697wvHFZzbzXj4bRNvBVEHegj7o4mff+uMFo3bahnGg9jaPKzCxRhlEObrlaQ0VoQRYwdVASAXpmt6do8DPHZDh3a+alNHjL/vvDEqH1RqQus/VLX9Za8n/atDb565llsqoNSHrRKK85NiVu74ozpoAad7eMEaqYmxXTJVGEGnf9nS5L4CswDd4hU9EaFV+25So4PRzG0TD+FPWP33SW7aEn6CnaRzF6hY7Re3SCxoh67zzhrby1X/nf/O/+j4tU3+v+PEY74f/8C7BS6jo=</latexit>

Given an n⇥ n matrix A, we want to find upper and lower triangularmatrices such that A = LU , with Lii = 1 for all i

<latexit sha1_base64="gR2lFk5GeRnXsJE6ceNIOgRW2oA=">AAAC83icbVJNb9NAEF2brxI+msKRy4oaiQOKbARqL0VBOcAhh1YiTaU4isbrdbzKfli766TR4l/CDXHlB/EH+AmcWSc5kJY5Pc2bebPzZrOKM2Pj+FcQ3rl77/6Dg4edR4+fPD3sHj27NKrWhI6I4kpfZWAoZ5KOLLOcXlWagsg4HWeLQcuPl1QbpuQXu67oVMBcsoIRsD416/5OK9CZunZJ3HtPROM6qSkKEIyvcSeVdEWUECBzlw4GjUsF2JIAd4Om2WfH4x2bZW7ckl7WLFj1rrKdT2xJJQaJI5laJqjBMsK+VrNrHH2M3uAVxSuQFluFCyZzXFcV1b4hx1ytPPKVIOc1B71tI17C1KTEtgTrJc6Go1aF2RJHw5ljrDlLIlwor8E5jljUzLrHcS/eBL4Nkh047p9cHPYRQuez7p80V6QWVFrCwZhJEld26kBbRjj1+9WGVkAWMKcTDyX4taZuc48Gv/KZfDO/UH6tTfbfDgfCmLXIfGVrmbnJtcn/cZPaFqdTx2RVWyrJdlBR89a49rg4Z5oS60+XMyCa+bdiUoIGYv0X2JtSUr6ktsF7yUy0RiU3bbkNLt/2/H9JLrxjH9A2DtAL9BK9Rgk6QX30GZ2jESLBMNCBC76Gdfgt/B7+2JaGwa7nOdqL8OdfgSPu6w==</latexit><latexit sha1_base64="j6TxsxnQE9KeCbytdJudySzREVI=">AAAC83icbVJNj9MwEHXC11I+tsCRi8UGiQOqEgRaLouKeoBDD7sS3a7UVNXEcRqrtmPZTruVyS/hBlz5QfwA+Amccdoe6C5zepo388bzxpnizNg4/hmEN27eun3n4G7n3v0HDw+7jx6fm6rWhI5IxSt9kYGhnEk6ssxyeqE0BZFxOs4Wg5YfL6k2rJKf7FrRqYC5ZAUjYH1q1v2dKtBZdemSuPeGiMZ1UlMUIBhf404q6YpUQoDMXToYNC4VYEsC3A2aZp8dj3dslrlxS3pZs2DqtbKdD2xJJQaJI5laJqjBMsK+VrNLHL2PXuIVxSuQFtsKF0zmuFaKat+QY16tPPKVIOc1B71tI17C1KTEtgTrJU6Go1aF2RJHw5ljrDlJIlxUXoNzHLGomXWP4l68CXwdJDtw1D8+O+z/+jY9nXX/pHlFakGlJRyMmSSxslMH2jLCqd+vNlQBWcCcTjyU4Neaus09GvzcZ/LN/KLya22y/3Y4EMasReYrW8vMVa5N/o+b1LZ4O3VMqtpSSbaDipq3xrXHxTnTlFh/upwB0cy/FZMSNBDrv8DelJLyJbUN3ktmojUquWrLdXD+quf/S3LmHXuHtnGAnqJn6AVK0DHqo4/oFI0QCYaBDlzwOazDL+HX8Pu2NAx2PU/QXoQ//gJN+vDQ</latexit><latexit sha1_base64="j6TxsxnQE9KeCbytdJudySzREVI=">AAAC83icbVJNj9MwEHXC11I+tsCRi8UGiQOqEgRaLouKeoBDD7sS3a7UVNXEcRqrtmPZTruVyS/hBlz5QfwA+Amccdoe6C5zepo388bzxpnizNg4/hmEN27eun3n4G7n3v0HDw+7jx6fm6rWhI5IxSt9kYGhnEk6ssxyeqE0BZFxOs4Wg5YfL6k2rJKf7FrRqYC5ZAUjYH1q1v2dKtBZdemSuPeGiMZ1UlMUIBhf404q6YpUQoDMXToYNC4VYEsC3A2aZp8dj3dslrlxS3pZs2DqtbKdD2xJJQaJI5laJqjBMsK+VrNLHL2PXuIVxSuQFtsKF0zmuFaKat+QY16tPPKVIOc1B71tI17C1KTEtgTrJU6Go1aF2RJHw5ljrDlJIlxUXoNzHLGomXWP4l68CXwdJDtw1D8+O+z/+jY9nXX/pHlFakGlJRyMmSSxslMH2jLCqd+vNlQBWcCcTjyU4Neaus09GvzcZ/LN/KLya22y/3Y4EMasReYrW8vMVa5N/o+b1LZ4O3VMqtpSSbaDipq3xrXHxTnTlFh/upwB0cy/FZMSNBDrv8DelJLyJbUN3ktmojUquWrLdXD+quf/S3LmHXuHtnGAnqJn6AVK0DHqo4/oFI0QCYaBDlzwOazDL+HX8Pu2NAx2PU/QXoQ//gJN+vDQ</latexit><latexit sha1_base64="oEkzYg8whWMRbdFr/EdyA14KATw=">AAAC83icbVJNj9MwEHXC11K+Chy5WDRIHFCVrEBwWbSoBzj0sEh0u1JTVRPHaaz6I7KddiuTX8INceUH8Qf4CZxx2hzoLnN6mjfzxvPGWcWZsXH8Kwhv3Lx1+87R3d69+w8ePuo/fnJuVK0JnRDFlb7IwFDOJJ1YZjm9qDQFkXE6zVajlp+uqTZMyS92W9G5gKVkBSNgfWrR/51WoDN16ZJ4+IaIxvVSUxQgGN/iXirphighQOYuHY0alwqwJQHuRk1zyE6nHZtlbtqSXtasWPW6sr2PbE0lBokjmVomqMEywr5Ws0scfYhe4Q3FG5AWW4ULJnNcVxXVviHHXG088pUglzUHvW8jXsLUpMS2BOslTsaTVoXZEkfjhWOsOUkiXCivwTmOWNQs+oN4GO8CXwdJBwaoi7NF/0+aK1ILKi3hYMwsiSs7d6AtI5z6/WpDKyArWNKZhxL8WnO3u0eDX/hMvptfKL/WLvtvhwNhzFZkvrK1zFzl2uT/uFlti3dzx2RVWyrJflBR89a49rg4Z5oS60+XMyCa+bdiUoIGYv0XOJhSUr6mtsEHyUy0RiVXbbkOzo+H/r8kn+PB6fvOsiP0DD1HL1GC3qJT9AmdoQkiwTjQgQu+hnX4Lfwe/tiXhkHX8xQdRPjzL+CL7dQ=</latexit>

The first k rows of M (k) are full of zeros, as are the first k columns(by the triangular structure of L and U )

<latexit sha1_base64="iFmre7U6F9+MeU3o58DyaHoiLzA=">AAAC8HicbVJNixNBEO0Zv9b4FfXopXFHyIKEmUVREGQhFwWFFTabhUyMNT09SZP+GLprdjcO8z+8iVf/gL/Fs+BP8GxPkoPZtaCheK9fVderzkopHMbxzyC8cvXa9Rs7Nzu3bt+5e697/8GxM5VlfMiMNPYkA8el0HyIAiU/KS0HlUk+yhaDlh+dcuuE0Ue4LPlEwUyLQjBAD027v9ISbGbO6yTuP2eqqTupKwpQQi5pJ9X8jBmlQOd1Ohg0daoA5wxkPWiabXY02rBZVo9a0pd1C1E+K7FzNOe0ENYhjRYRtebMUVPQ6P3HurfYayIK1vOVlC36mVvjnlJwKxS3lH7aSmnXSVPay5YrEq0APaskWOrQVgwrr2qLv/NldU6jYbTXTLu7cT9eBb2cJJtk9+DVj9+fCCGH0+6fNDesUlwjk+DcOIlLnNRgUTDJ/XCV4yWwBcz42KcaFHeTerWMhj7xSE4LY/3RSFfov4oalHNLlfmbrV/uIteC/+PGFRYvJ7XQZYVcs3UjbxtFQ9vN0lxYztDvLRfArPBvpWwOFhj6/W91mXN5yrGhW2CmWqOSi7ZcTo73+/6zJB+8Y6/JOnbII/KY9EhCXpAD8oYckiFhwdvABOfBMrThl/Br+G19NQw2modkK8LvfwH8fO51</latexit><latexit sha1_base64="qT2dI3sdBtTxEaCy4WtepHIWgnM=">AAAC8HicbVLNihNBEO4Z/9b4F/W4l8YdIQuyzIiiIMhCLgoKK2w2C5kYa3p6kib9M3TX7G4c5gV8Am/i1RfwGXwEz4KP4NmeJAeza0FD8X39VXV91VkphcM4/hmEly5fuXpt63rnxs1bt+907947cqayjA+YkcYeZ+C4FJoPUKDkx6XloDLJh9m83/LDE26dMPoQFyUfK5hqUQgG6KFJ91dags3MWZ3Ee0+ZaupO6ooClJAL2kk1P2VGKdB5nfb7TZ0qwBkDWfebZpMdDtdsltXDlvRl3VyUT0rsHM44LYR1SKN5RK05ddQUNHr7vu7Nd5uIgvV8JWWLfuTWuEcU3BLFDaWftlLaddKU9rLFkkQrQE8rCZY6tBXDyqva4m98WZ3TaBDtNpPuTrwXL4NeTJJ1srP/4vvvD9s/Ph1Mun/S3LBKcY1MgnOjJC5xXINFwST3w1WOl8DmMOUjn2pQ3I3r5TIa+tAjOS2M9UcjXaL/KmpQzi1U5m+2frnzXAv+jxtVWDwf10KXFXLNVo28bRQNbTdLc2E5Q7+3XACzwr+VshlYYOj3v9FlxuUJx4ZugJlqjUrO23IxOXq85z9L8s479pKsYotskwekRxLyjOyTV+SADAgLXgcmOAsWoQ0/h1/Cr6urYbDW3CcbEX77Cxim7+M=</latexit><latexit sha1_base64="qT2dI3sdBtTxEaCy4WtepHIWgnM=">AAAC8HicbVLNihNBEO4Z/9b4F/W4l8YdIQuyzIiiIMhCLgoKK2w2C5kYa3p6kib9M3TX7G4c5gV8Am/i1RfwGXwEz4KP4NmeJAeza0FD8X39VXV91VkphcM4/hmEly5fuXpt63rnxs1bt+907947cqayjA+YkcYeZ+C4FJoPUKDkx6XloDLJh9m83/LDE26dMPoQFyUfK5hqUQgG6KFJ91dags3MWZ3Ee0+ZaupO6ooClJAL2kk1P2VGKdB5nfb7TZ0qwBkDWfebZpMdDtdsltXDlvRl3VyUT0rsHM44LYR1SKN5RK05ddQUNHr7vu7Nd5uIgvV8JWWLfuTWuEcU3BLFDaWftlLaddKU9rLFkkQrQE8rCZY6tBXDyqva4m98WZ3TaBDtNpPuTrwXL4NeTJJ1srP/4vvvD9s/Ph1Mun/S3LBKcY1MgnOjJC5xXINFwST3w1WOl8DmMOUjn2pQ3I3r5TIa+tAjOS2M9UcjXaL/KmpQzi1U5m+2frnzXAv+jxtVWDwf10KXFXLNVo28bRQNbTdLc2E5Q7+3XACzwr+VshlYYOj3v9FlxuUJx4ZugJlqjUrO23IxOXq85z9L8s479pKsYotskwekRxLyjOyTV+SADAgLXgcmOAsWoQ0/h1/Cr6urYbDW3CcbEX77Cxim7+M=</latexit><latexit sha1_base64="JpnEC7k4pLeYCj+hxjbtyFlG24g=">AAAC8HicbVJNixNBEO0Zv9b4FfXopTEjZEHCzKLoSRZyUVBYYbNZyMRQ09OTNNMfQ3fN7sZh/oc38eo/8ux/8GxPNgeza0FD8V6/qq5XnVVSOIzjX0F44+at23f27vbu3X/w8FH/8ZMTZ2rL+IQZaexpBo5LofkEBUp+WlkOKpN8mpXjjp+eceuE0ce4rvhcwVKLQjBADy36v9MKbGYumiQevWaqbXqpKwpQQq5pL9X8nBmlQOdNOh63TaoAVwxkM27bXXY63bJZ1kw70pd1paheVdg7XnFaCOuQRmVErTl31BQ0+vSlGZb7bUTBer6WskO/cmvcSwpug+KO0k9bK+16aUqH2XpDohWgl7UESx3ammHtVV3xj76szmk0ifbbRX8Qj+JN0OtJsk0GZBtHi/6fNDesVlwjk+DcLIkrnDdgUTDJ/XC14xWwEpZ85lMNirt5s1lGS194JKeFsf5opBv0X0UDyrm1yvzNzi93levA/3GzGou380boqkau2WUjbxtFQ7vN0lxYztDvLRfArPBvpWwFFhj6/e90WXF5xrGlO2CmOqOSq7ZcT04ORv6zJJ/jweG7rWV75Bl5ToYkIW/IIXlPjsiEsOBDYIKLYB3a8Fv4PfxxeTUMtpqnZCfCn38BTirr/Q==</latexit>

Define also A(k) = A�Pk

r=1 M(r), with A(0) = A; also A(n) = 0

<latexit sha1_base64="xyWezUXUAFleujSY3leCn56njgs=">AAACxXicbVJbixMxGM2Mt7Xeqj4KEmyFLWiZkRUFqWzpgr6srGB3FjrdkslktmFyGZJM1xKCf8u/4h/x2Uw7D9tdPwgczvlunC9Zxag2UfQnCG/dvnP33t79zoOHjx4/6T59dqplrTCZYsmkOsuQJowKMjXUMHJWKYJ4xkiSlZNGT1ZEaSrFD7OuyJyjC0ELipHx1KL7O62QyuRPG0fD95g720l1USBO2Rp2UkEuseQcidymk4mzKUdmiRGzE+d21SRp1SyzSSP6trqk1UFlOkek8NtBxLSE/fG53S8HDo7gGL6Fqa75wqpR7M5LeOwlNXD9N/CSmuU2NRq40bj/6Uqx8EzUd4tuLxpGm4A3QdyCHmjjZNH9m+YS15wIgxnSehZHlZlbpAzFjPiNa00qhEt0QWYeCsSJntuNww6+9kwOC6n8EwZu2KsVFnGt1zzzmY0J+rrWkP/TZrUpPs4tFVVtiMDbQUXNoJGwORfMqSLY+GPkFGFF/a4QL5FC2Pij7kxZErYixsEdMuONUfF1W26C03dD/wPi7we9w8+tZXvgBXgF9kEMPoBD8BWcgCnAwcvgKDgOvoVfQh6acLVNDYO25jnYifDXP9i82cg=</latexit><latexit sha1_base64="xyWezUXUAFleujSY3leCn56njgs=">AAACxXicbVJbixMxGM2Mt7Xeqj4KEmyFLWiZkRUFqWzpgr6srGB3FjrdkslktmFyGZJM1xKCf8u/4h/x2Uw7D9tdPwgczvlunC9Zxag2UfQnCG/dvnP33t79zoOHjx4/6T59dqplrTCZYsmkOsuQJowKMjXUMHJWKYJ4xkiSlZNGT1ZEaSrFD7OuyJyjC0ELipHx1KL7O62QyuRPG0fD95g720l1USBO2Rp2UkEuseQcidymk4mzKUdmiRGzE+d21SRp1SyzSSP6trqk1UFlOkek8NtBxLSE/fG53S8HDo7gGL6Fqa75wqpR7M5LeOwlNXD9N/CSmuU2NRq40bj/6Uqx8EzUd4tuLxpGm4A3QdyCHmjjZNH9m+YS15wIgxnSehZHlZlbpAzFjPiNa00qhEt0QWYeCsSJntuNww6+9kwOC6n8EwZu2KsVFnGt1zzzmY0J+rrWkP/TZrUpPs4tFVVtiMDbQUXNoJGwORfMqSLY+GPkFGFF/a4QL5FC2Pij7kxZErYixsEdMuONUfF1W26C03dD/wPi7we9w8+tZXvgBXgF9kEMPoBD8BWcgCnAwcvgKDgOvoVfQh6acLVNDYO25jnYifDXP9i82cg=</latexit><latexit sha1_base64="xyWezUXUAFleujSY3leCn56njgs=">AAACxXicbVJbixMxGM2Mt7Xeqj4KEmyFLWiZkRUFqWzpgr6srGB3FjrdkslktmFyGZJM1xKCf8u/4h/x2Uw7D9tdPwgczvlunC9Zxag2UfQnCG/dvnP33t79zoOHjx4/6T59dqplrTCZYsmkOsuQJowKMjXUMHJWKYJ4xkiSlZNGT1ZEaSrFD7OuyJyjC0ELipHx1KL7O62QyuRPG0fD95g720l1USBO2Rp2UkEuseQcidymk4mzKUdmiRGzE+d21SRp1SyzSSP6trqk1UFlOkek8NtBxLSE/fG53S8HDo7gGL6Fqa75wqpR7M5LeOwlNXD9N/CSmuU2NRq40bj/6Uqx8EzUd4tuLxpGm4A3QdyCHmjjZNH9m+YS15wIgxnSehZHlZlbpAzFjPiNa00qhEt0QWYeCsSJntuNww6+9kwOC6n8EwZu2KsVFnGt1zzzmY0J+rrWkP/TZrUpPs4tFVVtiMDbQUXNoJGwORfMqSLY+GPkFGFF/a4QL5FC2Pij7kxZErYixsEdMuONUfF1W26C03dD/wPi7we9w8+tZXvgBXgF9kEMPoBD8BWcgCnAwcvgKDgOvoVfQh6acLVNDYO25jnYifDXP9i82cg=</latexit><latexit sha1_base64="xyWezUXUAFleujSY3leCn56njgs=">AAACxXicbVJbixMxGM2Mt7Xeqj4KEmyFLWiZkRUFqWzpgr6srGB3FjrdkslktmFyGZJM1xKCf8u/4h/x2Uw7D9tdPwgczvlunC9Zxag2UfQnCG/dvnP33t79zoOHjx4/6T59dqplrTCZYsmkOsuQJowKMjXUMHJWKYJ4xkiSlZNGT1ZEaSrFD7OuyJyjC0ELipHx1KL7O62QyuRPG0fD95g720l1USBO2Rp2UkEuseQcidymk4mzKUdmiRGzE+d21SRp1SyzSSP6trqk1UFlOkek8NtBxLSE/fG53S8HDo7gGL6Fqa75wqpR7M5LeOwlNXD9N/CSmuU2NRq40bj/6Uqx8EzUd4tuLxpGm4A3QdyCHmjjZNH9m+YS15wIgxnSehZHlZlbpAzFjPiNa00qhEt0QWYeCsSJntuNww6+9kwOC6n8EwZu2KsVFnGt1zzzmY0J+rrWkP/TZrUpPs4tFVVtiMDbQUXNoJGwORfMqSLY+GPkFGFF/a4QL5FC2Pij7kxZErYixsEdMuONUfF1W26C03dD/wPi7we9w8+tZXvgBXgF9kEMPoBD8BWcgCnAwcvgKDgOvoVfQh6acLVNDYO25jnYifDXP9i82cg=</latexit>

12

Page 4: Motivation 5 Gaussian Elimination Computational Projects

LU decomposition

+ + +. . .

∗∗ ∗

∗∗

∗∗

. . .

∗ ∗

∗∗

. . .A =

M (0)<latexit sha1_base64="b1VLnspEvimWK16X+VqZGFJMrc4=">AAACenicbVHLahsxFNVM+kjdl5suuuhGJCkkFMxMSWlXJeBNN4UU6kzA4xpJcycW1gtJk8SI+ZD8Tf+hq676F4VCF9XYXtRJLwgO59yrczmXGsGdz7IfSbp15+69+9sPeg8fPX7ytP9s59TpxjIYMS20PaPEgeAKRp57AWfGApFUQEHnw04vLsA6rtUXvzAwkeRc8Zoz4iM17cvSEEv1VcizwVsm29ArXV0TycUC90oFl0xLSVQVyuGwDaUkfsaICMO23VSLYq1SGopOjN+6OTdHxvf2P30NB9lhu99O+3vZIFsWvg3yNdg7fvHz+htC6GTa/1VWmjUSlGeCODfOM+MngVjPmYBo0zgwhM3JOYwjVESCm4RlLC1+FZkK19rGpzxesv9OBCKdW0gaO7vN3U2tI/+njRtfv58ErkzjQbGVUd0I7DXuMsYVt8B8TLDihFked8VsRixhPl5iw2UG4gJ8izdIKrug8pux3AanbwbxbPnnmNgHtKpt9BLtogOUo3foGH1EJ2iEGPqOfidpspX8SXfTw/T1qjVN1jPP0UalR38BbjzFXA==</latexit><latexit sha1_base64="MfUEwNwvXT2NRt5h0cwQK+fU3WI=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DreqqzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu5xAjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG0vZiGqh7TkBxwRXbOS5F+zcWAaSCFaQ+bDTi0tmHdfqvV8YNpFwoXjNKfhITfuyNGCJ/hTybPCCyjb0SlfXILlY4F6p2EeqpQRVhXI4bEMpwc8oiDBs2021KNYqIaHoxPitm3NzbHzv4O2HcJgdtQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNpIpTwU4N84z4ycBrOdUsGjTOGaAzuGCjSNUIJmbhGUsLX4amQrX2sanPF6y/04EkM4tJImd3ebuqtaR/9PGja9fTQJXpvFM0ZVR3QjsNe4yxhW3jPqYYMWBWh53xXQGFqiPl9hwmTFxyXyLN0giu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQo+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFCUsaZ</latexit><latexit sha1_base64="MfUEwNwvXT2NRt5h0cwQK+fU3WI=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DreqqzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu5xAjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG0vZiGqh7TkBxwRXbOS5F+zcWAaSCFaQ+bDTi0tmHdfqvV8YNpFwoXjNKfhITfuyNGCJ/hTybPCCyjb0SlfXILlY4F6p2EeqpQRVhXI4bEMpwc8oiDBs2021KNYqIaHoxPitm3NzbHzv4O2HcJgdtQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNpIpTwU4N84z4ycBrOdUsGjTOGaAzuGCjSNUIJmbhGUsLX4amQrX2sanPF6y/04EkM4tJImd3ebuqtaR/9PGja9fTQJXpvFM0ZVR3QjsNe4yxhW3jPqYYMWBWh53xXQGFqiPl9hwmTFxyXyLN0giu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQo+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFCUsaZ</latexit><latexit sha1_base64="pwelRxS1FvsGUH/YRDpcCgDXIBs=">AAACenicbVFNaxsxENVu+pG6X25z7EXEKSQUzG5JaU8l4EsvhRTqbMDrGkk7GwvrC0mb1oj9lT3ljwQKOVTr7KFOOiB4vDejN7yhRnDns+wqSXcePHz0ePfJ4Omz5y9eDl+9PnO6sQymTAttzylxILiCqedewLmxQCQVUNDVpNOLS7COa/Xdrw3MJblQvOaM+EgthrI0xFL9K+TZ+AOTbRiUrq6J5GKNB6WCn0xLSVQVysmkDaUkfsmICJO23VaLolcpDUUnxm/diptj4wcHX3+Ew+yoPWgXw1E2zjaF74O8ByPU1+lieF1WmjUSlGeCODfLM+PngVjPmYBo0zgwhK3IBcwiVESCm4dNLC1+G5kK19rGpzzesP9OBCKdW0saO7vN3V2tI/+nzRpff5oHrkzjQbFbo7oR2GvcZYwrboH5mGDFCbM87orZkljCfLzElssSxCX4Fm+RVHZB5XdjuQ/O3o/j2fJv2ejkcx/ZLnqD9tEhytFHdIK+oFM0RQz9Rn+SNNlJbtL99Ch9d9uaJv3MHtqq9PgvniDCzQ==</latexit>

M (1)<latexit sha1_base64="Lv63yaF7zAjRPNS3ES5xIPUAuow=">AAACenicbVHLahsxFNVM+kjdl5suuuhGJCkkFMxMSWlXJeBNN4UU6kzA4xpJcycW1gtJk8SI+ZD8Tf+hq676F4VCF9XYXtRJLwgO59yrczmXGsGdz7IfSbp15+69+9sPeg8fPX7ytP9s59TpxjIYMS20PaPEgeAKRp57AWfGApFUQEHnw04vLsA6rtUXvzAwkeRc8Zoz4iM17cvSEEv1VcizwVsm29ArXV0TycUC90oFl0xLSVQVyuGwDaUkfsaICMO23VSLYq1SGopOjN+6OTdHxvf2P30NB/lhu99O+3vZIFsWvg3yNdg7fvHz+htC6GTa/1VWmjUSlGeCODfOM+MngVjPmYBo0zgwhM3JOYwjVESCm4RlLC1+FZkK19rGpzxesv9OBCKdW0gaO7vN3U2tI/+njRtfv58ErkzjQbGVUd0I7DXuMsYVt8B8TLDihFked8VsRixhPl5iw2UG4gJ8izdIKrug8pux3AanbwbxbPnnmNgHtKpt9BLtogOUo3foGH1EJ2iEGPqOfidpspX8SXfTw/T1qjVN1jPP0UalR38Bb+jFXQ==</latexit><latexit sha1_base64="teLr6tZlb8EbITwXXhe5GGeLj1I=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DlXVtzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu51AjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG8tgxLTQ9pwSB4IrGHnuBZwbC0RSAQWdDzu9uATruFbv/cLARJILxWvOiI/UtC9LQyzVn0KeDV4w2YZe6eqaSC4WuFcq+Mi0lERVoRwO21BK4meMiDBs2021KNYqpaHoxPitm3NzbHzv4O2HcJgftQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNRKUZ4I4N84z4yeBWM+ZgGjTODCEzckFjCNURIKbhGUsLX4amQrX2sanPF6y/04EIp1bSBo7u83dVa0j/6eNG1+/mgSuTONBsZVR3QjsNe4yxhW3wHxMsOKEWR53xWxGLGE+XmLDZQbiEnyLN0gqu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQY+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFD/saa</latexit><latexit sha1_base64="teLr6tZlb8EbITwXXhe5GGeLj1I=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DlXVtzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu51AjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG8tgxLTQ9pwSB4IrGHnuBZwbC0RSAQWdDzu9uATruFbv/cLARJILxWvOiI/UtC9LQyzVn0KeDV4w2YZe6eqaSC4WuFcq+Mi0lERVoRwO21BK4meMiDBs2021KNYqpaHoxPitm3NzbHzv4O2HcJgftQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNRKUZ4I4N84z4yeBWM+ZgGjTODCEzckFjCNURIKbhGUsLX4amQrX2sanPF6y/04EIp1bSBo7u83dVa0j/6eNG1+/mgSuTONBsZVR3QjsNe4yxhW3wHxMsOKEWR53xWxGLGE+XmLDZQbiEnyLN0gqu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQY+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFD/saa</latexit><latexit sha1_base64="H/bOfJQUqoOyZv/KORW3Hlivp8k=">AAACenicbVFNaxsxENVu+pG6X25z7EXEKSQUzG5JaU8l4EsvhRTqbMDrmpFWGwvrC0mb1oj9lT3ljwQKOVTr7KFOOiB4vDejN7whRnDns+wqSXcePHz0ePfJ4Omz5y9eDl+9PnO6sZRNqRbanhNwTHDFpp57wc6NZSCJYAVZTTq9uGTWca2++7VhcwkXitecgo/UYihLA5boXyHPxh+obMOgdHUNkos1HpSK/aRaSlBVKCeTNpQS/JKCCJO23VaLolcJCUUnxm/diptj4wcHX3+Ew/yoPWgXw1E2zjaF74O8ByPU1+lieF1WmjaSKU8FODfLM+PnAaznVLBo0zhmgK7ggs0iVCCZm4dNLC1+G5kK19rGpzzesP9OBJDOrSWJnd3m7q7Wkf/TZo2vP80DV6bxTNFbo7oR2GvcZYwrbhn1McGKA7U87orpEixQHy+x5bJk4pL5Fm+RRHZB5XdjuQ/O3o/j2fJv2ejkcx/ZLnqD9tEhytFHdIK+oFM0RRT9Rn+SNNlJbtL99Ch9d9uaJv3MHtqq9Pgvn8zCzg==</latexit>

∗ indicates a non-zero element

Since L11 = 1, the first row of M (0) is the first row of U(since M (0)

1j = L11U1j)<latexit sha1_base64="BWShyCESPmptM82KPG1J6+YK6ZQ=">AAAC7HicbVLLihNBFK1uX2N8RV26KZwWImjoHhTdjASC4EJhRHt6IB1DdeX2pEw9mqrqxFD0X7gQRHDlP7nyL1xbnWRhZuZCwa1z7qvOraLizNg4/h2Ely5fuXpt73rnxs1bt+907947NqrWFFKquNInBTHAmYTUMsvhpNJARMEhK+bDls8WoA1T8qNdVTAW5FSyklFiPTTp/skrogv1xSVx/zkVjevkpiyJYHyFO7mEJVVCEDl1+XDYuFwQO6OEu2HT7LJZtmWLwmUt6cuaOaueVbbzgUkKOHo7cUnSHCbRE2xngEumjcVaLbEqcfTuk+vFj5sIM3MBm0Z4XTFfmIpQcE8PKtvgntkU3ub68p+bw02XdH2JPNjdj/vx2vB5J9k6+4PBt+VPhNDRpPs3nypaC5CWcmLMKIkrO3ZEW0Y5+IfVBvwMc3IKI+9KIsCM3XoRDX7kkSkulfZHWrxG/89wRBizEoWPbLUyZ7kWvIgb1bZ8OXZMVrUFSTeNyppjq3C7VTxlGqj1O5syQjXzs2I6I5pQ63e/02UGfAFevB2wEK1QyVlZzjvHB33/UZL3XrFXaGN76AF6iHooQS/QAL1BRyhFNHgdzAMb1KEMv4bfwx+b0DDY5txHOxb++gfFE+vd</latexit><latexit sha1_base64="MqoFRzY/mHnO30aUTUg1Nh9t1CI=">AAAC7HicbVLLihNBFK1uX2N8TNSlm8JpIYKG7kHRzUggCC4URjSTgXQM1ZXbkzL1aKqqE0PRC//BhSBuXPg14t6Vf+Ha6nQWZmYuFNw6577q3MoKzoyN499BeOHipctXdq62rl2/cXO3fev2kVGlpjCgiit9nBEDnEkYWGY5HBcaiMg4DLN5v+aHC9CGKfnOrgoYC3IiWc4osR6atP+kBdGZ+uiSuPuEisq1UpPnRDC+wq1UwpIqIYicurTfr1wqiJ1Rwl2/qrbZ4XDDZpkb1qQva+aseFzY1lsmKeDo1cQlSXWQRA+xnQHOmTYWa7XEKsfR6/euEz+oIszMOewgwuuK6cIUhIJ7tF/YCndMU3iT68t/qA6aLoP1JfJgey/uxmvDZ51k4+z1el+W33/9/HQ4af9Np4qWAqSlnBgzSuLCjh3RllEO/mGlAT/DnJzAyLuSCDBjt15Ehe97ZIpzpf2RFq/R/zMcEcasROYja63Maa4Gz+NGpc2fjR2TRWlB0qZRXnJsFa63iqdMA7V+Z1NGqGZ+VkxnRBNq/e63usyAL8CLtwVmohYqOS3LWedov+s/SvLGK/YcNbaD7qJ7qIMS9BT10Et0iAaIBi+CeWCDMpTh5/Br+K0JDYNNzh20ZeGPf+Rj7fo=</latexit><latexit sha1_base64="MqoFRzY/mHnO30aUTUg1Nh9t1CI=">AAAC7HicbVLLihNBFK1uX2N8TNSlm8JpIYKG7kHRzUggCC4URjSTgXQM1ZXbkzL1aKqqE0PRC//BhSBuXPg14t6Vf+Ha6nQWZmYuFNw6577q3MoKzoyN499BeOHipctXdq62rl2/cXO3fev2kVGlpjCgiit9nBEDnEkYWGY5HBcaiMg4DLN5v+aHC9CGKfnOrgoYC3IiWc4osR6atP+kBdGZ+uiSuPuEisq1UpPnRDC+wq1UwpIqIYicurTfr1wqiJ1Rwl2/qrbZ4XDDZpkb1qQva+aseFzY1lsmKeDo1cQlSXWQRA+xnQHOmTYWa7XEKsfR6/euEz+oIszMOewgwuuK6cIUhIJ7tF/YCndMU3iT68t/qA6aLoP1JfJgey/uxmvDZ51k4+z1el+W33/9/HQ4af9Np4qWAqSlnBgzSuLCjh3RllEO/mGlAT/DnJzAyLuSCDBjt15Ehe97ZIpzpf2RFq/R/zMcEcasROYja63Maa4Gz+NGpc2fjR2TRWlB0qZRXnJsFa63iqdMA7V+Z1NGqGZ+VkxnRBNq/e63usyAL8CLtwVmohYqOS3LWedov+s/SvLGK/YcNbaD7qJ7qIMS9BT10Et0iAaIBi+CeWCDMpTh5/Br+K0JDYNNzh20ZeGPf+Rj7fo=</latexit><latexit sha1_base64="K+NHkujU/OJLeWBozyqZiZb5/Gk=">AAAC7HicbVLLjtMwFHXCayivAks2Fg1SkaBKRiDYDBqpQmIB0iDIdKSmVI5zMzX1I7KdDpWVv2CH2PJPrPgL1jhtFnRmrmTp+pz78rnOK86MjePfQXjl6rXrN/Zu9m7dvnP3Xv/+g2Ojak0hpYorfZITA5xJSC2zHE4qDUTkHCb5ctzykxVow5T8bNcVzAQ5laxklFgPzft/soroXH1zSTx6SUXjepkpSyIYX+NeJuGMKiGILFw2HjcuE8QuKOFu3DS77GTSsXnuJi3py5olq15UtveJSQo4ej93SdIcJNEzbBeAS6aNxVqdYVXi6MMXN4yfNhFm5hI2jfCmYrYyFaHgnu9XtsFDsy3c5fryX5uDbZd0c4k82B/Eo3hj+KKTdM4AdXY07//NCkVrAdJSToyZJnFlZ45oyygH/7DagJ9hSU5h6l1JBJiZ2yyiwU88UuBSaX+kxRv0/wxHhDFrkfvIVitznmvBy7hpbcvXM8dkVVuQdNuorDm2CrdbxQXTQK3fWcEI1czPiumCaEKt3/1OlwXwFXjxdsBctEIl52W56Bzvj/xHST7Gg8M3nWR76BF6jIYoQa/QIXqHjlCKaPA2WAY2qEMZfg9/hD+3oWHQ5TxEOxb++geDu+mu</latexit>

Similarly the first column of L is U11 times the first column of M (0),and U11 has already been computed.

<latexit sha1_base64="sG3AOuJv29/QlZX6nNSySKyd/PE=">AAAC63icbVLLihNBFK1uHzPGV9Slm8KJMIKEbnFQXMhAXLhQGNFMBtIx3K6+PSlTj6aqejQU/RO6Exdu/Cg3LvwI11YnAc3MXCi4nHOf51ZeCW5dkvyM4gsXL13e2r7SuXrt+o2b3Vu3D62uDcMh00KboxwsCq5w6LgTeFQZBJkLHOXzQcuPTtBYrtU7t6hwIuFY8ZIzcAGadn9lFZhcf/Jp0t9jsvGdzJYlSC4WtJMp/Mi0lKAKnw0Gjc8kuBkD4QdNs8mORms2z/2oJUNZO+fV48p13vJQDkyo6GZIS26so2HyWiqqS9p71aPc0t5w6tO06VHHJdrzI1+/97vJg6b3kIae/zJmYCmIsHWxoDmiCimyqh0W/Wba3Un6ydLoWSddOzv7z35//k4IOZh2/2SFZrVE5ZgAa8dpUrmJB+M4Exj2qi1WwOZwjOPgKgjDTvzyDg29H5CCltqEp5aTa/N/hgdp7ULmIbKVyp7mWvA8bly78unEc9VupdiqUVkL6jRtj0oLbpC5IHDBgRkeZqVsBgaYC6ff6DJDcYKuoRtgLluh0tOynHUOH/XDP0nfBMWek5Vtk7vkHtklKXlC9slLckCGhEUvog+RjVws4y/x1/jbKjSO1jl3yIbFP/4CWQ7tWg==</latexit><latexit sha1_base64="FyNOTap4OfAm4KOc3Y7XdZPu4y4=">AAAC63icbVJNaxNBGJ5drdb40ahHL4ONUkHCriiKBynEgweFSk1T6Mbw7uy7zZj5WGZmq2HYP6E38Sb+KC8e/BGenU0CmrYvDLw8z/v5vJNXgluXJD+j+MLFjUuXN690rl67fmOre/PWgdW1YThkWmhzmINFwRUOHXcCDyuDIHOBo3w2aPnRCRrLtXrn5hWOJRwrXnIGLkCT7q+sApPrTz5N+k+YbHwns2UJkos57WQKPzItJajCZ4NB4zMJbspA+EHTrLOj0YrNcz9qyVDWznj1uHKdfR7KgQkV3RRpyY11NExeS0V1SXuve5Rb2htOfJo2Peq4RHt+5Jv3fid50PQe0tDzX8YULAURti7mNEdUIUVWtcOi30y620k/WRg966QrZ3v3+e/P3zf27+9Nun+yQrNaonJMgLVHaVK5sQfjOBMY9qotVsBmcIxHwVUQhh37xR0aei8gBS21CU8tJtfm/wwP0tq5zENkK5U9zbXgedxR7cpnY89Vu5Viy0ZlLajTtD0qLbhB5oLABQdmeJiVsikYYC6cfq3LFMUJuoaugblshUpPy3LWOXjUD/8kfRsUe0GWtknukLtkh6TkKdklr8geGRIWvYw+RDZysYy/xF/jb8vQOFrl3CZrFv/4Cxd87ds=</latexit><latexit sha1_base64="FyNOTap4OfAm4KOc3Y7XdZPu4y4=">AAAC63icbVJNaxNBGJ5drdb40ahHL4ONUkHCriiKBynEgweFSk1T6Mbw7uy7zZj5WGZmq2HYP6E38Sb+KC8e/BGenU0CmrYvDLw8z/v5vJNXgluXJD+j+MLFjUuXN690rl67fmOre/PWgdW1YThkWmhzmINFwRUOHXcCDyuDIHOBo3w2aPnRCRrLtXrn5hWOJRwrXnIGLkCT7q+sApPrTz5N+k+YbHwns2UJkos57WQKPzItJajCZ4NB4zMJbspA+EHTrLOj0YrNcz9qyVDWznj1uHKdfR7KgQkV3RRpyY11NExeS0V1SXuve5Rb2htOfJo2Peq4RHt+5Jv3fid50PQe0tDzX8YULAURti7mNEdUIUVWtcOi30y620k/WRg966QrZ3v3+e/P3zf27+9Nun+yQrNaonJMgLVHaVK5sQfjOBMY9qotVsBmcIxHwVUQhh37xR0aei8gBS21CU8tJtfm/wwP0tq5zENkK5U9zbXgedxR7cpnY89Vu5Viy0ZlLajTtD0qLbhB5oLABQdmeJiVsikYYC6cfq3LFMUJuoaugblshUpPy3LWOXjUD/8kfRsUe0GWtknukLtkh6TkKdklr8geGRIWvYw+RDZysYy/xF/jb8vQOFrl3CZrFv/4Cxd87ds=</latexit><latexit sha1_base64="Q0j6NqoJaXcQkvqk14kKjxueC3c=">AAAC63icbVLLihNBFK1uHzPGV9Slm8JEGEFCtzjoSgbiwoXCiGYykI7hdvXtSZl6NFXVo6Hor3Anbv0oN36Ga6szDZqZuVBwOec+z628Ety6JPkVxVeuXru+s3ujd/PW7Tt3+/fuH1ldG4YTpoU2xzlYFFzhxHEn8LgyCDIXOM1X45afnqKxXKuPbl3hXMKJ4iVn4AK06P/OKjC5/urTZLTPZON7mS1LkFysaS9T+IVpKUEVPhuPG59JcEsGwo+bZpudTjs2z/20JUNZu+LV88r1PvBQDkyo6JZIS26so2HyWiqqSzp8O6Tc0uFk4dO0GVLHJdrLI9998nvJk2b4lIae/zKWYCmIsHWxpjmiCimyqh0Wo2bRHySjZGP0opN2zoB0drjo/8kKzWqJyjEB1s7SpHJzD8ZxJjDsVVusgK3gBGfBVRCGnfvNHRr6OCAFLbUJT20m1+b/DA/S2rXMQ2QrlT3PteBl3Kx25cu556rdSrGzRmUtqNO0PSotuEHmgsAFB2Z4mJWyJRhgLpx+q8sSxSm6hm6BuWyFSs/LctE5ejYK/yR9nwwOXnWS7ZKH5BHZIyl5QQ7IG3JIJoRFr6PPkY1cLONv8ff4x1loHHU5D8iWxT//AooG6sw=</latexit>

The first row of M (0) is equal to the first row of A, and similarly for thefirst column

<latexit sha1_base64="oZ3WkaIgFByODxdvV2Pye8rUa7o=">AAAC23icbVHLbhNBEJxdXsG8DBy5jIiRgoSsXRQpOUVBvnBBClIcR3iN6Z3ttUeexzIzm2CN9sQNceW3uPMDfAJcGT8OcUyfSl3V0zXVeSW4dUnyK4pv3Lx1+87O3da9+w8ePmo/fnJmdW0Y9pkW2pznYFFwhX3HncDzyiDIXOAgn/UW/OACjeVanbp5hSMJE8VLzsCF1rj9M6vA5PqLT1MmG9/KbFmC5GJOW5nCS6alBFX4rNdrfCbBTRkI32uaTXYwWLN57gcLMjxqZ7zar1wrMzCZYGH4ZOpap1OkJTfWUaMvqS5p591Hv5e8bDqUW4qfaxDUaeq2ZG86r2hYRS0P5sAEf6U2V3QhiVqqZtzeTbrJsug2SNdg9/jg7+9PhJCTcftPVmhWS1SOCbB2mCaVG3kwjjOB4Se1xQrYDCY4DFCBRDvyy9wb+iJ0iqWRUqulB22uTniQ1s5lHpSLcOx1btH8HzesXXk48lxVtUPFVovKehVNOCItuEHmQggFB2Z48ErZFAwwF069sWWK4gJdQzeauVwElV6PZRucve6mSTd9HxI7IqvaIc/Ic7JHUnJAjslbckL6hEX70YeIRUU8ir/G3+LvK2kcrWeeko2Kf/wDRSLo+Q==</latexit><latexit sha1_base64="uTPIw3Ec0w64ZOCNcaTfiBrD4cE=">AAAC23icbVG7bhNBFJ1dXsG8DJRpRsRIQULRbhQpVCjIDQ1SkOI4wmvM3dm79sjzWGZmE6zRVnQRLR9FQ88P8AnQMn4Uccytju45d+6Zc/NKcOuS5FcU37h56/adrbute/cfPHzUfvzk1OraMOwxLbQ5y8Gi4Ap7jjuBZ5VBkLnAfj7tzvn+ORrLtTpxswqHEsaKl5yBC61R+2dWgcn1F5+mTDa+ldmyBMnFjLYyhRdMSwmq8Fm32/hMgpswEL7bNOtsv79i89z352R41E55dVC5VmZgPMbC8PHEtU4mSEturKNGX1Bd0s67j343edF0KLcUP9cgqNPUbcjedF7SsIpaHsyBCf5Kba7oQhK1VM2ovZPsJYuimyBdgZ2jw7+/P23/uDwetf9khWa1ROWYAGsHaVK5oQfjOBMYflJbrIBNYYyDABVItEO/yL2hz0OnWBgptVp40ObqhAdp7UzmQTkPx17n5s3/cYPala+GnquqdqjYclFZL6MJR6QFN8hcCKHgwAwPXimbgAHmwqnXtkxQnKNr6Fozl/Og0uuxbILT/b002Uvfh8Rek2VtkW3yjOySlBySI/KWHJMeYdFB9CFiUREP46/xZfxtKY2j1cxTslbx939hPepn</latexit><latexit sha1_base64="uTPIw3Ec0w64ZOCNcaTfiBrD4cE=">AAAC23icbVG7bhNBFJ1dXsG8DJRpRsRIQULRbhQpVCjIDQ1SkOI4wmvM3dm79sjzWGZmE6zRVnQRLR9FQ88P8AnQMn4Uccytju45d+6Zc/NKcOuS5FcU37h56/adrbute/cfPHzUfvzk1OraMOwxLbQ5y8Gi4Ap7jjuBZ5VBkLnAfj7tzvn+ORrLtTpxswqHEsaKl5yBC61R+2dWgcn1F5+mTDa+ldmyBMnFjLYyhRdMSwmq8Fm32/hMgpswEL7bNOtsv79i89z352R41E55dVC5VmZgPMbC8PHEtU4mSEturKNGX1Bd0s67j343edF0KLcUP9cgqNPUbcjedF7SsIpaHsyBCf5Kba7oQhK1VM2ovZPsJYuimyBdgZ2jw7+/P23/uDwetf9khWa1ROWYAGsHaVK5oQfjOBMYflJbrIBNYYyDABVItEO/yL2hz0OnWBgptVp40ObqhAdp7UzmQTkPx17n5s3/cYPala+GnquqdqjYclFZL6MJR6QFN8hcCKHgwAwPXimbgAHmwqnXtkxQnKNr6Fozl/Og0uuxbILT/b002Uvfh8Rek2VtkW3yjOySlBySI/KWHJMeYdFB9CFiUREP46/xZfxtKY2j1cxTslbx939hPepn</latexit><latexit sha1_base64="WmwFXQwcpNXqD5f4+TNsgdDm3Tw=">AAAC23icbVE9bxNBEN07voL5MlDSrLCRgoSsOxQJKhTkhgYpSHEc4TPW3N6cvfJ+HLt7CdbqKjpEy9+i549Qs2e7iGOmepr3Zuftm7wS3Lok+RPFN27eun3n4G7n3v0HDx91Hz85s7o2DEdMC23Oc7AouMKR407geWUQZC5wnC+HLT++QGO5VqduVeFUwlzxkjNwoTXr/s4qMLn+5tOUycZ3MluWILlY0U6m8JJpKUEVPhsOG59JcAsGwg+bZpcdj7dsnvtxS4ZH7ZJXR5XrZAbmcywMny9c53SBtOTGOmr0JdUl7X/84g+Tl02fckvxaw2COk3dnux9/xUNq6jlwRyY4K/U5oouJFFL1cy6vWSQrIvug3QLemRbJ7Pu36zQrJaoHBNg7SRNKjf1YBxnAsNPaosVsCXMcRKgAol26te5N/RF6BRrI6VWaw/aXJ3wIK1dyTwo23Dsda5t/o+b1K58O/VcVbVDxTaLynoTTTgiLbhB5kIIBQdmePBK2QIMMBdOvbNlgeICXUN3mrlsg0qvx7IPzl4P0mSQfkp6x++2kR2QZ+Q5OSQpeUOOyQdyQkaERUfR54hFRTyNv8c/4p8baRxtZ56SnYp//QM9PeZF</latexit>

M (n�1)<latexit sha1_base64="HBSNu9mxxn1lmgYewjTRXN2em8I=">AAACfHicbVHLihNBFK1uZ3SMj4m6cOGmcCKMyIRu8bWSgWzcCCOY6YF0DLeqqydF6kVV9Wgo+kP8G3/ChSv/wo0gVidZmBkvFBzOubfO5VxiBHc+y34k6bWd3es39m72bt2+c3e/f+/+qdONpWxMtdD2jIBjgis29twLdmYsA0kEK8hi1OnFBbOOa/XRLw2bSjhXvOYUfKRmfV0asER/CXk2fEllG3qlq2uQXCxxr1TsM9VSgqpCORq1oZTg5xREGLXttloUG5WQUHRi/NYtuHlhfG/w/lM4VEf503bQzvoH2TBbFb4K8g04OH748+s3hNDJrP+rrDRtJFOeCnBukmfGTwNYz6lg0ahxzABdwDmbRKhAMjcNq2Ba/CQyFa61jU95vGL/nQggnVtKEju73d1lrSP/p00aX7+ZBq5M45mia6O6Edhr3KWMK24Z9THDigO1PO6K6RwsUB9vseUyZ+KC+RZvkUR2QeWXY7kKTp8P4+HyDzGxt2hde+gReowOUY5eo2P0Dp2gMaLoO/qd7CS7yZ90kD5Lj9atabKZeYC2Kn31Fw6jxgw=</latexit><latexit sha1_base64="Lh2urYVQDLLQngrkyGb8qnvzY/A=">AAACfHicbVHLbhMxFPUMKZTwaCgLFmwsGqQi1GgGAWWFKmXDBqlIpFMpE6Jrj6ex4sfI9rSNrPkCvoBv4DP4Bhas+As2SAhPkgVpuZKlo3Pu9bk6l1SCW5ckP6L4Rmfr5q3t2907d+/d3+k92D2xujaUjagW2pwSsExwxUaOO8FOK8NAEsEyMh+2enbOjOVafXSLik0knClecgouUNOeziswRF/6NBm8orLx3dyWJUguFribK3ZBtZSgCp8Ph43PJbgZBeGHTbOpZtlaJcRnrRi+tXNevaxct//+k99XB+mzpt9Me3vJIFkWvg7SNdg7evTzy7fPna/H096vvNC0lkw5KsDacZpUbuLBOE4FC0a1ZRXQOZyxcYAKJLMTvwymwU8DU+BSm/CUw0v23wkP0tqFJKGz3d1e1Vryf9q4duWbieeqqh1TdGVU1gI7jduUccENoy5kWHCghoddMZ2BAerCLTZcZkycM9fgDZLINqj0aizXwcmLQThc+iEk9hatahs9Rk/QPkrRITpC79AxGiGKvqPfUSfaiv7E/fh5fLBqjaP1zEO0UfHrv+Kqx0k=</latexit><latexit sha1_base64="Lh2urYVQDLLQngrkyGb8qnvzY/A=">AAACfHicbVHLbhMxFPUMKZTwaCgLFmwsGqQi1GgGAWWFKmXDBqlIpFMpE6Jrj6ex4sfI9rSNrPkCvoBv4DP4Bhas+As2SAhPkgVpuZKlo3Pu9bk6l1SCW5ckP6L4Rmfr5q3t2907d+/d3+k92D2xujaUjagW2pwSsExwxUaOO8FOK8NAEsEyMh+2enbOjOVafXSLik0knClecgouUNOeziswRF/6NBm8orLx3dyWJUguFribK3ZBtZSgCp8Ph43PJbgZBeGHTbOpZtlaJcRnrRi+tXNevaxct//+k99XB+mzpt9Me3vJIFkWvg7SNdg7evTzy7fPna/H096vvNC0lkw5KsDacZpUbuLBOE4FC0a1ZRXQOZyxcYAKJLMTvwymwU8DU+BSm/CUw0v23wkP0tqFJKGz3d1e1Vryf9q4duWbieeqqh1TdGVU1gI7jduUccENoy5kWHCghoddMZ2BAerCLTZcZkycM9fgDZLINqj0aizXwcmLQThc+iEk9hatahs9Rk/QPkrRITpC79AxGiGKvqPfUSfaiv7E/fh5fLBqjaP1zEO0UfHrv+Kqx0k=</latexit><latexit sha1_base64="XScbCk2zEv1XWkApTz3OWV+xF9o=">AAACfHicbVFdaxNBFJ1dW63xo1EffRlMhIo07IpfT1LIiy9CBdMtZGO4MzvbDJkvZmarYdif6YN/xBdBnE33wbReGDicc++cy7nECO58lv1M0lt7+7fvHNwd3Lv/4OHh8NHjM6cbS9mMaqHtOQHHBFds5rkX7NxYBpIIVpD1tNOLS2Yd1+qL3xi2kHCheM0p+Egth7o0YIn+HvJs8obKNgxKV9cgudjgQanYN6qlBFWFcjptQynBryiIMG3bXbUoepWQUHRi/NatuXlt/GD86Ws4Usf5i3bcLoejbJJtC98EeQ9GqK/T5fBXWWnaSKY8FeDcPM+MXwSwnlPBolHjmAG6hgs2j1CBZG4RtsG0+HlkKlxrG5/yeMv+OxFAOreRJHZ2u7vrWkf+T5s3vn6/CFyZxjNFr4zqRmCvcZcyrrhl1McMKw7U8rgrpiuwQH28xY7LiolL5lu8QxLZBZVfj+UmOHs1iYfLP2ejkw99ZAfoKXqGjlCO3qET9BGdohmi6Af6newl+8mfdJy+TI+vWtOkn3mCdip9+xc+h8N9</latexit>

13

LU decomposition

From previous slide, we know the first column of L and the first row of

U . Hence we can compute all elements of M (0) (as M (0)ij = Li1U1j)

<latexit sha1_base64="PtyXRfJZYtz/Ci8zDjefmn3h0FY=">AAADEXicbVJbaxNBFJ7deqnxluqjLwcboYKE3aLoS6UQkD5UqGCaQjeG2cnZZpK5LDOziWVY8CcIPuk/8U189Rf4R3x2Ni3StB5Y9sz3ncuc70xeCm5dkvyO4rVr12/cXL/Vun3n7r377Y0Hh1ZXhmGfaaHNUU4tCq6w77gTeFQapDIXOMhnvYYfzNFYrtV7d1riUNITxQvOqAvQaCNay0pqcv3Rp0n3BZO1b2W2KKjk4hRamcIF01JSNfZZr1f7TFI3YVT4Xl2vsoPBOZvnftCQoayd8fJ56VpvjJYQrjXnurJgBR/jM1ggzJRegJsgFNxYB2GaSirQBXT2OxCqXuBMiGyIfqcLsIeKYVOAURWyZFk5BCoEoECJytll6NsPfit5Wndgi9p/p5Hn03pnP/zSuj/y6bTuBLC9mXSTpcFVJz13Nnd3RtNPhJCDUftPNtasanoxQa09TpPSDT01jjOBYfjKYknZjJ7gcXAVlWiHfrmtGp4EZAyFNuFTy6m1uZjhqbT2VOYhstHTXuYa8H/cceWKV0PPVSOHYmeNikqA09CsHsbcIHNhr2NOmeHhrsAm1FDmwgNZ6TJBMUdXwwqYy0ao9LIsV53D7W54TOm7oNhrcmbr5BF5TLZISl6SXbJHDkifsGgafY6+Rt/iL/H3+Ef88yw0js5zHpIVi3/9BWLT+W8=</latexit><latexit sha1_base64="Mn7tiN7qVWepPSJ8+OckXSp9h0A=">AAADEXicbVJbaxNBFJ7deqmpl1QffRlshIgSdkXRl0ohIH2oUME0hWwMs7Nnm0nmsszMJoZhn/wDgk/1n/gmvvoL/CM+O5sEaVoPLHvm+85lzncmLTgzNop+B+HWtes3bm7fauzcvnP3XnP3/olRpabQo4orfZoSA5xJ6FlmOZwWGohIOfTTabfm+zPQhin5wS4KGApyJlnOKLEeGu0GW0lBdKo+uTjqvKSico3E5DkRjC9wI5Ewp0oIIjOXdLuVSwSxY0q461bVJtvvr9k0df2a9GXNlBUvCtt4q5XA/lozpkqDDWcZPMNzwFOp5tiOAedMG4v9NKWQWOW4ddTCvuoFTvvImui1OhgfgqRQF6BE+ixRlBYw4RwDBwHSmmXou4+uHT2pWrhNzL/TyLFJtX/kf3HVG7l4UrU82NyLOtHS8FUnXjt7B/ujyeen5zvHo+afJFO0rHtRTowZxFFhh45oyygHP3xpoCB0Ss5g4F1JBJihW26rwo89kuFcaf/J5dRKX8xwRBizEKmPrPU0l7ka/B83KG3+euiYrOWQdNUoLzm2CterxxnTQK3fa8YI1czfFdMx0YRa/0A2uoyBz8BWeANMRS1UfFmWq87J845/TPF7r9gbtLJt9BA9Qm0Uo1foAB2iY9RDNJgEX4Lz4Fv4Nfwe/gh/rkLDYJ3zAG1Y+OsvmRz6QQ==</latexit><latexit sha1_base64="Mn7tiN7qVWepPSJ8+OckXSp9h0A=">AAADEXicbVJbaxNBFJ7deqmpl1QffRlshIgSdkXRl0ohIH2oUME0hWwMs7Nnm0nmsszMJoZhn/wDgk/1n/gmvvoL/CM+O5sEaVoPLHvm+85lzncmLTgzNop+B+HWtes3bm7fauzcvnP3XnP3/olRpabQo4orfZoSA5xJ6FlmOZwWGohIOfTTabfm+zPQhin5wS4KGApyJlnOKLEeGu0GW0lBdKo+uTjqvKSico3E5DkRjC9wI5Ewp0oIIjOXdLuVSwSxY0q461bVJtvvr9k0df2a9GXNlBUvCtt4q5XA/lozpkqDDWcZPMNzwFOp5tiOAedMG4v9NKWQWOW4ddTCvuoFTvvImui1OhgfgqRQF6BE+ixRlBYw4RwDBwHSmmXou4+uHT2pWrhNzL/TyLFJtX/kf3HVG7l4UrU82NyLOtHS8FUnXjt7B/ujyeen5zvHo+afJFO0rHtRTowZxFFhh45oyygHP3xpoCB0Ss5g4F1JBJihW26rwo89kuFcaf/J5dRKX8xwRBizEKmPrPU0l7ka/B83KG3+euiYrOWQdNUoLzm2CterxxnTQK3fa8YI1czfFdMx0YRa/0A2uoyBz8BWeANMRS1UfFmWq87J845/TPF7r9gbtLJt9BA9Qm0Uo1foAB2iY9RDNJgEX4Lz4Fv4Nfwe/gh/rkLDYJ3zAG1Y+OsvmRz6QQ==</latexit><latexit sha1_base64="XVoI5VBHe0hGjywndTg5j8/EcM8=">AAADEXicbVLLihNBFO3u8THGV0aXbi4mQgQJ3YOiG2UgILMYYQQzGUjHUF25PamkHk1VdWIo+h8EV/on7sStX+CPuLY6E2Qy44Wmb51zH3XPrazgzNg4/h1GO9eu37i5e6tx+87de/ebew9OjCo1xT5VXOnTjBjkTGLfMsvxtNBIRMZxkM17NT9YoDZMyQ92VeBIkDPJckaJ9dB4L9xJC6Iz9cklcfcFFZVrpCbPiWB8BY1U4pIqIYicuLTXq1wqiJ1Swl2vqrbZwWDDZpkb1KQva+aseF7YxlutBPhrLZgqDRjOJvgMlghzqZZgpwg508aCn6YUElQO7aM2+KoXOO0ja6Lf7gIcoqRYF6BE+ixRlBaBcA7IUaC0Zh367qPrxE+rNnSI+XcaOzarXh/5X1L1xy6ZVW0PNltxN14bXHWSjdMKNnY8bv5JJ4qWdS/KiTHDJC7syBFtGeXohy8NFoTOyRkOvSuJQDNy621V8MQjE8iV9p9cT630xQxHhDErkfnIWk9zmavB/3HD0uavRo7JWg5JzxvlJQeroF49TJhGav1eJ4xQzfxdgU6JJtT6B7LVZYp8gbaCLTATtVDJZVmuOif7Xf+Ykvdx6+DNRrLd4FHwOOgESfAyOAgOg+OgH9BwFn4Ov4bfoi/R9+hH9PM8NAo3OQ+DLYt+/QW93/ep</latexit>

+ +. . .∗ ∗

∗∗

. . .A(1) = A�M (0) =<latexit sha1_base64="5o1T7rSPAcWisJxzn6zrZuYseSw=">AAACi3icbVFNbxMxEPUuX2WhNKXc4GDRIpUD0S5QgRCgVhESF6QikW6lbAi2d7axYnst21uIrOWX8Mc4ceE3cMab5EBaRrL05r0Zj/2GasGtS9OfUXzl6rXrNzZuJrdub97Z6m3fPbF1YxgMWS1qc0qJBcEVDB13Ak61ASKpgJzOBp2en4OxvFaf3FzDWJIzxSvOiAvUpPe90MTQ+pvP0v4Bk61PCltVRHIxx0mh4CurpSSq9MVg0PpCEjdlRPhB266reb5SKfV5J4Zr7Yzr59ole0ef/X72uMVv8BF+gj+ELF1ke+2kt5v200XgyyBbgd3DB79+fEEIHU96f4qyZo0E5Zgg1o6yVLuxJ8ZxJiDMbSxowmbkDEYBKiLBjv3CpxY/CkyJq9qEoxxesP92eCKtnUsaKruv2ItaR/5PGzWuejn2XOnGgWLLQVUjsKtxZzouuQHmgqUlJ8zw8FbMpsQQ5sJq1qZMQZyDa/EaSWVnVHbRlsvg5Gk/7DH7GBx7i5axge6jh2gfZegFOkTv0TEaIoZ+R0m0E92LN+Nn8av49bI0jlY9O2gt4nd/ASOIx3E=</latexit><latexit sha1_base64="YKMhRR6LrD1wEDDNmhFn/CAoiGs=">AAACi3icbVHNbhMxEPYuf2WhNFBucLBokcqBaJcfgRCgVhESF6QikW6lbIjGXm9jxfZatrcQWcuTcOEheAdegRMXnoEz3iQH0jKSpW++b8Zjf0O04Nal6c8ovnDx0uUrG1eTa9c3b2z1bt46snVjKBvSWtTmmIBlgis2dNwJdqwNA0kEy8ls0On5KTOW1+qDm2s2lnCieMUpuEBNel8KDYbUn32W9p9S2fqksFUFkos5TgrFPtFaSlClLwaD1hcS3JSC8IO2XVfzfKUS4vNODNfaGddPtEt2Dz76vexBi1/hA/wQvwtZush220lvJ+2ni8DnQbYCO/t3f30l377/OJz0/hRlTRvJlKMCrB1lqXZjD8ZxKliY21imgc7ghI0CVCCZHfuFTy2+H5gSV7UJRzm8YP/t8CCtnUsSKruv2LNaR/5PGzWuej72XOnGMUWXg6pGYFfjznRccsOoC5aWHKjh4a2YTsEAdWE1a1OmTJwy1+I1ksjOqOysLefB0aN+2GP2Pjj2Gi1jA91B99AeytAztI/eokM0RBT9jpJoO7odb8aP4xfxy2VpHK16ttFaxG/+AkbSyZE=</latexit><latexit sha1_base64="YKMhRR6LrD1wEDDNmhFn/CAoiGs=">AAACi3icbVHNbhMxEPYuf2WhNFBucLBokcqBaJcfgRCgVhESF6QikW6lbIjGXm9jxfZatrcQWcuTcOEheAdegRMXnoEz3iQH0jKSpW++b8Zjf0O04Nal6c8ovnDx0uUrG1eTa9c3b2z1bt46snVjKBvSWtTmmIBlgis2dNwJdqwNA0kEy8ls0On5KTOW1+qDm2s2lnCieMUpuEBNel8KDYbUn32W9p9S2fqksFUFkos5TgrFPtFaSlClLwaD1hcS3JSC8IO2XVfzfKUS4vNODNfaGddPtEt2Dz76vexBi1/hA/wQvwtZush220lvJ+2ni8DnQbYCO/t3f30l377/OJz0/hRlTRvJlKMCrB1lqXZjD8ZxKliY21imgc7ghI0CVCCZHfuFTy2+H5gSV7UJRzm8YP/t8CCtnUsSKruv2LNaR/5PGzWuej72XOnGMUWXg6pGYFfjznRccsOoC5aWHKjh4a2YTsEAdWE1a1OmTJwy1+I1ksjOqOysLefB0aN+2GP2Pjj2Gi1jA91B99AeytAztI/eokM0RBT9jpJoO7odb8aP4xfxy2VpHK16ttFaxG/+AkbSyZE=</latexit><latexit sha1_base64="n+BNmYk6K7bFRSjlI9zcvn4Pfo0=">AAACi3icbVFNb9QwEHVCgRIoXSg3LhZbpHJglfAhEALUalWJC1KR2KbSZlnZzqRrre1YtlNYWeF/cuc3cMbZ5sC2jGTpzXszHvsN1YJbl6a/ovjG1s1bt7fvJHfv7dzfHTx4eGrrxjCYsFrU5owSC4IrmDjuBJxpA0RSATldjjs9vwBjea2+upWGmSTnilecEReo+eBnoYmh9Q+fpaPXTLY+KWxVEcnFCieFgu+slpKo0hfjcesLSdyCEeHHbbup5nmvUurzTgzX2iXXr7RL9o+++YPsWYs/4CP8HH8OWbrO9tv5YJiO0nXg6yDrwRD1cTIf/CnKmjUSlGOCWDvNUu1mnhjHmYAwt7GgCVuSc5gGqIgEO/Nrn1r8NDAlrmoTjnJ4zf7b4Ym0diVpqOy+Yq9qHfk/bdq46u3Mc6UbB4pdDqoagV2NO9NxyQ0wFywtOWGGh7ditiCGMBdWszFlAeICXIs3SCo7o7KrtlwHpy9GYY/Zl3R4+LG3bBs9Rk/QAcrQG3SIPqETNEEM/Y6SaC96FO/EL+N38fvL0jjqe/bQRsTHfwHV+sU6</latexit>

M (1)<latexit sha1_base64="Lv63yaF7zAjRPNS3ES5xIPUAuow=">AAACenicbVHLahsxFNVM+kjdl5suuuhGJCkkFMxMSWlXJeBNN4UU6kzA4xpJcycW1gtJk8SI+ZD8Tf+hq676F4VCF9XYXtRJLwgO59yrczmXGsGdz7IfSbp15+69+9sPeg8fPX7ytP9s59TpxjIYMS20PaPEgeAKRp57AWfGApFUQEHnw04vLsA6rtUXvzAwkeRc8Zoz4iM17cvSEEv1VcizwVsm29ArXV0TycUC90oFl0xLSVQVyuGwDaUkfsaICMO23VSLYq1SGopOjN+6OTdHxvf2P30NB/lhu99O+3vZIFsWvg3yNdg7fvHz+htC6GTa/1VWmjUSlGeCODfOM+MngVjPmYBo0zgwhM3JOYwjVESCm4RlLC1+FZkK19rGpzxesv9OBCKdW0gaO7vN3U2tI/+njRtfv58ErkzjQbGVUd0I7DXuMsYVt8B8TLDihFked8VsRixhPl5iw2UG4gJ8izdIKrug8pux3AanbwbxbPnnmNgHtKpt9BLtogOUo3foGH1EJ2iEGPqOfidpspX8SXfTw/T1qjVN1jPP0UalR38Bb+jFXQ==</latexit><latexit sha1_base64="teLr6tZlb8EbITwXXhe5GGeLj1I=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DlXVtzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu51AjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG8tgxLTQ9pwSB4IrGHnuBZwbC0RSAQWdDzu9uATruFbv/cLARJILxWvOiI/UtC9LQyzVn0KeDV4w2YZe6eqaSC4WuFcq+Mi0lERVoRwO21BK4meMiDBs2021KNYqpaHoxPitm3NzbHzv4O2HcJgftQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNRKUZ4I4N84z4yeBWM+ZgGjTODCEzckFjCNURIKbhGUsLX4amQrX2sanPF6y/04EIp1bSBo7u83dVa0j/6eNG1+/mgSuTONBsZVR3QjsNe4yxhW3wHxMsOKEWR53xWxGLGE+XmLDZQbiEnyLN0gqu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQY+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFD/saa</latexit><latexit sha1_base64="teLr6tZlb8EbITwXXhe5GGeLj1I=">AAACenicbVHLahRBFK3uRI3jI6MuXLgpkggJwtAtEV1JYDZuhAhOOjA9DlXVtzPF1Iuq6uhQ9Bf4BX6Dn+EnuHLlXwiCC6tnZuEkXig4nHNvncu51AjufJb9SNKt7Rs3b+3c7t25e+/+bv/BwzOnG8tgxLTQ9pwSB4IrGHnuBZwbC0RSAQWdDzu9uATruFbv/cLARJILxWvOiI/UtC9LQyzVn0KeDV4w2YZe6eqaSC4WuFcq+Mi0lERVoRwO21BK4meMiDBs2021KNYqpaHoxPitm3NzbHzv4O2HcJgftQfttL+fDbJl4esgX4P9k8c/v3z7vP31dNr/VVaaNRKUZ4I4N84z4yeBWM+ZgGjTODCEzckFjCNURIKbhGUsLX4amQrX2sanPF6y/04EIp1bSBo7u83dVa0j/6eNG1+/mgSuTONBsZVR3QjsNe4yxhW3wHxMsOKEWR53xWxGLGE+XmLDZQbiEnyLN0gqu6Dyq7FcB2fPB/Fs+buY2Gu0qh30BO2hQ5Sjl+gEvUGnaIQY+o5+J2mylfxJ99Kj9NmqNU3WM4/QRqXHfwFD/saa</latexit><latexit sha1_base64="H/bOfJQUqoOyZv/KORW3Hlivp8k=">AAACenicbVFNaxsxENVu+pG6X25z7EXEKSQUzG5JaU8l4EsvhRTqbMDrmpFWGwvrC0mb1oj9lT3ljwQKOVTr7KFOOiB4vDejN7whRnDns+wqSXcePHz0ePfJ4Omz5y9eDl+9PnO6sZRNqRbanhNwTHDFpp57wc6NZSCJYAVZTTq9uGTWca2++7VhcwkXitecgo/UYihLA5boXyHPxh+obMOgdHUNkos1HpSK/aRaSlBVKCeTNpQS/JKCCJO23VaLolcJCUUnxm/diptj4wcHX3+Ew/yoPWgXw1E2zjaF74O8ByPU1+lieF1WmjaSKU8FODfLM+PnAaznVLBo0zhmgK7ggs0iVCCZm4dNLC1+G5kK19rGpzzesP9OBJDOrSWJnd3m7q7Wkf/TZo2vP80DV6bxTNFbo7oR2GvcZYwrbhn1McGKA7U87orpEixQHy+x5bJk4pL5Fm+RRHZB5XdjuQ/O3o/j2fJv2ejkcx/ZLnqD9tEhytFHdIK+oFM0RRT9Rn+SNNlJbtL99Ch9d9uaJv3MHtqq9Pgvn8zCzg==</latexit>

A(1) is a known matrix, and its second row is the same as the secondrow of M (1). . . and similarly the second column.

<latexit sha1_base64="Tttjqs+Uyzp2ZjCKLPVo/O+aD/8=">AAAC8XicbVJdaxNBFJ1dv2r8ivroy2AjVJCwW5QWH6SSFxGECqYpZGO4O5lthszHMjPbNA77J3zzrfjqL/JV/A0+ezcJ2LReWDicc+6du2cmL6VwPkl+RvG16zdu3tq63bpz9979B+2Hj46cqSzjfWakscc5OC6F5n0vvOTHpeWgcskH+azX6INTbp0w+pNflHyk4ESLQjDwSI3bv7MSbG7OQpp0XzFVh1bmigKUkAvayjSfM6MU6EnIer06ZAr8lIEMvbreVAeDtZrnYdCIONbNRPmy9K3O289hJ31ed6hwFOhMm7mm6LXi7AXFbiq8o44zg9CaeePyU04dKE5hjf+ppqCdD+uB2cRgazPCCVwZLG59wY7xVEp363F7O+kmy6JXQboG2wevf309J4Qcjtt/cDKrFNeeSXBumCalHwWwXjDJ8e8qx0tgMzjhQ4QaN3WjsLyNmj5DZkILY/HTni7Zix0BlHMLlaOzCcxd1hryf9qw8sX+KAhdVp5rtjqoqCT1hjZXSyfCcuYxgokAZgXuStkULDCPD2DjlCmXp9zXdIPMVRNUejmWq+Bot4uvJf2Iib0hq9oiT8hTskNSskcOyDtySPqERe+jMlpEX2IXf4vP4+8raxytex6TjYp//AVNMvDB</latexit><latexit sha1_base64="cX+jGmsshSNBow0XWn0GQw+yaNg=">AAAC8XicbVJNixNBEO0ZXV3jV9Sjl8aNsoKEGVEUD7KSiwjCimazkImhptOzadIfQ3fPZmMzf8KbN9Gjv8ir+Bs8W5ME3OxaMPB471V1zevOSymcT5KfUXzh4taly9tXWlevXb9xs33r9oEzlWW8z4w09jAHx6XQvO+Fl/ywtBxULvkgn/UafXDMrRNGf/CLko8UHGlRCAYeqXH7d1aCzc1JSJPuU6bq0MpcUYASckFbmeZzZpQCPQlZr1eHTIGfMpChV9eb6mCwVvM8DBoRx7qZKJ+UvtV59THspg/rDhWOAp1pM9cUvVacPKLYTYV31HFmEFozb1x+yqkDxSms8T/VFLTzdj0wmxhsbUY4gSuDxa1P2TGeSuluPW7vJN1kWfQ8SNdgZ+/Fr8/ft94/2B+3/+BkVimuPZPg3DBNSj8KYL1gkuPfVY6XwGZwxIcINW7qRmF5GzW9j8yEFsbipz1dsqc7AijnFipHZxOYO6s15P+0YeWL56MgdFl5rtnqoKKS1BvaXC2dCMuZxwgmApgVuCtlU7DAPD6AjVOmXB5zX9MNMldNUOnZWM6Dg8ddfC3pO0zsJVnVNrlL7pFdkpJnZI+8JvukT1j0JiqjRfQpdvGX+Gv8bWWNo3XPHbJR8Y+/C6DxQg==</latexit><latexit sha1_base64="cX+jGmsshSNBow0XWn0GQw+yaNg=">AAAC8XicbVJNixNBEO0ZXV3jV9Sjl8aNsoKEGVEUD7KSiwjCimazkImhptOzadIfQ3fPZmMzf8KbN9Gjv8ir+Bs8W5ME3OxaMPB471V1zevOSymcT5KfUXzh4taly9tXWlevXb9xs33r9oEzlWW8z4w09jAHx6XQvO+Fl/ywtBxULvkgn/UafXDMrRNGf/CLko8UHGlRCAYeqXH7d1aCzc1JSJPuU6bq0MpcUYASckFbmeZzZpQCPQlZr1eHTIGfMpChV9eb6mCwVvM8DBoRx7qZKJ+UvtV59THspg/rDhWOAp1pM9cUvVacPKLYTYV31HFmEFozb1x+yqkDxSms8T/VFLTzdj0wmxhsbUY4gSuDxa1P2TGeSuluPW7vJN1kWfQ8SNdgZ+/Fr8/ft94/2B+3/+BkVimuPZPg3DBNSj8KYL1gkuPfVY6XwGZwxIcINW7qRmF5GzW9j8yEFsbipz1dsqc7AijnFipHZxOYO6s15P+0YeWL56MgdFl5rtnqoKKS1BvaXC2dCMuZxwgmApgVuCtlU7DAPD6AjVOmXB5zX9MNMldNUOnZWM6Dg8ddfC3pO0zsJVnVNrlL7pFdkpJnZI+8JvukT1j0JiqjRfQpdvGX+Gv8bWWNo3XPHbJR8Y+/C6DxQg==</latexit><latexit sha1_base64="VK4rU9EpcZU7wssaOn1MkXU9zo4=">AAAC8XicbVJdaxNBFJ1dv2r8ivroy2AiVJCwW5T2SSp5EUGoYLqFbAx3Z2ebIfPFzGzTOOwP8U189Rf57m/w2dl0wab1wsLhnHPv3D0zhebMuiT5FcU3bt66fWfnbu/e/QcPH/UfPzm2qjaETojiypwUYClnkk4cc5yeaENBFJxmxXLc6tkZNZYp+dmtNZ0JOJWsYgRcoOb937kGU6hznyajN0Q0vpfbqgLB+Br3cklXRAkBsvT5eNz4XIBbEOB+3DTbapZ1alH4rBXDWLtk+rV2veG7L343fdkMMbMY8FKqlcTBa9j5Kxy6MXMWW0pUgEatWpdbUGxBUAwd/qeqCg8/dgPzUoXWdoRlYWUwYetL9hBPLeSomfcHySjZFL4O0g4MUFdH8/6fMJnUgkpHOFg7TRPtZh6MY4TT8He1pRrIEk7pNEAZNrUzv7mNBr8ITIkrZcInHd6wlzs8CGvXogjONjB7VWvJ/2nT2lUHM8+krh2V5OKgqubYKdxeLS6ZocSFCEoGxLCwKyYLMEBceABbpywoP6OuwVtkIdqg0quxXAfHe6PwWtJPyeDwbRfZDnqGnqNdlKJ9dIjeoyM0QST6EOloHX2Nbfwt/h7/uLDGUdfzFG1V/PMvfiruMw==</latexit>

Similar to previous slide, the second row of M (1) is the second rowof U , and we can also compute the second column of L

<latexit sha1_base64="60/troj1TYD128sHf56q3VXeEk4=">AAAC8nicbVLLihNBFK1uX2N8RV26uTgRRhiG9KAoLmQgG0GFEc1kIB1DdfXtSZF6tFXVibHon3DpSnHrD7kV/AXXVidZTGbmQsHlnPs8t7JScOu63d9RfOnylavXtq63bty8dftO++69I6srw7DPtNDmOKMWBVfYd9wJPC4NUpkJHGTTXsMPZmgs1+qDW5Q4kvRE8YIz6gI0bv9NS2oy/dkn3b2nTNa+ldqioJKLBbRShXOmpaQq92mvV/tUUjdhVPheXW+yg8GazTI/aMhQ1k55+aR0rfc8lKMGnIYw24zryoIVPMddcBMEi0yrHIyegy6g8/aj30ke1x3g9iK639mF0BHmCIwqoMJqCFOUlcPT4UGZSqplxptOPW5vd/e6S4PzTrJ2tg9e/Pn6nRByOG7/S3PNKonKMUGtHSbd0o08NY4zgWG9ymJJ2ZSe4DC4ikq0I788Rw2PApJDoU14ysESPZ3hqbR2IbMQ2Shmz3INeBE3rFzxfOS5apZVbNWoqEQjbHNbyLlB5sLlck6Z4WFWYBNqKHPhB2x0maCYoathA8xkI1RyVpbzztH+Xvguybug2Euysi3ygDwkOyQhz8gBeUUOSZ+w6HX0KfoS+djF3+If8c9VaBytc+6TDYt//QfGe/CX</latexit><latexit sha1_base64="mNDZu0sMOMU2T05K53ukYAH8qdA=">AAAC8nicbVJNaxNBGJ5drdb4FfXo5cVGqVDCriiKBynkIqhQqWkK2RhmZ99thszHujObGIf9Ex69Sa/+Ia+Cf8Gzs0kOTdsXBl6e5/183kkLwY2Not9BeOXq1rXr2zdaN2/dvnO3fe/+kdFVybDPtNDlcUoNCq6wb7kVeFyUSGUqcJBOew0/mGFpuFaf7KLAkaQniuecUeuhcftvUtAy1V9dHHVfMFm7VmLynEouFtBKFM6ZlpKqzCW9Xu0SSe2EUeF6db3JDgZrNk3doCF9WTPlxfPCtg65L0dLsBr8bDOuKwNG8Az3wE4QDDKtMij1HHQOnQ+f3W78tO4AN5fR/c4e+I4wR2BUARVGg5+iqCyeDffKVFItM9536nF7J+pGS4OLTrx2dvZf//l+unX45GDc/pdkmlUSlWWCGjOMo8KOHC0tZwL9epXBgrIpPcGhdxWVaEZueY4aHnskg1yX/ikLS/RshqPSmIVMfWSjmDnPNeBl3LCy+auR46pZVrFVo7wSjbDNbSHjJTLrL5dxykruZwU2oSVl1v+AjS4TFDO0NWyAqWyEis/LctE5etb13yX+6BV7Q1a2TR6SR2SXxOQl2SdvyQHpExa8C74E3wIX2vBH+DM8XYWGwTrnAdmw8Nd/hOnxGA==</latexit><latexit sha1_base64="mNDZu0sMOMU2T05K53ukYAH8qdA=">AAAC8nicbVJNaxNBGJ5drdb4FfXo5cVGqVDCriiKBynkIqhQqWkK2RhmZ99thszHujObGIf9Ex69Sa/+Ia+Cf8Gzs0kOTdsXBl6e5/183kkLwY2Not9BeOXq1rXr2zdaN2/dvnO3fe/+kdFVybDPtNDlcUoNCq6wb7kVeFyUSGUqcJBOew0/mGFpuFaf7KLAkaQniuecUeuhcftvUtAy1V9dHHVfMFm7VmLynEouFtBKFM6ZlpKqzCW9Xu0SSe2EUeF6db3JDgZrNk3doCF9WTPlxfPCtg65L0dLsBr8bDOuKwNG8Az3wE4QDDKtMij1HHQOnQ+f3W78tO4AN5fR/c4e+I4wR2BUARVGg5+iqCyeDffKVFItM9536nF7J+pGS4OLTrx2dvZf//l+unX45GDc/pdkmlUSlWWCGjOMo8KOHC0tZwL9epXBgrIpPcGhdxWVaEZueY4aHnskg1yX/ikLS/RshqPSmIVMfWSjmDnPNeBl3LCy+auR46pZVrFVo7wSjbDNbSHjJTLrL5dxykruZwU2oSVl1v+AjS4TFDO0NWyAqWyEis/LctE5etb13yX+6BV7Q1a2TR6SR2SXxOQl2SdvyQHpExa8C74E3wIX2vBH+DM8XYWGwTrnAdmw8Nd/hOnxGA==</latexit><latexit sha1_base64="Pi8FbPpo2iYo7nwB8wSuh8ImkKM=">AAAC8nicbVLLihNBFK1uX2N8RV26uZgIIwxD96DoSgayEVQY0UwG0jFUV9+eFKlHW1WdGIv+EXfi1h/yA/wF11ZnspjMzIWCyzn3eW7lleDWJcmfKL52/cbNWzu3O3fu3rv/oPvw0bHVtWE4ZFpoc5JTi4IrHDruBJ5UBqnMBY7y+aDlRws0lmv12a0qnEh6qnjJGXUBmnb/ZhU1uf7m02T/JZON72S2LKnkYgWdTOGSaSmpKnw2GDQ+k9TNGBV+0DTb7Gi0YfPcj1oylLVzXr2oXOcTD+WoAachzLbgurZgBS9wD9wMwSLTqgCjl6BL6H/44nfT500fuL2KHvb3IHSEJQKjCqiwGsIUVe3wfHhQppZqnfG+30y7vWQ/WRtcdtKN0yMbO5p2/2WFZrVE5Zig1o7TpHITT43jTGBYr7ZYUTanpzgOrqIS7cSvz9HAs4AUUGoTnnKwRs9neCqtXck8RLaK2YtcC17FjWtXvp54rtplFTtrVNaiFba9LRTcIHPhcgWnzPAwK7AZNZS58AO2usxQLNA1sAXmshUqvSjLZef4YD98l/Rj0jt8s5FshzwhT8kuSckrckjekiMyJCx6F32Nvkc+dvGP+Gf86yw0jjY5j8mWxb//A/dz7gk=</latexit>

M (n�1)<latexit sha1_base64="HBSNu9mxxn1lmgYewjTRXN2em8I=">AAACfHicbVHLihNBFK1uZ3SMj4m6cOGmcCKMyIRu8bWSgWzcCCOY6YF0DLeqqydF6kVV9Wgo+kP8G3/ChSv/wo0gVidZmBkvFBzOubfO5VxiBHc+y34k6bWd3es39m72bt2+c3e/f+/+qdONpWxMtdD2jIBjgis29twLdmYsA0kEK8hi1OnFBbOOa/XRLw2bSjhXvOYUfKRmfV0asER/CXk2fEllG3qlq2uQXCxxr1TsM9VSgqpCORq1oZTg5xREGLXttloUG5WQUHRi/NYtuHlhfG/w/lM4VEf503bQzvoH2TBbFb4K8g04OH748+s3hNDJrP+rrDRtJFOeCnBukmfGTwNYz6lg0ahxzABdwDmbRKhAMjcNq2Ba/CQyFa61jU95vGL/nQggnVtKEju73d1lrSP/p00aX7+ZBq5M45mia6O6Edhr3KWMK24Z9THDigO1PO6K6RwsUB9vseUyZ+KC+RZvkUR2QeWXY7kKTp8P4+HyDzGxt2hde+gReowOUY5eo2P0Dp2gMaLoO/qd7CS7yZ90kD5Lj9atabKZeYC2Kn31Fw6jxgw=</latexit><latexit sha1_base64="Lh2urYVQDLLQngrkyGb8qnvzY/A=">AAACfHicbVHLbhMxFPUMKZTwaCgLFmwsGqQi1GgGAWWFKmXDBqlIpFMpE6Jrj6ex4sfI9rSNrPkCvoBv4DP4Bhas+As2SAhPkgVpuZKlo3Pu9bk6l1SCW5ckP6L4Rmfr5q3t2907d+/d3+k92D2xujaUjagW2pwSsExwxUaOO8FOK8NAEsEyMh+2enbOjOVafXSLik0knClecgouUNOeziswRF/6NBm8orLx3dyWJUguFribK3ZBtZSgCp8Ph43PJbgZBeGHTbOpZtlaJcRnrRi+tXNevaxct//+k99XB+mzpt9Me3vJIFkWvg7SNdg7evTzy7fPna/H096vvNC0lkw5KsDacZpUbuLBOE4FC0a1ZRXQOZyxcYAKJLMTvwymwU8DU+BSm/CUw0v23wkP0tqFJKGz3d1e1Vryf9q4duWbieeqqh1TdGVU1gI7jduUccENoy5kWHCghoddMZ2BAerCLTZcZkycM9fgDZLINqj0aizXwcmLQThc+iEk9hatahs9Rk/QPkrRITpC79AxGiGKvqPfUSfaiv7E/fh5fLBqjaP1zEO0UfHrv+Kqx0k=</latexit><latexit sha1_base64="Lh2urYVQDLLQngrkyGb8qnvzY/A=">AAACfHicbVHLbhMxFPUMKZTwaCgLFmwsGqQi1GgGAWWFKmXDBqlIpFMpE6Jrj6ex4sfI9rSNrPkCvoBv4DP4Bhas+As2SAhPkgVpuZKlo3Pu9bk6l1SCW5ckP6L4Rmfr5q3t2907d+/d3+k92D2xujaUjagW2pwSsExwxUaOO8FOK8NAEsEyMh+2enbOjOVafXSLik0knClecgouUNOeziswRF/6NBm8orLx3dyWJUguFribK3ZBtZSgCp8Ph43PJbgZBeGHTbOpZtlaJcRnrRi+tXNevaxct//+k99XB+mzpt9Me3vJIFkWvg7SNdg7evTzy7fPna/H096vvNC0lkw5KsDacZpUbuLBOE4FC0a1ZRXQOZyxcYAKJLMTvwymwU8DU+BSm/CUw0v23wkP0tqFJKGz3d1e1Vryf9q4duWbieeqqh1TdGVU1gI7jduUccENoy5kWHCghoddMZ2BAerCLTZcZkycM9fgDZLINqj0aizXwcmLQThc+iEk9hatahs9Rk/QPkrRITpC79AxGiGKvqPfUSfaiv7E/fh5fLBqjaP1zEO0UfHrv+Kqx0k=</latexit><latexit sha1_base64="XScbCk2zEv1XWkApTz3OWV+xF9o=">AAACfHicbVFdaxNBFJ1dW63xo1EffRlMhIo07IpfT1LIiy9CBdMtZGO4MzvbDJkvZmarYdif6YN/xBdBnE33wbReGDicc++cy7nECO58lv1M0lt7+7fvHNwd3Lv/4OHh8NHjM6cbS9mMaqHtOQHHBFds5rkX7NxYBpIIVpD1tNOLS2Yd1+qL3xi2kHCheM0p+Egth7o0YIn+HvJs8obKNgxKV9cgudjgQanYN6qlBFWFcjptQynBryiIMG3bXbUoepWQUHRi/NatuXlt/GD86Ws4Usf5i3bcLoejbJJtC98EeQ9GqK/T5fBXWWnaSKY8FeDcPM+MXwSwnlPBolHjmAG6hgs2j1CBZG4RtsG0+HlkKlxrG5/yeMv+OxFAOreRJHZ2u7vrWkf+T5s3vn6/CFyZxjNFr4zqRmCvcZcyrrhl1McMKw7U8rgrpiuwQH28xY7LiolL5lu8QxLZBZVfj+UmOHs1iYfLP2ejkw99ZAfoKXqGjlCO3qET9BGdohmi6Af6newl+8mfdJy+TI+vWtOkn3mCdip9+xc+h8N9</latexit>

14

LU algorithm - summary

A(0) = ALet

k = 1, 2, . . . , nIterate

What can go wrong?

In this way, we can work out all elements of L and U :<latexit sha1_base64="hf1pgpXNZdsvTm8xW9h7BPnTRZE=">AAACqnicbVHLbtNAFB27PEp4BViwYHNFgwRSFdkFBGKBKmUDEouCSF0UR9H1eNyMMg9rZtwQjfwpfBg/0SVrxkkWpOVKIx2dc19zblELbl2S/I7ivRs3b93ev9O7e+/+g4f9R49PrW4MZWOqhTZnBVomuGJjx51gZ7VhKAvBsmIx6vTsghnLtfruVjWbSjxXvOIUXaBm/V95jabQP32aDN9S2fpebqsKJRcr6OWKLamWElXp89Go9blEN6co/Khtd9Us26pF4bNODG3tgtdvatf7rMDNuYUlrg5hyYCigqU2C9CNAxQCmGCSKWdBVzD4MoDQEQbjwYd21j9Ihsk64DpIt+Dg+OnlJRBCTmb9P3mpadN1owKtnaRJ7aYejeNUsLBWY1mNdIHnbBKgQsns1K9tbOFFYEqotAlPOViz/1Z4lNauZBEyu5/aq1pH/k+bNK56P/Vc1Y1jim4GVY0Ap6G7CZTcMOqC4yVHanjYFegcDVIXLrczZc7EBXMt7JCF7IxKr9pyHZweDcOZ06/BsY9kE/vkGXlOXpKUvCPH5BM5IWNCo73oVXQUvY4P42/xj3iySY2jbc0TshNx+RfQfNQ1</latexit><latexit sha1_base64="YOSrimiPxUohyWJii0fngxMEcJw=">AAACqnicbVHLihNBFK3u8THGx0RduHBzcSIoDKF7VBQRGchGwcUoZjKSDqG6+vakSD2aquqJoehP8Sv8Gj/A7SxdW51kYWa8UHA4577q3LwS3Lok+RXFO9eu37i5e6tz+87de3vd+w9OrK4NwyHTQpvTnFoUXOHQcSfwtDJIZS5wlM8HrT46R2O5Vl/dssKJpGeKl5xRF6hp90dWUZPr7z5N+q+YbHwns2VJJRdL6GQKF0xLSVXhs8Gg8Zmkbsao8IOm2VZHo42a537UiqGtnfPqZeU6HxW4GbewoMsDWCAwqmChzRx07YAKAShQonIWdAm9Tz0IHaE37L1tpt39pJ+sAq6CdAP2jx5dXOy9+/n7eNr9kxWa1W03Jqi14zSp3MRT4zgTGNaqLVaUzekZjgNUVKKd+JWNDTwNTAGlNuEpByv23wpPpbVLmYfM9qf2staS/9PGtSvfTDxXVe1QsfWgshbgNLQ3gYIbZC44XnDKDA+7AptRQ5kLl9uaMkNxjq6BLTKXrVHpZVuugpPDfjhz+jk49p6sY5c8Jk/IM5KS1+SIfCDHZEhYtBM9jw6jF/FB/CX+Fo/XqXG0qXlItiIu/gJpzNX4</latexit><latexit sha1_base64="YOSrimiPxUohyWJii0fngxMEcJw=">AAACqnicbVHLihNBFK3u8THGx0RduHBzcSIoDKF7VBQRGchGwcUoZjKSDqG6+vakSD2aquqJoehP8Sv8Gj/A7SxdW51kYWa8UHA4577q3LwS3Lok+RXFO9eu37i5e6tz+87de3vd+w9OrK4NwyHTQpvTnFoUXOHQcSfwtDJIZS5wlM8HrT46R2O5Vl/dssKJpGeKl5xRF6hp90dWUZPr7z5N+q+YbHwns2VJJRdL6GQKF0xLSVXhs8Gg8Zmkbsao8IOm2VZHo42a537UiqGtnfPqZeU6HxW4GbewoMsDWCAwqmChzRx07YAKAShQonIWdAm9Tz0IHaE37L1tpt39pJ+sAq6CdAP2jx5dXOy9+/n7eNr9kxWa1W03Jqi14zSp3MRT4zgTGNaqLVaUzekZjgNUVKKd+JWNDTwNTAGlNuEpByv23wpPpbVLmYfM9qf2staS/9PGtSvfTDxXVe1QsfWgshbgNLQ3gYIbZC44XnDKDA+7AptRQ5kLl9uaMkNxjq6BLTKXrVHpZVuugpPDfjhz+jk49p6sY5c8Jk/IM5KS1+SIfCDHZEhYtBM9jw6jF/FB/CX+Fo/XqXG0qXlItiIu/gJpzNX4</latexit><latexit sha1_base64="mmUb0L3lhL3ZEkSpnFUV+0GyTAI=">AAACqnicbVHLbtNAFB27PEp4NMCSzRUJEkhVZRcQiAWqlA1ILAoiTVEcRdfj62aUeVgz44bI8qfwYfwIa8ZpFqTlSiMdnXNfc25eSeF8kvyO4r1bt+/c3b/Xu//g4aOD/uMnZ87UltOYG2nseY6OpNA09sJLOq8socolTfLlqNMnl2SdMPq7X1c0U3ihRSk4+kDN+7+yCm1ufjZpcvSWq7bpZa4sUQm5hl6macWNUqiLJhuN2iZT6BccZTNq2111Mtmqed5MOjG0dUtRval877MGvxAOVrg+hBUBRw0rY5dgag8oJZAkRdo7MCUMvwwhdIThePihnfcHyVGyCbgJ0i0YsG2czvt/ssLwuuvGJTo3TZPKzxq0XnBJYa3aUYV8iRc0DVCjIjdrNja28CIwBZTGhqc9bNh/KxpUzq1VHjK7n7rrWkf+T5vWvnw/a4Suak+aXw0qawneQHcTKIQl7oPjhUBuRdgV+AItch8utzNlQfKSfAs7ZK46o9LrttwEZ8dH4czp12Rw8nFr2T57xp6zlyxl79gJ+8RO2ZjxaC96FR1Hr+PD+Fv8I55epcbRtuYp24m4+AtZDNHi</latexit>

Ukj = A(k�1)kj

Lik = A(k�1)ik /A(k�1)

kk

A(k)ij = A(k�1)

ij � LikUkj

j = k, . . . , n

i = k, . . . , n

kth row of U :<latexit sha1_base64="LDwczRK2RGNSM5MTWLDJ/SWNBQM=">AAACgnicbVFdixMxFM2Mq9ZZP6o++hLcCuJDmVkVRUQW+uLjCnZnoVPKTSazDc0XSWbXGubdn+HfEv+Hz2baPthdLwQO59ybk5xLjODO5/mvJL11cPvO3cG97PD+g4ePho+fnDndWsqmVAttzwk4JrhiU8+9YOfGMpBEsJKsJr1eXjLruFZf/dqwuYQLxRtOwUdqMWwrA5bob6HIx2+p7EJWuaYBycUaZ5ViV1RLCaoO1WTShUqCX1IQYdJ1+2pZ7lRCQtmL8Vq34uaN8dloNfJLbPUV1g0eTUcfusXwKB/nm8I3QbEDRyeDH99/IoROF8M/Va1pK5nyVIBzsyI3fh7Aek4Fi3atYwboCi7YLEIFkrl52MTT4ReRqXGjbTzK4w3770QA6dxaktjZ/8Bd13ryf9qs9c37eeDKtJ4pujVqWoG9xn3WuOaWUR+TrDlQy+NbMV2CBerjRvZclkxcMt/hPZLIPqjieiw3wdnxOK6v+BIT+4S2NUDP0HP0EhXoHTpBn9EpmiKKfidJkiWH6UH6Ki3S19vWNNnNPEV7lX78C9WHxZA=</latexit><latexit sha1_base64="UrRyc9sZKIB9d11a5EwBCIf0cHM=">AAACgnicbVFNbxMxFPRuCw1bPkI5crFokBCHaLeAihCqKuXCsUikWykbRW+93saKv2R7W4K19174fQjxK7hwxpvkQFqeZGk0857HnldqzqxL059RvLN77/5e70Gy//DR4yf9pwfnVjWG0DFRXJmLEizlTNKxY47TC20oiJLTvFyMOj2/osYyJb+4paZTAZeS1YyAC9Ss3xQaTKm++iwdviOi9Ulh6xoE40ucFJJeEyUEyMoXo1HrCwFuToD7Udtuq3m+UcvS550YrrULpt9qlwwWAzfHRl1jVePBePChnfUP02G6KnwXZBtweNq7+fa9+vH7bNb/U1SKNIJKRzhYO8lS7aYejGOE02DXWKqBLOCSTgKUIKid+lU8LX4ZmArXyoQjHV6x/054ENYuRRk6ux/Y21pH/k+bNK5+P/VM6sZRSdZGdcOxU7jLGlfMUOJCkhUDYlh4KyZzMEBc2MiWy5zyK+pavEWWogsqux3LXXB+NAzryz6HxE7QunroOXqBXqEMHaNT9AmdoTEi6FcURUm0H+/Gr+MsfrNujaPNzDO0VfHHv+3rx6k=</latexit><latexit sha1_base64="UrRyc9sZKIB9d11a5EwBCIf0cHM=">AAACgnicbVFNbxMxFPRuCw1bPkI5crFokBCHaLeAihCqKuXCsUikWykbRW+93saKv2R7W4K19174fQjxK7hwxpvkQFqeZGk0857HnldqzqxL059RvLN77/5e70Gy//DR4yf9pwfnVjWG0DFRXJmLEizlTNKxY47TC20oiJLTvFyMOj2/osYyJb+4paZTAZeS1YyAC9Ss3xQaTKm++iwdviOi9Ulh6xoE40ucFJJeEyUEyMoXo1HrCwFuToD7Udtuq3m+UcvS550YrrULpt9qlwwWAzfHRl1jVePBePChnfUP02G6KnwXZBtweNq7+fa9+vH7bNb/U1SKNIJKRzhYO8lS7aYejGOE02DXWKqBLOCSTgKUIKid+lU8LX4ZmArXyoQjHV6x/054ENYuRRk6ux/Y21pH/k+bNK5+P/VM6sZRSdZGdcOxU7jLGlfMUOJCkhUDYlh4KyZzMEBc2MiWy5zyK+pavEWWogsqux3LXXB+NAzryz6HxE7QunroOXqBXqEMHaNT9AmdoTEi6FcURUm0H+/Gr+MsfrNujaPNzDO0VfHHv+3rx6k=</latexit><latexit sha1_base64="fst+I/SE9aHe2tlJELiziZreFgw=">AAACgnicbVFdaxQxFM2MVevUj1UffQnuCuLDMuMHLSJS2BcfK7idws6yJJk73bD5Ism0LmF+qPg/fDaznQe39ULgcM69Ocm51AjufJ7/StJ7B/cfPDx8lB09fvL02ej5i3OnW8tgzrTQ9oISB4IrmHvuBVwYC0RSASXdzHq9vALruFY//NbAUpJLxRvOiI/UatRWhliqf4Yin35isgtZ5ZqGSC62OKsUXDMtJVF1qGazLlSS+DUjIsy6bl8ty0GlNJS9GK91G24+Gp9NNhO/xlZfY93gyXzyuVuNxvk03xW+C4oBjNFQZ6vRn6rWrJWgPBPEuUWRG78MxHrOBES71oEhbEMuYRGhIhLcMuzi6fCbyNS40TYe5fGO/XciEOncVtLY2f/A3dZ68n/aovXNyTJwZVoPit0YNa3AXuM+a1xzC8zHJGtOmOXxrZitiSXMx43suaxBXIHv8B5JZR9UcTuWu+D8/TSur/iej0+/DpEdolfoNXqLCnSMTtE3dIbmiKHfSZJkyVF6kL5Li/TDTWuaDDMv0V6lX/4C+2DDpg==</latexit>

kth column of L:<latexit sha1_base64="co4Tbk+U4htEL6zQu7qd4WEZVRo=">AAAChXicbVHLbhMxFPUMhYZAS4AlG4sGiQ3RTFUeYgGVsmHBokikUykTRbbH01jxS/ad0mDNns/gt9jwGazxJFmQlitZOjrnvnwutVJ4yLJfSXpn7+69/d79/oOHB4ePBo+fnHvTOMYnzEjjLijxXArNJyBA8gvrOFFU8oIux51eXHHnhdFfYWX5TJFLLWrBCERqPrguLXHUXIc8G71mqg390tc1UUKucL/U/BszShFdhXI8bkOpCCwYkWHctrtqUWxVSkPRibGtXwp7YqE/XA5hgeOujdLY1Hj4efi+nQ+OslG2Dnwb5FtwdNr78f0nQuhsPvhTVoY1imtgkng/zTMLs0AcCCZ5nNh4bglbkks+jVATxf0srB1q8YvIVLg2Lj4NeM3+WxGI8n6laMzsPuFvah35P23aQP1uFoS2DXDNNoPqRmIwuLMbV8JxBtHMShDmRNwVswVxhEE8ys6UBZdXHFq8Q1LVGZXftOU2OD8exQvmX6JjH9AmeugZeo5eohy9RafoEzpDE8TQ72QvOUgO0/30VXqSvtmkpsm25inaifTjX8CMxts=</latexit><latexit sha1_base64="vWX9SAz86zMWHppvrlxoGuQIYTo=">AAAChXicbVE9bxMxGPZdCw2BlrSMLBYNEgvRXVWg6gCVsjAwFIn0KuWiyOfzNVb8Jfu9tsG6nYXfh1j4DyzM+JIMpOWVLD16nvfLz1sYwR0kyc8o3tp+8HCn86j7+Mnu3tPe/sGF07WlbES10PayII4JrtgIOAh2aSwjshAsK+bDVs+umXVcqy+wMGwiyZXiFacEAjXt3eaG2ELf+jQZvKGy8d3cVRWRXCxwN1fshmopiSp9Phw2PpcEZpQIP2yaTTXL1mpR+KwVQ1s35+bYQLc/78MMh11rqbCucP9T/7SZ9g6TQbIMfB+ka3B41vn29Xv54/f5tPcnLzWtJVNABXFunCYGJp5Y4FSwMLF2zBA6J1dsHKAikrmJXzrU4JeBKXGlbXgK8JL9t8IT6dxCFiGz/YS7q7Xk/7RxDdXJxHNlamCKrgZVtcCgcWs3LrllFIKZJSfU8rArpjNiCYVwlI0pMyauGTR4gyxka1R615b74OJoEC6Yfg6OvUer6KDn6AV6hVL0Dp2hj+gcjRBFv6LtaDfai3fi1/Fx/HaVGkfrmmdoI+IPfwHY8Mj0</latexit><latexit sha1_base64="vWX9SAz86zMWHppvrlxoGuQIYTo=">AAAChXicbVE9bxMxGPZdCw2BlrSMLBYNEgvRXVWg6gCVsjAwFIn0KuWiyOfzNVb8Jfu9tsG6nYXfh1j4DyzM+JIMpOWVLD16nvfLz1sYwR0kyc8o3tp+8HCn86j7+Mnu3tPe/sGF07WlbES10PayII4JrtgIOAh2aSwjshAsK+bDVs+umXVcqy+wMGwiyZXiFacEAjXt3eaG2ELf+jQZvKGy8d3cVRWRXCxwN1fshmopiSp9Phw2PpcEZpQIP2yaTTXL1mpR+KwVQ1s35+bYQLc/78MMh11rqbCucP9T/7SZ9g6TQbIMfB+ka3B41vn29Xv54/f5tPcnLzWtJVNABXFunCYGJp5Y4FSwMLF2zBA6J1dsHKAikrmJXzrU4JeBKXGlbXgK8JL9t8IT6dxCFiGz/YS7q7Xk/7RxDdXJxHNlamCKrgZVtcCgcWs3LrllFIKZJSfU8rArpjNiCYVwlI0pMyauGTR4gyxka1R615b74OJoEC6Yfg6OvUer6KDn6AV6hVL0Dp2hj+gcjRBFv6LtaDfai3fi1/Fx/HaVGkfrmmdoI+IPfwHY8Mj0</latexit><latexit sha1_base64="2TeFyVwqZoO2us6MTF/2zEf2hNQ=">AAAChXicbVHLbhMxFPUMhZZAS4AlG4sEiQ3RDCq0YgGVsmHBokikUykTRdceT2PFL9me0siaD2XDZ7DGk86CtFzJ0tE59+VziRHc+Sz7laQP9h4+2j94PHjy9PDo2fD5iwunG0vZjGqh7SUBxwRXbOa5F+zSWAaSCFaQ9bTTi2tmHdfqh98YtpBwpXjNKfhILYc3pQFL9E3Is8kHKtswKF1dg+RigwelYj+plhJUFcrptA2lBL+iIMK0bXfVouhVQkLRibGtW3NzbPxgvB77FY67NlJhXePxt/GndjkcZZNsG/g+yHswQn2cL4d/ykrTRjLlqQDn5nlm/CKA9ZwKFic2jhmga7hi8wgVSOYWYetQi99EpsK1tvEpj7fsvxUBpHMbSWJm9wl3V+vI/2nzxteni8CVaTxT9HZQ3QjsNe7sxhW3jPpoZsWBWh53xXQFFqiPR9mZsmLimvkW75BEdkbld225Dy7eT+IF8+/Z6Oxzb9kBeoVeo7coRyfoDH1F52iGKPqd7CWHyVG6n75Lj9OPt6lp0te8RDuRfvkL5mXE8Q==</latexit>

subtract M (k�1):<latexit sha1_base64="VZHjxJeEKP17j9+gIXIZJ5jHbYI=">AAAChnicbVHLbhMxFPUMFEKANsCCBRuLFqksiGYQVRELFCkbNkhFIp1KmRBdezyNFb9kewqRNR/C3/AbrPoXrPEkWZCWK1k6OudeH/tcYgR3Pst+J+mdu3v37vce9B8+erx/MHjy9NzpxlI2oVpoe0HAMcEVm3juBbswloEkghVkOe704opZx7X66leGzSRcKl5zCj5S88GqNGCJ/hHybHhCZRv6patrkFyscL9U7DvVUoKqQjket6GU4BcURBi37a5aFFuVkFB0YrzWLbl5Z3zfNcRboB4fff4Wjpdv8tft0Yd2PjjMhtm68G2Qb8Hh6Pn1z18IobP54E9ZadpIpjwV4Nw0z4yfBbCeU8GiZeOYAbqESzaNUIFkbhbWEbX4VWQqXGsbj/J4zf47EUA6t5Ikdna/cDe1jvyfNm18/X4WuDKNZ4pujOpGYK9xlzeuuGXUxzQrDtTy+FZMF9DFEbey47Jg4or5Fu+QRHZB5TdjuQ3O3w7jCvMvMbGPaFM99AK9RMcoR6dohD6hMzRBFF0ne8l+cpD20mF6kp5uWtNkO/MM7VQ6+gsmocgx</latexit><latexit sha1_base64="g26oJxhPH4AK2KUJiV9+BC69mWA=">AAAChnicbVHLbhMxFPUMLYQAbYAFCzYWLVJZEM1UVEUsUKRs2CAViXQqZUJ07fE0VvwY2Z5CZM0X9Av6DXxGv6Kr/gVrPEkWpOVKlo7OudfHPpdUgluXJDdR/GBr++GjzuPuk6fPdnZ7z1+cWl0bykZUC23OCFgmuGIjx51gZ5VhIIlgGZkPWz27YMZyrb67RcUmEs4VLzkFF6hpb5FXYIj+5dOkf0Rl47u5LUuQXCxwN1fsJ9VSgip8Phw2PpfgZhSEHzbNpppla5UQn7ViuNbOefWhcl1bE2eAOrz/9Yc/mL9P3zX7n5ppby/pJ8vC90G6BnuDV7dX15dbv0+mvT95oWktmXJUgLXjNKncxINxnAoWLGvLKqBzOGfjABVIZid+GVGD3wamwKU24SiHl+y/Ex6ktQtJQmf7C3tXa8n/aePalR8nnquqdkzRlVFZC+w0bvPGBTeMupBmwYEaHt6K6QzaOMJWNlxmTFww1+ANksg2qPRuLPfB6WE/rDD9FhL7jFbVQa/RG3SAUnSMBugLOkEjRNFttB3tRLtxJ+7HR/HxqjWO1jMv0UbFg7/6qMlu</latexit><latexit sha1_base64="g26oJxhPH4AK2KUJiV9+BC69mWA=">AAAChnicbVHLbhMxFPUMLYQAbYAFCzYWLVJZEM1UVEUsUKRs2CAViXQqZUJ07fE0VvwY2Z5CZM0X9Av6DXxGv6Kr/gVrPEkWpOVKlo7OudfHPpdUgluXJDdR/GBr++GjzuPuk6fPdnZ7z1+cWl0bykZUC23OCFgmuGIjx51gZ5VhIIlgGZkPWz27YMZyrb67RcUmEs4VLzkFF6hpb5FXYIj+5dOkf0Rl47u5LUuQXCxwN1fsJ9VSgip8Phw2PpfgZhSEHzbNpppla5UQn7ViuNbOefWhcl1bE2eAOrz/9Yc/mL9P3zX7n5ppby/pJ8vC90G6BnuDV7dX15dbv0+mvT95oWktmXJUgLXjNKncxINxnAoWLGvLKqBzOGfjABVIZid+GVGD3wamwKU24SiHl+y/Ex6ktQtJQmf7C3tXa8n/aePalR8nnquqdkzRlVFZC+w0bvPGBTeMupBmwYEaHt6K6QzaOMJWNlxmTFww1+ANksg2qPRuLPfB6WE/rDD9FhL7jFbVQa/RG3SAUnSMBugLOkEjRNFttB3tRLtxJ+7HR/HxqjWO1jMv0UbFg7/6qMlu</latexit><latexit sha1_base64="hHvQ89mLTtItSaTr2fIWW0MoqpA=">AAAChnicbVFNbxMxFPQuFEKANsCRi0WKVA5Eu4iqiAOKlAsXpCKRbqVsiGyvt7HiL9lvC5G1P5QT/4Iz3nQPpOVJlkYz73nsedRK4SHLfiXpvfsHDx4OHg0fP3l6eDR69vzCm8YxPmdGGndJiedSaD4HAZJfWseJopIXdDPr9OKaOy+M/gZby5eKXGlRC0YgUqvRtrTEUfMz5NnklKk2DEtf10QJucXDUvMfzChFdBXK2awNpSKwZkSGWdvuq0XRq5SGohPjtX4j7HsLQ99QcIQBPv7yPZxs3uZv2uOP7Wo0zibZrvBdkPdgjPo6X43+lJVhjeIamCTeL/LMwjIQB4JJHi0bzy1hG3LFFxFqorhfhl1ELX4dmQrXxsWjAe/YfycCUd5vFY2d3S/8ba0j/6ctGqg/LIPQtgGu2Y1R3UgMBnd540o4ziCmWQnCnIhvxWxNujjiVvZc1lxec2jxHklVF1R+O5a74OLdJK4w/5qNp5/6yAboJXqFTlCOztAUfUbnaI4Y+p0cJIfJUTpIJ+lpenbTmib9zAu0V+n0L1aFxaI=</latexit>

i, j � k<latexit sha1_base64="UhKl5Vjx0MXkh8XMwL1s8OFoMSk=">AAAB8nicbVBNS8NAEJ3Ur1q/qh69LBbBg5REBD1JwYvHCvYD2lA220m7dpONuxuhhP4MLx4U8eqv8ea/cdvmoK0PBh7vzTAzL0gE18Z1v53Cyura+kZxs7S1vbO7V94/aGqZKoYNJoVU7YBqFDzGhuFGYDtRSKNAYCsY3Uz91hMqzWV8b8YJ+hEdxDzkjBordfgZeSDdAT6SUa9ccavuDGSZeDmpQI56r/zV7UuWRhgbJqjWHc9NjJ9RZTgTOCl1U40JZSM6wI6lMY1Q+9ns5Ak5sUqfhFLZig2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMx4nqcGYzReFqSBGkun/pM8VMiPGllCmuL2VsCFVlBmbUsmG4C2+vEya51XPrXp3F5XadR5HEY7gGE7Bg0uowS3UoQEMJDzDK7w5xnlx3p2PeWvByWcO4Q+czx/SspBH</latexit><latexit sha1_base64="UhKl5Vjx0MXkh8XMwL1s8OFoMSk=">AAAB8nicbVBNS8NAEJ3Ur1q/qh69LBbBg5REBD1JwYvHCvYD2lA220m7dpONuxuhhP4MLx4U8eqv8ea/cdvmoK0PBh7vzTAzL0gE18Z1v53Cyura+kZxs7S1vbO7V94/aGqZKoYNJoVU7YBqFDzGhuFGYDtRSKNAYCsY3Uz91hMqzWV8b8YJ+hEdxDzkjBordfgZeSDdAT6SUa9ccavuDGSZeDmpQI56r/zV7UuWRhgbJqjWHc9NjJ9RZTgTOCl1U40JZSM6wI6lMY1Q+9ns5Ak5sUqfhFLZig2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMx4nqcGYzReFqSBGkun/pM8VMiPGllCmuL2VsCFVlBmbUsmG4C2+vEya51XPrXp3F5XadR5HEY7gGE7Bg0uowS3UoQEMJDzDK7w5xnlx3p2PeWvByWcO4Q+czx/SspBH</latexit><latexit sha1_base64="UhKl5Vjx0MXkh8XMwL1s8OFoMSk=">AAAB8nicbVBNS8NAEJ3Ur1q/qh69LBbBg5REBD1JwYvHCvYD2lA220m7dpONuxuhhP4MLx4U8eqv8ea/cdvmoK0PBh7vzTAzL0gE18Z1v53Cyura+kZxs7S1vbO7V94/aGqZKoYNJoVU7YBqFDzGhuFGYDtRSKNAYCsY3Uz91hMqzWV8b8YJ+hEdxDzkjBordfgZeSDdAT6SUa9ccavuDGSZeDmpQI56r/zV7UuWRhgbJqjWHc9NjJ9RZTgTOCl1U40JZSM6wI6lMY1Q+9ns5Ak5sUqfhFLZig2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMx4nqcGYzReFqSBGkun/pM8VMiPGllCmuL2VsCFVlBmbUsmG4C2+vEya51XPrXp3F5XadR5HEY7gGE7Bg0uowS3UoQEMJDzDK7w5xnlx3p2PeWvByWcO4Q+czx/SspBH</latexit><latexit sha1_base64="UhKl5Vjx0MXkh8XMwL1s8OFoMSk=">AAAB8nicbVBNS8NAEJ3Ur1q/qh69LBbBg5REBD1JwYvHCvYD2lA220m7dpONuxuhhP4MLx4U8eqv8ea/cdvmoK0PBh7vzTAzL0gE18Z1v53Cyura+kZxs7S1vbO7V94/aGqZKoYNJoVU7YBqFDzGhuFGYDtRSKNAYCsY3Uz91hMqzWV8b8YJ+hEdxDzkjBordfgZeSDdAT6SUa9ccavuDGSZeDmpQI56r/zV7UuWRhgbJqjWHc9NjJ9RZTgTOCl1U40JZSM6wI6lMY1Q+9ns5Ak5sUqfhFLZig2Zqb8nMhppPY4C2xlRM9SL3lT8z+ukJrzyMx4nqcGYzReFqSBGkun/pM8VMiPGllCmuL2VsCFVlBmbUsmG4C2+vEya51XPrXp3F5XadR5HEY7gGE7Bg0uowS3UoQEMJDzDK7w5xnlx3p2PeWvByWcO4Q+czx/SspBH</latexit>

This all works (and the decomposition exists) if A(k�1)kk 6= 0 for all k,

otherwise it fails (see later)<latexit sha1_base64="euDDMOaKHwb9tCQjMswS5TIYGVc=">AAAC53icbVLLbtNAFB2bVzGPprBkc0WDlEpQ2QgEKxSUDcsiNU2lOETj8XUz8ozHzIybRiN/AzvEls+CD2HNOMmCtNzV1Tlz7uPcyWrBjY3jX0F46/adu/f27kcPHj56vN87eHJmVKMZjpkSSp9n1KDgFY4ttwLPa41UZgInWTnq+MklasNVdWpXNc4kvah4wRm1Hpr3fqc11Zm6ckl8/JbJ1kWpKQoquVhBlFa4ZEpKWuUuHY1al0pqF4wKN2rbXXYy2bJZ5iYd6cuaktdvahudLrgBKgQslS4NDLwA7AIhRy+vleHdKIBXfltzBLyA/scvblC+So7auSvL1jf6CnEfCqXXZfpl/2WUppHyRfSSGwRuoaBc+NoGEQS1qL22dxgfx+uAm0myTQ6HHw72h4SQk3nvT5or1kisLBPUmGkS13bmqLacCfQ7NQZrykp6gVOfVlSimbn1DVp44ZF8PWKhKgtr9F+Fo9KYlcz8y84mc53rwP9x08YW72eOV3VjsWKbRkUjwCroDgo518isP1fOKdPeSwZsQTVl3oTdLgsUl2hb2AEz2RmVXLflZnL2+tj/keRz5xjZxB55Rp6TAUnIOzIkn8gJGRMWDIMiUEEd8vBb+D38sXkaBlvNU7IT4c+/ByLqyQ==</latexit><latexit sha1_base64="lQC5SDiSIaP+1p+hCvLKdlUdhR8=">AAAC53icbVLLjtMwFHXCawiP6cCSjcUUqSNBlSAQrFBRNywHaTodqSmV49xMrdixsZ3pVFa+gR1ii/gq2PMLrHHSLugMd3V1js99nOtMcWZsHP8Mwhs3b92+s3c3unf/wcP93sGjUyNrTWFCJZf6LCMGOKtgYpnlcKY0EJFxmGbluOWnF6ANk9WJXSuYC3JesYJRYj206P1KFdGZvHRJPHxNReOi1BQFEYyvcZRWsKJSCFLlLh2PG5cKYpeUcDduml12Ot2yWeamLenLmpKpV8pGJ0tmMOEcr6QuDR54AbZLwDl4uZKGtaNguPTbmiPMCtx//8kNyhfJUbNwZdn4Rp9x3MeF1F2Zftl/HqVpJH0RvWIGMLO4IIz72gYAc2JBe23vMB7GXeDrSbJNDkfvDvZHv3/Mjxe9P2kuaS2gspQTY2ZJrOzcEW0Z5eB3qg0oQktyDjOfVkSAmbvuBg1+5pG8G7GQlcUd+q/CEWHMWmT+ZWuTucq14P+4WW2Lt3PHKlVbqOimUVFzbCVuD4pzpoFaf66cEaq9lxTTJdGEehN2uyyBX4Bt8A6Yidao5Kot15PTl0P/R5KPrWNoE3voCXqKBihBb9AIfUDHaIJoMAqKQAYqZOGX8Gv4bfM0DLaax2gnwu9/AdPq7K4=</latexit><latexit sha1_base64="lQC5SDiSIaP+1p+hCvLKdlUdhR8=">AAAC53icbVLLjtMwFHXCawiP6cCSjcUUqSNBlSAQrFBRNywHaTodqSmV49xMrdixsZ3pVFa+gR1ii/gq2PMLrHHSLugMd3V1js99nOtMcWZsHP8Mwhs3b92+s3c3unf/wcP93sGjUyNrTWFCJZf6LCMGOKtgYpnlcKY0EJFxmGbluOWnF6ANk9WJXSuYC3JesYJRYj206P1KFdGZvHRJPHxNReOi1BQFEYyvcZRWsKJSCFLlLh2PG5cKYpeUcDduml12Ot2yWeamLenLmpKpV8pGJ0tmMOEcr6QuDR54AbZLwDl4uZKGtaNguPTbmiPMCtx//8kNyhfJUbNwZdn4Rp9x3MeF1F2Zftl/HqVpJH0RvWIGMLO4IIz72gYAc2JBe23vMB7GXeDrSbJNDkfvDvZHv3/Mjxe9P2kuaS2gspQTY2ZJrOzcEW0Z5eB3qg0oQktyDjOfVkSAmbvuBg1+5pG8G7GQlcUd+q/CEWHMWmT+ZWuTucq14P+4WW2Lt3PHKlVbqOimUVFzbCVuD4pzpoFaf66cEaq9lxTTJdGEehN2uyyBX4Bt8A6Yidao5Kot15PTl0P/R5KPrWNoE3voCXqKBihBb9AIfUDHaIJoMAqKQAYqZOGX8Gv4bfM0DLaax2gnwu9/AdPq7K4=</latexit><latexit sha1_base64="jwf9vfMB7uakjzU4ZtuLEvc0LIw=">AAAC53icbVLLjtMwFHXCawivAks2V7RIHQmqBIFghYq6YTlI0+lITakc52ZqxY6D7UynsvIN7BBbPgs+hDVOpws6w11dneNzH+c6qwU3No5/BeGNm7du3zm4G927/+Dho97jJydGNZrhlCmh9GlGDQpe4dRyK/C01khlJnCWlZOOn52jNlxVx3ZT40LSs4oXnFHroWXvd1pTnakLl8Sjt0y2LkpNUVDJxQaitMI1U1LSKnfpZNK6VFK7YlS4Sdvus7PZjs0yN+tIX9aUvH5T2+h4xQ1QIWCtdGlg6AVgVwg5enmtDO9GAbzw25pD4AUMPn5xw/JVctguXVm2vtFXiAdQKL0tMygHL6M0jZQvotfcIHALBeXC1zaIIKhF7bW9fjyKtwHXk2SX9Mkujpa9P2muWCOxskxQY+ZJXNuFo9pyJtDv1BisKSvpGc59WlGJZuG2N2jhhUfy7YiFqixs0X8VjkpjNjLzLzubzFWuA//HzRtbvF84XtWNxYpdNioaAVZBd1DIuUZm/blyTpn2XjJgK6op8ybsd1mhOEfbwh6Yyc6o5Kot15OT1yP/R5LPcX/8YWfZAXlGnpMhScg7MiafyBGZEhaMgyJQQR3y8Fv4Pfxx+TQMdpqnZC/Cn38Bu5Hp6w==</latexit>

15

Matlabfunction [ L,U ] = LUdecomp(A)%LUdecomp: decompose square matrix A as A=LU% where L is lower triag and U is upper triag [m, n]=size(A); if m ~= n, error('Input must be a square matrix.'), end L=zeros(n); U=zeros(n); % remember A^(0) is A AofK = A; for k = 1:n % at this point AofK is A^(k-1) for j = k:n U(k,j) = AofK(k,j); end % check that we don't divide by zero... if U(k,k) == 0 error('** A^(k-1)_{k,k}==0 in LU decomp') end for i = k:n L(i,k) = AofK(i,k)/U(k,k); end % now modify AofK so that we can use it in the % next iteration for i = k:n for j = k:n AofK(i,j) = AofK(i,j) - L(i,k)*U(k,j); end end endend Example: LUdecomp.m

16

Page 5: Motivation 5 Gaussian Elimination Computational Projects

function [ L,U ] = LUdecomp(A)%LUdecomp: decompose square matrix A as A=LU% where L is lower triag and U is upper triag [m, n]=size(A); if m ~= n, error('Input must be a square matrix.'), end L=zeros(n); U=zeros(n); AofK = A; % this is A^(0) for k = 1:n AofK for j = k:n U(k,j) = AofK(k,j); end for i = k:n L(i,k) = AofK(i,k)/U(k,k); end % now modify AofK so that we can use it in the % next iteration for i = k:n for j = k:n AofK(i,j) = AofK(i,j) - L(i,k)*U(k,j); end end end end

All togetherfunction [ x ] = Asolve( A,b )%Asolve: solve Ax=b by LU decomposition [L,U] = LUdecomp(A) y = Lsolve(L,b); x = Usolve(U,y);end

function [ y ] = Lsolve( L, b )%Lsolve: solve Ly=b where L is lower triangular [n,m] = size(b); s = size(L); if any( s ~= [n,n] ) || m ~= 1 error('Either L or b is the wrong size.') end y = b; for k = 1:n for j = 1:k-1 y(k) = y(k) - L(k,j)*y(1:k-1); end y(k) = y(k)/L(k,k); endend

function [ x ] = Usolve( U, y )%Usolve: solve Ux=y where U is upper triangular [n,m] = size(y); s = size(U); if any( s ~= [n,n] ) || m ~= 1 error('Either U or y is the wrong size.') end x = y; for k = n:-1:1 for j = k+1:n x(k) = x(k) - U(k,j)*x(j); end x(k) = x(k)/U(k,k); endend

17

Complexity

LU decomposition: we loop over k = 1, 2, . . . n and for each k weneed to compute the elements A(k)

ij , which requires (n� k)2

multiplication operations<latexit sha1_base64="4ALuQQulTU8Pod8BDqH1fc1EfJQ=">AAADKnicbVJNb9NAEF2brxA+msIRDisapFYqURyBQEigokiIA4cikaZSnUbr9Thesh9md900WvmExH9B4gR/gN/AreLKb+DMOsmBtMxp/N68nfGbSQrOjO12z4Lw0uUrV681rjdv3Lx1e6O1eefAqFJTGFDFlT5MiAHOJAwssxwOCw1EJByGybRf88MT0IYp+d7OCxgJMpEsY5RYD403g/txQXSiTl3U7TyhonLN2GQZEYzPcTOWMKNKCCJTF/f7lYsFsTkl3PWrap0dDldskrhhTfpnzZQVjwvbjDWZTCDVbJL7DwunNsnc2wFOwcsLZVg9S/UczwBzpQqs/MS4PX0R7fZ241RZg2Ub+y44UxoDobkn23W1BEixVbh+prSAbQ4YOAiQXtN+NXbsQ3Xstqc7VXsXz3LmlRo+lkyDp7flo+nOca+NRckt82YvPcGqAL3ITDVubXU73UXgi0m0Srb2Xjc+/0AI7Y9bf/y8tKwHoJwYcxR1CztyRFtGOXhXSgMFoVMygSOfSiLAjNxijRV+6JHlP2ZKWrxA/1U4IoyZi8RX1kab81wN/o87Km32bOSYrD2SdNkoK3ntXH0TOPWGUOsXnjJCtd8GxTQnmlDrL2etSw78BGyF18BE1EZF5225mBz0Ov7KonfesZdoGQ10Dz1A2yhCT9EeeoP20QDR4FPwJfgWfA+/hj/Ds/DXsjQMVpq7aC3C338BiDsGGQ==</latexit><latexit sha1_base64="IQuq1aDjDvh/DdQcNLt7MZsaW/M=">AAADKnicbVJNixNBEJ0Zv2L8yupRD40bIQsxZIKiCMpKQDx4WMFsFjLZ0NNTk2nTH2N3z2ZDMyfB/yJ4Ujx68Sd4W7z6E8SzPUkOZtc61bxXr6vmVcU5o9p0uyd+cO78hYuXapfrV65eu36jsXVzX8tCERgQyaQ6iLEGRgUMDDUMDnIFmMcMhvGsX/HDI1CaSvHGLHIYczwVNKUEGwdNtvw7UY5VLI9t2O08JLy09UinKeaULVA9EjAnknMsEhv1+6WNODYZwcz2y3KTHQ7XbBzbYUW6Z/WM5g9yU48Unk4hUXSauQ8DxyZO7asBSsDJc6lpNUv5BM0BMSlzJN3EqDl7GrZ77SiRRiPRRK4LSqVCgEnmyGZVLQASZCSqnikMIJMBAgYchNM0n08sfVse2tZsp2y20TyjTqngXUEVOLol7s92DntNxAtmqDN75QmSOahlpstJY7vb6S4DnU3CdbK9+6L24dvv71/3Jo0/bl5SVAMQhrUehd3cjC1WhhIGzpVCQ47JDE9h5FKBOeixXa6xRPccsvrHVAqDlui/Cou51gseu8rKaH2aq8D/caPCpI/HlorKI0FWjdKCVc5VN4ESZwgxbuEJxUS5bRBEMqwwMe5yNrpkwI7AlGgDjHllVHjalrPJfq/jrix87Rx75q2i5t327notL/QeebveS2/PG3jEf+9/9D/7X4JPwY/gJPi5Kg38teaWtxHBr78WQAiB</latexit><latexit sha1_base64="IQuq1aDjDvh/DdQcNLt7MZsaW/M=">AAADKnicbVJNixNBEJ0Zv2L8yupRD40bIQsxZIKiCMpKQDx4WMFsFjLZ0NNTk2nTH2N3z2ZDMyfB/yJ4Ujx68Sd4W7z6E8SzPUkOZtc61bxXr6vmVcU5o9p0uyd+cO78hYuXapfrV65eu36jsXVzX8tCERgQyaQ6iLEGRgUMDDUMDnIFmMcMhvGsX/HDI1CaSvHGLHIYczwVNKUEGwdNtvw7UY5VLI9t2O08JLy09UinKeaULVA9EjAnknMsEhv1+6WNODYZwcz2y3KTHQ7XbBzbYUW6Z/WM5g9yU48Unk4hUXSauQ8DxyZO7asBSsDJc6lpNUv5BM0BMSlzJN3EqDl7GrZ77SiRRiPRRK4LSqVCgEnmyGZVLQASZCSqnikMIJMBAgYchNM0n08sfVse2tZsp2y20TyjTqngXUEVOLol7s92DntNxAtmqDN75QmSOahlpstJY7vb6S4DnU3CdbK9+6L24dvv71/3Jo0/bl5SVAMQhrUehd3cjC1WhhIGzpVCQ47JDE9h5FKBOeixXa6xRPccsvrHVAqDlui/Cou51gseu8rKaH2aq8D/caPCpI/HlorKI0FWjdKCVc5VN4ESZwgxbuEJxUS5bRBEMqwwMe5yNrpkwI7AlGgDjHllVHjalrPJfq/jrix87Rx75q2i5t327notL/QeebveS2/PG3jEf+9/9D/7X4JPwY/gJPi5Kg38teaWtxHBr78WQAiB</latexit><latexit sha1_base64="5cEwcbav6TkusnmQtrJ4rjPbB/4=">AAADKnicbVJNb9NAELXNVwlfKRzhsCJBSqUS2REIhAQqyoUDhyKRplKcRuv1OF68H2Z33TRa+cSvQeIE/4RbxZXfwJl1kgNpmdP4vXk74zeTlIxqE4bnfnDl6rXrN3Zutm7dvnP3Xnv3/pGWlSIwIpJJdZxgDYwKGBlqGByXCjBPGIyTYtjw41NQmkrx0SxLmHI8FzSjBBsHzXb9R3GJVSLPbBT2nxNe21asswxzypaoFQtYEMk5FqmNh8PaxhybnGBmh3W9zY7HGzZJ7Lgh3bO6oOWz0rRihedzSBWd5+7DwJlJMvt+hFJw8lJq2sxSv0ILQEzKEkk3MeoWr6P9wX6cSqOR6CLXBWVSIcAkd2S3qRYAKTISNc9UBpDJAQEDDsJpum9nln6qT2yv2Ku7+2iRU6dU8LmiChzdE0+LvZNBF/GKGerMXnuCZAlqlel61u6E/XAV6HISbZKOt4nDWfuPm5dUzQCEYa0nUViaqcXKUMLAuVJpKDEp8BwmLhWYg57a1Rpr9MQh63/MpDBohf6rsJhrveSJq2yM1he5BvwfN6lM9nJqqWg8EmTdKKtY41xzEyh1hhDjFp5STJTbBkEkxwoT4y5nq0sO7BRMjbbAhDdGRRdtuZwcDfruyqIPYefgzcayHe+h99jreZH3wjvw3nmH3sgj/hf/q//d/xF8C34G58GvdWngbzQPvK0Ifv8FzvYERQ==</latexit>

The total number of multiplications in this step isPnk=1(n� k)2 = O(n3), the other steps in the algorithm are O(n2)

<latexit sha1_base64="CLfdbzFf9of4OSdlZ5DD06bMqpE=">AAADAHicbVJLj9MwEHbCaymvAuLExWKL1EpQJQUEHBZV6oUbi7TdLmraynEmiVU/IttZqKIIiRMc+RfcEFf+Cb8DiTNO2wPdZSTbo++b8Xi+cVxwZmwQ/PL8CxcvXb6yd7V17fqNm7fat+8cG1VqCmOquNInMTHAmYSxZZbDSaGBiJjDJF6OGn5yCtowJY/sqoCZIJlkKaPEOmjR/h0VRMfqQxUG/WdU1FUrMmlKBOMr3IokvKdKCCKTKhqN6ioSxOaU8GpU17vsZLJl47iaNKS71ixZ8bSwrUiTLINEsyy3raMcsFWWcCxLEYPGKsWi5Ja5bjePMphJbHNmsLFQYHd2IlOKRbU8COu5xF35eNmbD/ABftOV8ye9ziMXDVi5Ta9TthcAJjxTmtlcYKIBd5rwQa9TL9r7QT9YGz7vhFtnf/jy670hQuhw0f4TJYqWAqSlnBgzDYPCziqiLaMcXLOlgYLQJclg6lxJBJhZtR5OjR86JMGp0m5Ji9fovxkVEcasROwiG/3MWa4B/8dNS5u+mFVMFqUFSTeF0pI7dXEzaZwwDdS6OSaMUCcDo5jmRBNq3X/YqZIDPwVb4x0wFo1Q4VlZzjvHg777POFbp9grtLE9dB89QF0UoudoiF6jQzRG1HvnffQ+e1/8T/43/7v/YxPqe9ucu2jH/J9/Aamu9Qs=</latexit><latexit sha1_base64="MLYlfxGS3tJLKAiJJ48R2cUEoLk=">AAADAHicbVJLj9MwEHbCaymvAuLExWKL1JWgSgpo4bBopV64sUjb7aKmrRxnklj1I7KdhSoKSJzgyC/gCifElX/C70DijNP2QHcZyfbo+2Y8nm8cF5wZGwS/PP/c+QsXL21dbl25eu36jfbNW0dGlZrCkCqu9HFMDHAmYWiZ5XBcaCAi5jCK54OGH52ANkzJQ7soYCJIJlnKKLEOmrV/RwXRsXpbhUHvCRV11YpMmhLB+AK3IglvqBKCyKSKBoO6igSxOSW8GtT1Jjsardk4rkYN6a41c1Y8Lmwr0iTLINEsy23rMAdslSUcy1LEoLFKsSi5Za7b1aMMZhLbnBlsLBTYnZ3IlGJWzffCeipxVz6c70z7eA+/7Mrpo53OAxcNWLlNL1PWFwAmPFOa2VxgogF3mvD+TqeetbeDXrA0fNYJ1872/rPPd3a/fHt3MGv/iRJFSwHSUk6MGYdBYScV0ZZRDq7Z0kBB6JxkMHauJALMpFoOp8b3HZLgVGm3pMVL9N+MighjFiJ2kY1+5jTXgP/jxqVNn04qJovSgqSrQmnJnbq4mTROmAZq3RwTRqiTgVFMc6IJte4/bFTJgZ+ArfEGGItGqPC0LGedo37PfZ7wlVPsOVrZFrqL7qEuCtEu2kcv0AEaIuq99t57H71P/gf/q//d/7EK9b11zm20Yf7Pvzr89sg=</latexit><latexit sha1_base64="MLYlfxGS3tJLKAiJJ48R2cUEoLk=">AAADAHicbVJLj9MwEHbCaymvAuLExWKL1JWgSgpo4bBopV64sUjb7aKmrRxnklj1I7KdhSoKSJzgyC/gCifElX/C70DijNP2QHcZyfbo+2Y8nm8cF5wZGwS/PP/c+QsXL21dbl25eu36jfbNW0dGlZrCkCqu9HFMDHAmYWiZ5XBcaCAi5jCK54OGH52ANkzJQ7soYCJIJlnKKLEOmrV/RwXRsXpbhUHvCRV11YpMmhLB+AK3IglvqBKCyKSKBoO6igSxOSW8GtT1Jjsardk4rkYN6a41c1Y8Lmwr0iTLINEsy23rMAdslSUcy1LEoLFKsSi5Za7b1aMMZhLbnBlsLBTYnZ3IlGJWzffCeipxVz6c70z7eA+/7Mrpo53OAxcNWLlNL1PWFwAmPFOa2VxgogF3mvD+TqeetbeDXrA0fNYJ1872/rPPd3a/fHt3MGv/iRJFSwHSUk6MGYdBYScV0ZZRDq7Z0kBB6JxkMHauJALMpFoOp8b3HZLgVGm3pMVL9N+MighjFiJ2kY1+5jTXgP/jxqVNn04qJovSgqSrQmnJnbq4mTROmAZq3RwTRqiTgVFMc6IJte4/bFTJgZ+ArfEGGItGqPC0LGedo37PfZ7wlVPsOVrZFrqL7qEuCtEu2kcv0AEaIuq99t57H71P/gf/q//d/7EK9b11zm20Yf7Pvzr89sg=</latexit><latexit sha1_base64="LuUuXKMSr1UE1jFVrp4uypP8pbA=">AAADAHicbVJLj9MwEHbCaymPLXDkYtEitRJUSQHBZdFKvXBjkbbbRU1bOc4ksepHZDsLqyhC4gT/hBviyj/hdyBxxmlzoLuMZHv0fTMezzeOC86MDYJfnn/l6rXrN/Zudm7dvnN3v3vv/olRpaYwpYorfRoTA5xJmFpmOZwWGoiIOczi9aThZ2egDVPy2J4XsBAkkyxllFgHrbq/o4LoWH2swmD0goq66kQmTYlg/Bx3IgkfqBKCyKSKJpO6igSxOSW8mtT1LjubtWwcV7OGdNeaNSueF7YTaZJlkGiW5bZznAO2yhKOZSli0FilWJTcMtft9lEGM4ltzgw2Fgrszn5kSrGq1gdhvZR4IJ+uh8sxPsBvB3L5bNh/4qIBK7fpTUp7AWDCM6WZzQUmGnC/CR8P+/Wq2wtGwcbwZSdsnR5q7WjV/RMlipYCpKWcGDMPg8IuKqItoxxcs6WBgtA1yWDuXEkEmEW1GU6NHzskwanSbkmLN+i/GRURxpyL2EU2+pmLXAP+j5uXNn21qJgsSguSbgulJXfq4mbSOGEaqHVzTBihTgZGMc2JJtS6/7BTJQd+BrbGO2AsGqHCi7Jcdk7GI/d5wndB7/B1K9keeogeoQEK0Ut0iN6gIzRF1HvvffK+eF/9z/43/7v/Yxvqe23OA7Rj/s+/narzrA==</latexit>

Given L and U , solving for x is easily checked to be O(n2).<latexit sha1_base64="ySQ0uafwhAhk6hQqjelj/h9os3o=">AAACy3icbVLLjtMwFHXCayivDizZGCZIg4SqZASaWaGRugAhEINopyM1pXKcm9SqH5HtlBYTiQ2/xX/wI6xx2i7oDHd1dM69vsfHzirOjI3j30F47fqNm7f2bnfu3L13/0F3/+G5UbWmMKSKK32REQOcSRhaZjlcVBqIyDiMsnm/1UcL0IYpObCrCiaClJIVjBLrqWn3V1oRnamlS+LeKyoa10lNURDB+Ap3UglfqRKCyNyl/X7jUkHsjBLu+k2zq45GWzXL3KgV/bFmzqqXle2kmpQl5JqVM9t5wxYgcfQ+wn4OR8PoBU4tLG1WOKP4gskSF0rjaBk1mBkMxLRW6AzoHHJsFc4ARx8P5Zej51GvmXYP4l68LnwVJFtwcPrkZPADIXQ27f5Jc0VrAdJSTowZJ3FlJ45oyygH77s2UBE6JyWMPZREgJm4dc4NfuaZfG2vUNLiNfvvhCPCmJXIfGcbhbmsteT/tHFti5OJY7KqLUi6WVTUvL1u+2g4Zxqo9TnkjFDNvFefCNGEWv+0O1tmwBdgG7xDZqINKrkcy1VwftTz/yD55BN7jTa1hx6jp+gQJegYnaK36AwNEQ2i4F3wORiEH0ITfgu/b1rDYDvzCO1U+PMvD8DfxA==</latexit><latexit sha1_base64="jlVTNrBFoG0SaYS9gPW91me99mA=">AAACy3icbVLLjtMwFHXCayiPKbBkY5ggDRKqkhGIWaGRugAhEINopyM1ZeQ4N6lVPyLbKS0mSzb8Av/CL7BiwY+wxmm7oDPc1dE59/oeHzurODM2jn8H4aXLV65e27neuXHz1u3d7p27J0bVmsKQKq70aUYMcCZhaJnlcFppICLjMMpm/VYfzUEbpuTALiuYCFJKVjBKrKfOuj/SiuhMLVwS955R0bhOaoqCCMaXuJNK+ESVEETmLu33G5cKYqeUcNdvmm11NNqoWeZGreiPNTNWPa1sJ9WkLCHXrJzazks2B4mjNxH2czgaRk9wamFhs8IZxedMlrhQGkeLqMHMYCCmtUKnQGeQY6twBjh6ty8/HjyOes1Zdy/uxavCF0GyAXtHDw4H377//HV81v2T5orWAqSlnBgzTuLKThzRllEO3ndtoCJ0RkoYeyiJADNxq5wb/Mgz+cpeoaTFK/bfCUeEMUuR+c42CnNea8n/aePaFocTx2RVW5B0vaioeXvd9tFwzjRQ63PIGaGaea8+EaIJtf5pt7ZMgc/BNniLzEQbVHI+lovg5KDn/0Hy3if2Aq1rB91HD9E+StBzdIReoWM0RDSIgtfBh2AQvg1N+Dn8sm4Ng83MPbRV4de/b5HiDQ==</latexit><latexit sha1_base64="jlVTNrBFoG0SaYS9gPW91me99mA=">AAACy3icbVLLjtMwFHXCayiPKbBkY5ggDRKqkhGIWaGRugAhEINopyM1ZeQ4N6lVPyLbKS0mSzb8Av/CL7BiwY+wxmm7oDPc1dE59/oeHzurODM2jn8H4aXLV65e27neuXHz1u3d7p27J0bVmsKQKq70aUYMcCZhaJnlcFppICLjMMpm/VYfzUEbpuTALiuYCFJKVjBKrKfOuj/SiuhMLVwS955R0bhOaoqCCMaXuJNK+ESVEETmLu33G5cKYqeUcNdvmm11NNqoWeZGreiPNTNWPa1sJ9WkLCHXrJzazks2B4mjNxH2czgaRk9wamFhs8IZxedMlrhQGkeLqMHMYCCmtUKnQGeQY6twBjh6ty8/HjyOes1Zdy/uxavCF0GyAXtHDw4H377//HV81v2T5orWAqSlnBgzTuLKThzRllEO3ndtoCJ0RkoYeyiJADNxq5wb/Mgz+cpeoaTFK/bfCUeEMUuR+c42CnNea8n/aePaFocTx2RVW5B0vaioeXvd9tFwzjRQ63PIGaGaea8+EaIJtf5pt7ZMgc/BNniLzEQbVHI+lovg5KDn/0Hy3if2Aq1rB91HD9E+StBzdIReoWM0RDSIgtfBh2AQvg1N+Dn8sm4Ng83MPbRV4de/b5HiDQ==</latexit><latexit sha1_base64="uYOk2z7FdrpuiRXOiVVABdZjtHQ=">AAACy3icbVLLjtMwFHXCayiPKbBkY9EgDRKqkhEIVmikLkAIxCCm05GaMrKdm9SqH5HtlBaTJb/Ff/AjrHE6XdAZ7uronHt9j49Na8GtS9PfUXzt+o2bt/Zu9+7cvXd/v//g4anVjWEwZlpoc0aJBcEVjB13As5qA0RSARO6GHX6ZAnGcq1O3LqGmSSV4iVnxAXqvP8rr4mheuWzdPiSydb3cluWRHKxxr1cwTempSSq8Plo1PpcEjdnRPhR2+6qk8lWpdRPOjEcaxe8flG7Xm5IVUFheDV3vbd8CQonHxIc5nAyTp7j3MHK0dJbLZZcVbjUBierpMXcYiC2s8LmwBZQYKcxBZx8OlBfD58lw/a8P0iH6abwVZBtwQBt6/i8/ycvNGskKMcEsXaapbWbeWIcZwKC78ZCTdiCVDANUBEJduY3Obf4aWCKjb1SK4c37L8Tnkhr15KGzi4Ke1nryP9p08aVr2eeq7pxoNjForIR3XW7R8MFN8BcyKHghBkevIZEiCHMhafd2TIHsQTX4h2Syi6o7HIsV8Hp4TD8g+xzOjh6s41sDz1GT9ABytArdITeoWM0RixKovfRl+gk/hjb+Hv846I1jrYzj9BOxT//Au+g3lc=</latexit>

The complexity of solving Ax = b by this method is O(n3), and thedominant cost is the LU decomposition.

<latexit sha1_base64="IAwvqu9yAJ6ofUFAjDkr2OD6W2s=">AAAC6XicbVLLihNBFK1uHzPGV9Slm8KJMIKEbnVQF8poNi4ER5hMBtIxVFXf7i5Sj7aqOiY0Df6CO3Hrv/gJguB3uLY6ycLMeKHhcM591L2naSm4dVH0KwgvXLx0eWf3Sufqtes3bnZv3T6xujIMhkwLbU4psSC4gqHjTsBpaYBIKmBEZ4NWH83BWK7VsVuWMJEkVzzjjDhPTbu/k5IYqhd1HPUPmGzqTmKzjEgulriTKPjEtJREpXUyGDR1IokrGBH1oGm21dFoo1Jaj1rRt7UzXj4pXScxJM8hNTwvXOe4AOyrSgEL7pZYZ9hqMecqx71Xixe0h+kSu4JbLMEVOsUe9d7tqw+PH/QeYj/Ki4BTLbkiyvlO1rUpLfl2iFNoW2vL2+X6zbS7F/WjVeDzIN6AvcPnP35+RggdTbt/klSzSoJyTBBrx3FUuklNjONMgN+qslASNiM5jD1URIKd1CsXGnzfMynOtPHf6mme/beiJtLapaQ+sz2UPau15P+0ceWyZ5Oaq7JyoNh6UFYJ7DRuLcUpN8CcNyzlhBm/O8OsIIYw543fmlKAmINr8BZJZXuo+OxZzoOTR33/l8Tv/cVeonXsorvoHtpHMXqKDtEbdISGiAWvgyL4GJhwFn4Jv4bf1qlhsKm5g7Yi/P4XVx/uNg==</latexit><latexit sha1_base64="ipp0jYbnZumcyEzQO/6Lx0ruky4=">AAAC6XicbVLLbtNAFB2bVwmvAEs2IxqkIqHILqDCAlTIhgUSRWqaSnGoZsbX9ijzcGfGIZHlLWLLDrHlX/gEJCS+gzXjJAvSciVLR+fcx9x7TEvBrYuiX0F44eKly1e2rnauXb9x81b39p0jqyvDYMi00OaYEguCKxg67gQclwaIpAJGdDpo9dEMjOVaHbpFCRNJcsUzzojz1En3d1ISQ/W8jqP+UyabupPYLCOSiwXuJAo+Mi0lUWmdDAZNnUjiCkZEPWiaTXU0WquU1qNW9G3tlJdPStdJDMlzSA3PC9c5LAD7qlLAnLsF1hm2Wsy4ynHv1fwF7WG6wK7gFktwhU6xR713O+rD44e9R9iP8iLgVEuuiHK+k3VtSku+HeIU2tba8na5fnPS3Y760TLweRCvwfb+8x8/P++dfjo46f5JUs0qCcoxQawdx1HpJjUxjjMBfqvKQknYlOQw9lARCXZSL11o8APPpDjTxn/Lp3n234qaSGsXkvrM9lD2rNaS/9PGlcueTWquysqBYqtBWSWw07i1FKfcAHPesJQTZvzuDLOCGMKcN35jSgFiBq7BGySV7aHis2c5D452+/4vid/7i71Eq9hC99B9tINitIf20Rt0gIaIBa+DIjgNTDgNv4Rfw2+r1DBY19xFGxF+/wsguu9s</latexit><latexit sha1_base64="ipp0jYbnZumcyEzQO/6Lx0ruky4=">AAAC6XicbVLLbtNAFB2bVwmvAEs2IxqkIqHILqDCAlTIhgUSRWqaSnGoZsbX9ijzcGfGIZHlLWLLDrHlX/gEJCS+gzXjJAvSciVLR+fcx9x7TEvBrYuiX0F44eKly1e2rnauXb9x81b39p0jqyvDYMi00OaYEguCKxg67gQclwaIpAJGdDpo9dEMjOVaHbpFCRNJcsUzzojz1En3d1ISQ/W8jqP+UyabupPYLCOSiwXuJAo+Mi0lUWmdDAZNnUjiCkZEPWiaTXU0WquU1qNW9G3tlJdPStdJDMlzSA3PC9c5LAD7qlLAnLsF1hm2Wsy4ynHv1fwF7WG6wK7gFktwhU6xR713O+rD44e9R9iP8iLgVEuuiHK+k3VtSku+HeIU2tba8na5fnPS3Y760TLweRCvwfb+8x8/P++dfjo46f5JUs0qCcoxQawdx1HpJjUxjjMBfqvKQknYlOQw9lARCXZSL11o8APPpDjTxn/Lp3n234qaSGsXkvrM9lD2rNaS/9PGlcueTWquysqBYqtBWSWw07i1FKfcAHPesJQTZvzuDLOCGMKcN35jSgFiBq7BGySV7aHis2c5D452+/4vid/7i71Eq9hC99B9tINitIf20Rt0gIaIBa+DIjgNTDgNv4Rfw2+r1DBY19xFGxF+/wsguu9s</latexit><latexit sha1_base64="Maa2S1FJQIqbuynvvCqnixbCwas=">AAAC6XicbVLJjtNAEG2bbQhbgCOXFgnSIKHIZhFcQAO5cEBikCaTkeIwarfLdiu9mO5ySGT5I7ghrnwVEt/BmXYmBzJDSZae3qulq57TSgqHUfQrCC9dvnL12t713o2bt27f6d+9d+xMbTlMuJHGnqTMgRQaJihQwkllgalUwjRdjDt9ugTrhNFHuK5grlihRS44Q0+d9n8nFbOpWTVxNHrBVdv0EpfnTAm5pr1Ew1dulGI6a5LxuG0SxbDkTDbjtt1Vp9OtmqbNtBN9W7cQ1fMKe4llRQGZFUWJvaMSqK+qJKwErqnJqTNyKXRBh29Xr9MhTdcUS+GoAixNRj0aftzXn589Hj6hfpQXgWZGCc00+k4Ou5SO/DChGXStjRPdcqP2tD+IRtEm6EUQb8GAbOPwtP8nyQyvFWjkkjk3i6MK5w2zKLgEv1XtoGJ8wQqYeaiZAjdvNi609JFnMpob67/N0zz7b0XDlHNrlfrM7lDuvNaR/9NmNeav5o3QVY2g+dmgvJYUDe0spZmwwNEblgnGrd+dU14yyzh643emlCCXgC3dIVPVHSo+f5aL4PjpyP8l8adocPBme7I98oA8JPskJi/JAXlPDsmE8OBdUAZfAhsuwm/h9/DHWWoYbGvuk50If/4FfarroQ==</latexit>

18

Tests...

see LUtest.m

19

Improvements

Once we have a method that works, we can think about how to

improve it<latexit sha1_base64="+xkgvXchvHRlULB2oUDWOpvN1wU=">AAACxHicbVJNixNBEO0Zv9b4FfUoQuMieJAwWZT1JAsB8aC4gtksZEKo6anJNOmPobtmYxhG/Fce/CX+ES9e7ElyMLsWNDzeq+qqftVZpaSnJPkVxdeu37h56+B2787de/cf9B8+OvO2dgLHwirrzjPwqKTBMUlSeF45BJ0pnGTLUadPLtB5ac0XWlc407AwspACKFDz/o+0ApfZr80wGbwWum16qS8K0FKteS81uBJWazB5k45GbZNqoFKAakZtu69OJjs1y5pJJ4Zr/VJWryrqpQ4WC8ydXJTU+2QE8hXyEi6QA9dIpc05lUB8Zd3Sv+xEASZQ0iw5ZLYmXtoVJ8ulrpwNZZLaef8wGSSb4FfBcAcOT47//PzOGDud93+nuRW1RkNCgffTYVLRrAFHUigMA9ceKxBLWOA0QAMa/azZGNzy54HJeWFdOIb4hv23ogHt/VpnIbPzwF/WOvJ/2rSm4s2skaaqCY3YNipq1T222xbPpUNBYRe5BOFkmJWLEhwICjvd61KiukBq+R6Z6c6o4WVbroKzo0H4AMPPwbG3bBsH7Al7xl6wITtmJ+w9O2VjJqKn0Sj6EH2M38Uq9nG9TY2jXc1jthfxt7+hA+D0</latexit><latexit sha1_base64="oQqKNvVPjyFuoXvYprIG79EsDP0=">AAACxHicbVJNixNBEJ0Zv9b4FfUoQuMieFjCjCjrSRYC4kFxBbNZyIRQ01OTadIfQ3dNYhjGiz/Kgz/Cs39EEC/2JDmYXQsaHu9VdVW/6qySwlEc/wyjK1evXb9xcLN36/adu/f69x+cOVNbjiNupLHnGTiUQuOIBEk8ryyCyiSOs8Ww08dLtE4Y/YnWFU4VzLUoBAfy1Kz/La3AZuZzk8SDl1y1TS91RQFKyDXrpRpX3CgFOm/S4bBtUgVUcpDNsG331fF4p2ZZM+5Ef61biOpFRb3UwnyOuRXzknofNEe2QlbCEhkwhVSanFEJxFbGLtxRJ3LQnhJ6wSAzNbHSrBgZJlRljS8T1M76h/Eg3gS7DJIdODw5/vP964+j36ez/q80N7xWqIlLcG6SxBVNG7AkuEQ/cO2wAr6AOU481KDQTZuNwS176pmcFcb6o4lt2H8rGlDOrVXmMzsP3EWtI/+nTWoqXk0boauaUPNto6KW3WO7bbFcWOTkd5EL4Fb4WRkvwQInv9O9LiXKJVLL9shMdUYlF225DM6eD/wHSD56x14H2zgIHgVPgmdBEhwHJ8Hb4DQYBTx8HA7Dd+H76E0kIxfV29Qo3NU8DPYi+vIXh8Li6w==</latexit><latexit sha1_base64="oQqKNvVPjyFuoXvYprIG79EsDP0=">AAACxHicbVJNixNBEJ0Zv9b4FfUoQuMieFjCjCjrSRYC4kFxBbNZyIRQ01OTadIfQ3dNYhjGiz/Kgz/Cs39EEC/2JDmYXQsaHu9VdVW/6qySwlEc/wyjK1evXb9xcLN36/adu/f69x+cOVNbjiNupLHnGTiUQuOIBEk8ryyCyiSOs8Ww08dLtE4Y/YnWFU4VzLUoBAfy1Kz/La3AZuZzk8SDl1y1TS91RQFKyDXrpRpX3CgFOm/S4bBtUgVUcpDNsG331fF4p2ZZM+5Ef61biOpFRb3UwnyOuRXzknofNEe2QlbCEhkwhVSanFEJxFbGLtxRJ3LQnhJ6wSAzNbHSrBgZJlRljS8T1M76h/Eg3gS7DJIdODw5/vP964+j36ez/q80N7xWqIlLcG6SxBVNG7AkuEQ/cO2wAr6AOU481KDQTZuNwS176pmcFcb6o4lt2H8rGlDOrVXmMzsP3EWtI/+nTWoqXk0boauaUPNto6KW3WO7bbFcWOTkd5EL4Fb4WRkvwQInv9O9LiXKJVLL9shMdUYlF225DM6eD/wHSD56x14H2zgIHgVPgmdBEhwHJ8Hb4DQYBTx8HA7Dd+H76E0kIxfV29Qo3NU8DPYi+vIXh8Li6w==</latexit><latexit sha1_base64="X4tgkFw96uNZNYX9LCvxM6msk0w=">AAACxHicbVLbihNBEO0Zb2u8RX0UoTEIPsgysyj6JAsB8UFxBbNZyIRQ01OTadKXobsmMQzjb/kt/ojP9mTzYHYtaDicU9VVfarzWklPSfI7im/cvHX7ztHdwb37Dx4+Gj5+cu5t4wROhFXWXeTgUUmDE5Kk8KJ2CDpXOM1X416frtF5ac132tY417A0spQCKFCL4a+sBpfbH22aHL8VumsHmS9L0FJt+SAzuBFWazBFm43HXZtpoEqAasddd6hOp3s1z9tpL4Zr/UrWb2oaZA6WSyycXFY0+GoE8g3yCtbIgWukyhacKiC+sW7lX/eiABMoaVYcctsQr+yGk+VS186GMkndYjhKjpNd8Osg3YMR28fZYvgnK6xoNBoSCryfpUlN8xYcSaEwDNx4rEGsYImzAA1o9PN2Z3DHXwam4KV14RjiO/bfiha091udh8zeA39V68n/abOGyvfzVpq6ITTislHZqP6x/bZ4IR0KCrsoJAgnw6xcVOBAUNjpQZcK1Rqp4wdkrnuj0qu2XAfnJ8fhA6TfktHph71lR+wZe8FesZS9Y6fsEztjEyai59E4+hx9iT/GKvZxc5kaR/uap+wg4p9/AaOl3kc=</latexit>

Eg, currently we can solve Ax = b where b is a vector, but it shouldbe easy to generalise to n⇥m matrices b.

<latexit sha1_base64="JowwP+Wec+7ek7EphSynAz2Ai9A=">AAAC93icbVJNj9MwEHXC11K+Chy5jNgicVhVCQItF9CiColjkeh2paaqbGeaWLWdyHbaraKI/SfcEFfO/BL+Aj+ACxectge6y0iW3rxne2aezUoprIuin0F47fqNm7cObnfu3L13/0H34aNTW1SG44gXsjBnjFqUQuPICSfxrDRIFZM4ZotBq4+XaKwo9Ce3LnGqaKbFXHDqPDXr/kpKalhxXsdR/xVXTd1J7HxOlZBr6CQaV7xQiuq0TgaDpk4UdTmnsh40zb46Hu9UxupxK/pr7UKUL0vXSQzNMkyNyHLXeZ8dAa+MQe18iRUCpxpsIZcIvXfnb1gPVjkan3gkLFBYIneFOQJWORAObF5UMgWGgNSuwRWQoUZDvVfYZj2dOKHQguqB78cI7rG/rN/MuodRP9oEXAXxDhyeHP/5cUEIGc66v5O04JXyrXJJrZ3EUemmNTVOcIl+xspiSfmCZjjxUFNfdlpv3qSBZ55JYV4Yv7SDDfvviZoqa9eK+Z2tbfay1pL/0yaVm7+e1kKXlUPNt4XmlWxnbx8YUmG8Y97bVFBuhO8VeE4N5c5/g70qOXrXXQN7JFOtUfFlW66C0xd9/2fij96xt2QbB+QJeUqek5gckxPygQzJiPBgGCyDz8FFuA6/hF/Db9utYbA785jsRfj9L50f8t8=</latexit><latexit sha1_base64="pXRuEw3HHLuwa+YIsn01o8OHBAw=">AAAC93icbVJNqxMxFM2MX8/6VXXpJvgquChlRpTnRnlSBJcV7OuDTilJ5s5MaD6GJNO+MgwK/hB34ta1P8K1f8EfIIgbM20X9j0vBM49J8m99yS0FNy6KPoRhJcuX7l67eB658bNW7fvdO/eO7G6MgzGTAttTimxILiCseNOwGlpgEgqYEIXw1afLMFYrtU7ty5hJkmueMYZcZ6ad38mJTFUn9VxNHjGZFN3EptlRHKxxp1EwYppKYlK62Q4bOpEElcwIuph0+yrk8lOpbSetKK/1i54+bR0ncSQPIfU8Lxwndd5H7PKGFDOl1gBZkRhq8UScO/V2Qvaw6sCjE884hYTvATmtOljWjnMHbaFrkSKKWAgdo2dxjkoMMR7BW3WU4njEiyWPez7MZx57C8bNPPuYTSINoEvgngHDo+P/nz7+L3/ezTv/kpSzSrpW2WCWDuNo9LNamIcZwL8jJWFkrAFyWHqoSK+7KzevEmDH3kmxZk2fimHN+y/J2oirV1L6ne2ttnzWkv+T5tWLns+q7kqKweKbQtllWhnbx8Yp9x4x7y3KSfMcN8rZgUxhDn/DfaqFOBddw3eI6lsjYrP23IRnDwZ+D8Tv/WOvUTbOEAP0EP0GMXoCB2jN2iExogFo2AZvA8+hOvwU/g5/LLdGga7M/fRXoRf/wKD3vTW</latexit><latexit sha1_base64="pXRuEw3HHLuwa+YIsn01o8OHBAw=">AAAC93icbVJNqxMxFM2MX8/6VXXpJvgquChlRpTnRnlSBJcV7OuDTilJ5s5MaD6GJNO+MgwK/hB34ta1P8K1f8EfIIgbM20X9j0vBM49J8m99yS0FNy6KPoRhJcuX7l67eB658bNW7fvdO/eO7G6MgzGTAttTimxILiCseNOwGlpgEgqYEIXw1afLMFYrtU7ty5hJkmueMYZcZ6ad38mJTFUn9VxNHjGZFN3EptlRHKxxp1EwYppKYlK62Q4bOpEElcwIuph0+yrk8lOpbSetKK/1i54+bR0ncSQPIfU8Lxwndd5H7PKGFDOl1gBZkRhq8UScO/V2Qvaw6sCjE884hYTvATmtOljWjnMHbaFrkSKKWAgdo2dxjkoMMR7BW3WU4njEiyWPez7MZx57C8bNPPuYTSINoEvgngHDo+P/nz7+L3/ezTv/kpSzSrpW2WCWDuNo9LNamIcZwL8jJWFkrAFyWHqoSK+7KzevEmDH3kmxZk2fimHN+y/J2oirV1L6ne2ttnzWkv+T5tWLns+q7kqKweKbQtllWhnbx8Yp9x4x7y3KSfMcN8rZgUxhDn/DfaqFOBddw3eI6lsjYrP23IRnDwZ+D8Tv/WOvUTbOEAP0EP0GMXoCB2jN2iExogFo2AZvA8+hOvwU/g5/LLdGga7M/fRXoRf/wKD3vTW</latexit><latexit sha1_base64="QkWG2Q0kxmjWlt2huUA8Kih5Ru8=">AAAC93icbVJNj9MwEHXC11K+Chy5jGiROKyqBIHgAlpUIXEsEt2u1FSV7UwSq7YT2U67VRTBP+GGuPJz+Av8AM443R7oLiNZevOe7Zl5NquksC6KfgXhtes3bt46ut27c/fe/Qf9h49ObVkbjlNeytKcMWpRCo1TJ5zEs8ogVUzijK3GnT5bo7Gi1J/dtsKForkWmeDUeWrZ/51U1LDyvImj0Suu2qaX2CyjSsgt9BKNG14qRXXaJONx2ySKuoJT2Yzb9lCdzfYqY82sE/21diWql5XrJYbmOaZG5IXrfciPgdfGoHa+xAaBUw22lGuE4fvzt2wImwKNTzwSFiiskbvSHAOrHQgHtihrmQJDQGq34ErIUaOh3ivssqFOnFBoQQ3B92ME99hfNmqX/UE0inYBV0G8BwOyj8my/ydJS14r3yqX1Np5HFVu0VDjBJfoZ6wtVpSvaI5zDzX1ZRfN7k1aeOaZFLLS+KUd7Nh/TzRUWbtVzO/sbLOXtY78nzavXfZm0Qhd1Q41vyiU1bKbvXtgSIXxjnlvU0G5Eb5X4AU1lDv/DQ6qFOhddy0ckEx1RsWXbbkKTl+M/J+JP0WDk3d7y47IE/KUPCcxeU1OyEcyIVPCg0mwDr4EX8Nt+C38Hv642BoG+zOPyUGEP/8Cn8HwMg==</latexit>

We only need to modify Lsolve and Usolve<latexit sha1_base64="SjsgBkDr9PZJJKvkWI1Y2E6rpQw=">AAACsnicbVHLbtNAFB2bR4vLI8CCBZsRFRKryEZFoCKhStmwYFEkUlfEUXQ9vk5GmYc1My5EI38OH8VPdMmacZwFabnSSEfn3NecWzaCW5emv6P4zt179w8OHyRHDx89fjJ6+uzC6tYwnDIttLkswaLgCqeOO4GXjUGQpcC8XE96Pb9CY7lW39ymwbmEpeI1Z+ACtRj9Khowpf7ps3T8jsnOJ4Wta5BcbGhSKPzBtJSgKl9MJp0vJLgVA+EnXbev5vlOLUuf92Joa9e8OWlcUhhYLrEyfLlySY5Uq9BcIVbUaSp1xesN9YVz9IvV4go7GjoOxHQgusXoOB2n26C3QbYDx2cvrq8pIeR8MfpTVJq1EpVjAqydZWnj5h6M40xgWK+12ABbwxJnASqQaOd+a2dHXwemorU24SlHt+y/FR6ktRtZhsz+x/am1pP/02atqz/MPVdN61CxYVDdit6G/ja04gaZC+ZUHJjhYVfKVmCAuXDBvSkrDL64ju6RpeyNym7achtcvB2Hc2dfg2OfyBCH5CV5Rd6QjLwnZ+QzOSdTwqKjKItOo4/xSfw9hpgNqXG0q3lO9iIWfwFO+toY</latexit><latexit sha1_base64="5yN6GNpT7+nyU0GPiR6TRksn79Y=">AAACsnicbVHLbtNAFB2bV0mBBliwYDOiQmIV2agI1CJUKRsWLIpE6oo4isbj62SUeVgz14Vo5M/hC/gaPoBtl6wZx1mQliuNdHTOfc25RS2FwyT5FcW3bt+5e2/v/mD/wcNHB8PHT86daSyHCTfS2IuCOZBCwwQFSrioLTBVSMiK1bjTs0uwThj9Bdc1zBRbaFEJzjBQ8+GPvGa2MN99mozecNX6Qe6qiikh13SQa/jGjVJMlz4fj1ufK4ZLzqQft+2ummVbtSh81omhrVuJ+qjGQW7ZYgGlFYslDjKgRofmGqCkaKgypajW1OeI9JMz8hJaGjr2xKQn2vnwMBklm6A3QboFh6fPrq4O3v/8fTYf/slLwxsFGrlkzk3TpMaZZxYFlxDWaxzUjK/YAqYBaqbAzfzGzpa+DExJK2PD00g37L8Vninn1qoImd2P3XWtI/+nTRus3s280HWDoHk/qGpkZ0N3G1oKCxyDOaVg3IqwK+VLZhnHcMGdKUsIvmBLd8hCdUal1225Cc5fj8K508/BsQ+kjz3ynLwgr0hK3pJT8pGckQnh0X6URsfRSXwUf41ZzPvUONrWPCU7Ecu/6Dvb2w==</latexit><latexit sha1_base64="5yN6GNpT7+nyU0GPiR6TRksn79Y=">AAACsnicbVHLbtNAFB2bV0mBBliwYDOiQmIV2agI1CJUKRsWLIpE6oo4isbj62SUeVgz14Vo5M/hC/gaPoBtl6wZx1mQliuNdHTOfc25RS2FwyT5FcW3bt+5e2/v/mD/wcNHB8PHT86daSyHCTfS2IuCOZBCwwQFSrioLTBVSMiK1bjTs0uwThj9Bdc1zBRbaFEJzjBQ8+GPvGa2MN99mozecNX6Qe6qiikh13SQa/jGjVJMlz4fj1ufK4ZLzqQft+2ummVbtSh81omhrVuJ+qjGQW7ZYgGlFYslDjKgRofmGqCkaKgypajW1OeI9JMz8hJaGjr2xKQn2vnwMBklm6A3QboFh6fPrq4O3v/8fTYf/slLwxsFGrlkzk3TpMaZZxYFlxDWaxzUjK/YAqYBaqbAzfzGzpa+DExJK2PD00g37L8Vninn1qoImd2P3XWtI/+nTRus3s280HWDoHk/qGpkZ0N3G1oKCxyDOaVg3IqwK+VLZhnHcMGdKUsIvmBLd8hCdUal1225Cc5fj8K508/BsQ+kjz3ynLwgr0hK3pJT8pGckQnh0X6URsfRSXwUf41ZzPvUONrWPCU7Ecu/6Dvb2w==</latexit><latexit sha1_base64="0T3f8T6dqixnD5BGfxJtnX2n2+M=">AAACsnicbVHLbtNAFB2bR4vLI8CSzYgIiVVko1YgKqFK2bBgUSRSV8RRdD2+TkaZhzUzLkQjfw4fxY+wZpx4QVquNNLROfc155aN4Nal6e8ovnf/wcOj40fJyeMnT5+Nnr+4sro1DGdMC22uS7AouMKZ407gdWMQZCkwLzfTXs9v0Fiu1Te3bXAhYaV4zRm4QC1Hv4oGTKl/+iydnDHZ+aSwdQ2Siy1NCoU/mJYSVOWL6bTzhQS3ZiD8tOsO1Twf1LL0eS+GtnbDm9PGJYWB1Qorw1drl+RItQrNFWJFnaZSV7zeUl84R79YLW6wo6HjnpjtiW45GqeTdBf0LsgGMCZDXC5Hf4pKs1aickyAtfMsbdzCg3GcCQzrtRYbYBtY4TxABRLtwu/s7OibwFS01iY85eiO/bfCg7R2K8uQ2f/Y3tZ68n/avHX1h4XnqmkdKrYfVLeit6G/Da24QeaCORUHZnjYlbI1GGAuXPBgyhqDL66jB2Qpe6Oy27bcBVfvJuHc2dd0fPFpsOyYvCKvyVuSkffkgnwml2RGWHQSZdHH6Dw+jb/HELN9ahwNNS/JQcTiL9d718U=</latexit>

ykm =1

Lkk

2

4bkm �k�1X

j=1

Lkjyjm

3

5

<latexit sha1_base64="++3C2ft+puR+bbV++JATTmWs1oE=">AAACyHicbVLLjtMwFHXCY4byKrBkY5gisZkqQaBhM2ikLEBoFh2JTkZqQuS4TuvGdizbmSGyvOEX+AH+gy/hR1jjtF3QGa5k6eqccx8616VkVJso+h2Et27fubu3f29w/8HDR4+HT56e66ZVmExxwxp1USJNGBVkaqhh5EIqgnjJSFrWSc+nl0Rp2ogvppMk52ghaEUxMh4qhr8yiVTZfLNxNH6HubODTFcV4pR1cJAJcoUbzpGY2yxJnM04MkuMmE2c22XTdMuWpU170rfVNZVvpRmMRrArbM0dPPY9K4WwjZ099VDtHMwYqcwMlhvFIcx0ywu7Oo7dV1sfxg72wpXrW6y8IFN0sTQ5HI1cMTyIxtE64M0k3iYHJ6c/kp8AgEkx/JPNG9xyIgxmSOtZHEmTW6QMxYz4pVtNJMI1WpCZTwXiROd2bbKDrzwyh1Wj/BMGrtF/KyziWne89MreB32d68H/cbPWVO9zS4VsDRF4M6hqGTQN7C8G51QRbPw95hRhRf2uEC+Rd9H4u+5MWRJ2SYyDO2DJe6Pi67bcTM7fjP0niM+8Yx/AJvbBc/ASvAYxOAIn4BOYgCnAwYvgYzAJzsLPoQyvwm4jDYNtzTOwE+H3v/5m4Pg=</latexit><latexit sha1_base64="wkgq44SzFAsC/9YQ8XcNAVVkicU=">AAACyHicbVLLbtQwFHXCqwyvAZZsDB0kNh0lFajdFFXKAoS6mEpMU2kSIsdxZjyxnch2WiLLC/gF1nwJX8KeX4A1zswsmJYrWbo659yHznXeMKp0EPz0/Bs3b92+s3N3cO/+g4ePho+fnKm6lZhMcc1qeZ4jRRgVZKqpZuS8kQTxnJE4r6Kejy+IVLQWH3XXkJSjuaAlxUg7KBv+SBok8/qzCYPxG8ytGSSqLBGnrIODRJBLXHOORGGSKLIm4UgvMGImsnabjeMNm+cm7knXVlW0ed3owWgEu8xU3MIj17OUCJvQmhMHVdbChJFSz2C+VuzBRLU8M8uj0H4y1V5oYS9c2r7F0gkSSecLncLRyGbD3WAcrAJeT8JNsnt88i36/uvL70k2/JMUNW45ERozpNQsDBqdGiQ1xYy4pVtFGoQrNCczlwrEiUrNymQLXzqkgGUt3RMartB/KwziSnU8d8reB3WV68H/cbNWl4epoaJpNRF4PahsGdQ17C8GCyoJ1u4eBUVYUrcrxAvkXNTurltTFoRdEG3hFpjz3qjwqi3Xk7P9sfsE4alz7C1Yxw54Bl6AVyAEB+AYvAcTMAXYe+698ybeqf/Bb/xLv1tLfW9T8xRshf/1L3MB408=</latexit><latexit sha1_base64="wkgq44SzFAsC/9YQ8XcNAVVkicU=">AAACyHicbVLLbtQwFHXCqwyvAZZsDB0kNh0lFajdFFXKAoS6mEpMU2kSIsdxZjyxnch2WiLLC/gF1nwJX8KeX4A1zswsmJYrWbo659yHznXeMKp0EPz0/Bs3b92+s3N3cO/+g4ePho+fnKm6lZhMcc1qeZ4jRRgVZKqpZuS8kQTxnJE4r6Kejy+IVLQWH3XXkJSjuaAlxUg7KBv+SBok8/qzCYPxG8ytGSSqLBGnrIODRJBLXHOORGGSKLIm4UgvMGImsnabjeMNm+cm7knXVlW0ed3owWgEu8xU3MIj17OUCJvQmhMHVdbChJFSz2C+VuzBRLU8M8uj0H4y1V5oYS9c2r7F0gkSSecLncLRyGbD3WAcrAJeT8JNsnt88i36/uvL70k2/JMUNW45ERozpNQsDBqdGiQ1xYy4pVtFGoQrNCczlwrEiUrNymQLXzqkgGUt3RMartB/KwziSnU8d8reB3WV68H/cbNWl4epoaJpNRF4PahsGdQ17C8GCyoJ1u4eBUVYUrcrxAvkXNTurltTFoRdEG3hFpjz3qjwqi3Xk7P9sfsE4alz7C1Yxw54Bl6AVyAEB+AYvAcTMAXYe+698ybeqf/Bb/xLv1tLfW9T8xRshf/1L3MB408=</latexit><latexit sha1_base64="BZKm4pW0nLM/AFHiffRzxfZzayE=">AAACyHicbVLLjtMwFHXCayivAks2hhaJzVTJCDSzGTRSFyDEoiPRyUhNiGzXad3YTmQ7M0SWN/wWX8KPsMZps6AzXMnS1TnnPnSucc2ZNlH0Owjv3L13/8HBw8Gjx0+ePhs+f3Ghq0YROicVr9QlRppyJuncMMPpZa0oEpjTBJfTjk+uqNKskt9MW9NMoJVkBSPIeCgf/kprpHD1w8bR5AMRzg5SXRRIMN7CQSrpNamEQHJp0+nU2VQgsyaI26lz+2yS9CzGNulI31aXrH5fm8F4DNvclsLBU9+zUIjY2NmvHiqdgymnhVlAvFMcwlQ3Ireb09h9t+Vh7GAn3LiuxcYLUsVWa5PB8djlw1E0ibYBbydxn4xAH7N8+CddVqQRVBrCkdaLOKpNZpEyjHDql240rREp0YoufCqRoDqzW5MdfOuRJSwq5Z80cIv+W2GR0LoV2Cs7H/RNrgP/xy0aU5xklsm6MVSS3aCi4dBUsLsYXDJFifH3WDJEFPO7QrJG3kXj77o3ZU35FTUO7oFYdEbFN225nVwcTfwniM+j0dnH3rID8Aq8Ae9ADI7BGfgMZmAOSPA6+BTMgvPwS1iH12G7k4ZBX/MS7EX48y8AA972</latexit>

Eg, to solve Ly = b we must now compute<latexit sha1_base64="DfSl58OlZd5aZZx8KH06GbkYQTU=">AAACmHicbVFbaxNBFJ5dbzXeUn0o6MtoK/ggYVcs7UslEEQFH6qYbiEbwszs2WTIXJaZ2aZh2F/gL/RPFHzx2dkkD6b1wMDH9505l+/QSnDrkuRXFN+6fefuvZ37nQcPHz1+0t19emZ1bRgMmRbanFNiQXAFQ8edgPPKAJFUQEbng1bPLsBYrtUPt6xgLMlU8ZIz4gI16f7MK2KovvRp0jtksvGd3JYlkVwscSdXsGBaSqIKnw8Gjc8lcTNGhB80zbaaZRuVUp+1Yihr57x6X7nOx+lb7DS2WlwAPvi6PKEHeAFY1tZhpRc4FKlqB82ku5/0klXgmyDdgP3+3tUVRgidTrp/8kKzWoJyTBBrR2lSubEnxnEmIAxRW6gIm5MpjAJURIId+5VpDX4dmAKX2oSnHF6x//7wRFq7lDRktnvZ61pL/k8b1a48Hnuu2p0UWzcqa9Fa0F4AF9wAc8HfghNmeJgVsxkxhLlwp60uMwiOuQZvkVS2RqXXbbkJzt71wlHTb8GxD2gdO+gFeoXeoBQdoT76jE7REDH0O9qLcPQyfh7340/xl3VqHG3+PENbEX//C8bFz0g=</latexit><latexit sha1_base64="zyIfk9aV2TYc/lws0+UrPYXwH0k=">AAACmHicbVHLihNBFK1uX2N8TEYXA7opnRFcSOgWZVyoBIKo4GIUMz2QDqGq+nZSpB5NVfXEUPQX+Dl+jR/gdsCNa6uTLMyMFwoO59y6j3NpJbh1SfIziq9cvXb9xs7Nzq3bd+7udvfunVhdGwZDpoU2p5RYEFzB0HEn4LQyQCQVkNH5oNWzMzCWa/XVLSsYSzJVvOSMuEBNut/zihiqv/k06b1ksvGd3JYlkVwscSdXsGBaSqIKnw8Gjc8lcTNGhB80zbaaZRuVUp+1Yihr57x6UbnOu+kz7DS2WpwBPvy0fEMP8QKwrK3DSi9wKFLVDppJ9yDpJavAl0G6AQf9/fPz3dc/fh1Pun/yQrNagnJMEGtHaVK5sSfGcSYgDFFbqAibkymMAlREgh37lWkNfhKYApfahKccXrH//vBEWruUNGS2e9mLWkv+TxvVrnw19ly1Oym2blTWorWgvQAuuAHmgr8FJ8zwMCtmM2IIc+FOW11mEBxzDd4iqWyNSi/achmcPO+Fo6afg2Nv0Tp20EP0GD1FKTpCffQBHaMhYuh3tB/h6FH8IO7H7+OP69Q42vy5j7Yi/vIXYBXRCw==</latexit><latexit sha1_base64="zyIfk9aV2TYc/lws0+UrPYXwH0k=">AAACmHicbVHLihNBFK1uX2N8TEYXA7opnRFcSOgWZVyoBIKo4GIUMz2QDqGq+nZSpB5NVfXEUPQX+Dl+jR/gdsCNa6uTLMyMFwoO59y6j3NpJbh1SfIziq9cvXb9xs7Nzq3bd+7udvfunVhdGwZDpoU2p5RYEFzB0HEn4LQyQCQVkNH5oNWzMzCWa/XVLSsYSzJVvOSMuEBNut/zihiqv/k06b1ksvGd3JYlkVwscSdXsGBaSqIKnw8Gjc8lcTNGhB80zbaaZRuVUp+1Yihr57x6UbnOu+kz7DS2WpwBPvy0fEMP8QKwrK3DSi9wKFLVDppJ9yDpJavAl0G6AQf9/fPz3dc/fh1Pun/yQrNagnJMEGtHaVK5sSfGcSYgDFFbqAibkymMAlREgh37lWkNfhKYApfahKccXrH//vBEWruUNGS2e9mLWkv+TxvVrnw19ly1Oym2blTWorWgvQAuuAHmgr8FJ8zwMCtmM2IIc+FOW11mEBxzDd4iqWyNSi/achmcPO+Fo6afg2Nv0Tp20EP0GD1FKTpCffQBHaMhYuh3tB/h6FH8IO7H7+OP69Q42vy5j7Yi/vIXYBXRCw==</latexit><latexit sha1_base64="ZUqh65WTamvf+vuVoIsEeoyjB8I=">AAACmHicbVHLihNBFK1uX2N8TNTFgG5KM4ILCd2i6MYhEEQFF6OY6YF0CFXVt5Mi9WiqqicTiv4Cv3A+w41rqzO9MDNeKDicc+s+zqWV4NYlyUUU37h56/advbu9e/cfPNzvP3p8YnVtGEyYFtqcUmJBcAUTx52A08oAkVRARlfjVs/OwFiu1U+3qWAmyULxkjPiAjXv/8orYqg+92kyfMdk43u5LUsiudjgXq5gzbSURBU+H48bn0vilowIP26aXTXLOpVSn7ViKGtXvHpbud6nxWvsNLZanAE+/Lb5SA/xGrCsrcNKr3EoUtUOmnl/kAyTbeDrIO3AAHVxPO//yQvNagnKMUGsnaZJ5WaeGMeZgDBEbaEibEUWMA1QEQl25remNfhlYApcahOecnjL/vvDE2ntRtKQ2e5lr2ot+T9tWrvyw8xz1e6k2GWjshatBe0FcMENMBf8LThhhodZMVsSQ5gLd9rpsoTgmGvwDklla1R61Zbr4OTNMBw1/Z4MRkedZXvoGXqBXqEUvUcj9AUdowli6Hd0EOHoefw0HsWf46+XqXHU/XmCdiL+8RdPVcz1</latexit>

20

Page 6: Motivation 5 Gaussian Elimination Computational Projects

Improvements

y = b; for k = 1:Lrows for j = 1:k-1 y(k) = y(k) - L(k,j)*y(j); end y(k) = y(k)/L(k,k); end

y = b; for m = 1:bCols for k = 1:Lrows for j = 1:k-1 y(k,m) = y(k,m) - L(k,j)*y(j,m); end y(k,m) = y(k,m)/L(k,k); end end

Option 1 : use an extra loop to deal with the columns of b

Note the complexity of this part is now O(n2m) where m is the number

of columns in b. We expect m n so the LU decomposition is likelystill to be the dominant cost.

<latexit sha1_base64="oZhBHWCMpSr/O/4wUQssFR+npE8=">AAADL3icbVI9j9NAELXN1xG+clDSDMRIRxPZERIUFCeloUBwSOR8Uhyi9XqcrLIfZnd9SWS559cgUcE/QTSIlj9AzTpJQe4YaeXRe/Nmdp43KzkzNop++MGVq9eu3zi42bl1+87de93D+6dGVZriiCqu9FlGDHImcWSZ5XhWaiQi45hki2HLJ+eoDVPyvV2XOBFkJlnBKLEOmh76j9KS6Eyt6jimoqk7qSkKIhhfQyeVuKRKCCLzOh0OmzoVxM4p4fWwafbZJNmxWVYnLemamgUrn5W2k2oym2Gu2WxuO2+URbBzBCctOa6YXYMqHMIMOI0F95VqCeHbI/lhIJ6GsJyjRghF2FKtUlYiQ92q3PqVkAaYhDAL+wAJAq5KpNbVpxw/ggzBqI3q9QhybIcqw9rV226cLdAtaizjHKyCbHu1XAkmibSuv7H9ZtrtRf1oE3A5iXdJz9vFybT7J80VrQRKSzkxZhxHpZ3UbjtGOTpzKoMloQsyw7FLJRFoJvXmXzbwxCE5FEq7s7mCQ/9V1EQYsxaZq2z9Nhe5FvwfN65s8WJSM1lWFiXdDiqqzd7tw4CcaWecsyNnhGrnEQU6J5pQ657P3pQ58nO0DeyBmWiNii/acjk5HfTjqB+/G/SOX+4sO/Aeeo+9Iy/2nnvH3ivvxBt51P/kf/a/+t+CL8H34Gfwa1sa+DvNA28vgt9/Aao6BTo=</latexit><latexit sha1_base64="oZhBHWCMpSr/O/4wUQssFR+npE8=">AAADL3icbVI9j9NAELXN1xG+clDSDMRIRxPZERIUFCeloUBwSOR8Uhyi9XqcrLIfZnd9SWS559cgUcE/QTSIlj9AzTpJQe4YaeXRe/Nmdp43KzkzNop++MGVq9eu3zi42bl1+87de93D+6dGVZriiCqu9FlGDHImcWSZ5XhWaiQi45hki2HLJ+eoDVPyvV2XOBFkJlnBKLEOmh76j9KS6Eyt6jimoqk7qSkKIhhfQyeVuKRKCCLzOh0OmzoVxM4p4fWwafbZJNmxWVYnLemamgUrn5W2k2oym2Gu2WxuO2+URbBzBCctOa6YXYMqHMIMOI0F95VqCeHbI/lhIJ6GsJyjRghF2FKtUlYiQ92q3PqVkAaYhDAL+wAJAq5KpNbVpxw/ggzBqI3q9QhybIcqw9rV226cLdAtaizjHKyCbHu1XAkmibSuv7H9ZtrtRf1oE3A5iXdJz9vFybT7J80VrQRKSzkxZhxHpZ3UbjtGOTpzKoMloQsyw7FLJRFoJvXmXzbwxCE5FEq7s7mCQ/9V1EQYsxaZq2z9Nhe5FvwfN65s8WJSM1lWFiXdDiqqzd7tw4CcaWecsyNnhGrnEQU6J5pQ657P3pQ58nO0DeyBmWiNii/acjk5HfTjqB+/G/SOX+4sO/Aeeo+9Iy/2nnvH3ivvxBt51P/kf/a/+t+CL8H34Gfwa1sa+DvNA28vgt9/Aao6BTo=</latexit><latexit sha1_base64="oZhBHWCMpSr/O/4wUQssFR+npE8=">AAADL3icbVI9j9NAELXN1xG+clDSDMRIRxPZERIUFCeloUBwSOR8Uhyi9XqcrLIfZnd9SWS559cgUcE/QTSIlj9AzTpJQe4YaeXRe/Nmdp43KzkzNop++MGVq9eu3zi42bl1+87de93D+6dGVZriiCqu9FlGDHImcWSZ5XhWaiQi45hki2HLJ+eoDVPyvV2XOBFkJlnBKLEOmh76j9KS6Eyt6jimoqk7qSkKIhhfQyeVuKRKCCLzOh0OmzoVxM4p4fWwafbZJNmxWVYnLemamgUrn5W2k2oym2Gu2WxuO2+URbBzBCctOa6YXYMqHMIMOI0F95VqCeHbI/lhIJ6GsJyjRghF2FKtUlYiQ92q3PqVkAaYhDAL+wAJAq5KpNbVpxw/ggzBqI3q9QhybIcqw9rV226cLdAtaizjHKyCbHu1XAkmibSuv7H9ZtrtRf1oE3A5iXdJz9vFybT7J80VrQRKSzkxZhxHpZ3UbjtGOTpzKoMloQsyw7FLJRFoJvXmXzbwxCE5FEq7s7mCQ/9V1EQYsxaZq2z9Nhe5FvwfN65s8WJSM1lWFiXdDiqqzd7tw4CcaWecsyNnhGrnEQU6J5pQ657P3pQ58nO0DeyBmWiNii/acjk5HfTjqB+/G/SOX+4sO/Aeeo+9Iy/2nnvH3ivvxBt51P/kf/a/+t+CL8H34Gfwa1sa+DvNA28vgt9/Aao6BTo=</latexit><latexit sha1_base64="oZhBHWCMpSr/O/4wUQssFR+npE8=">AAADL3icbVI9j9NAELXN1xG+clDSDMRIRxPZERIUFCeloUBwSOR8Uhyi9XqcrLIfZnd9SWS559cgUcE/QTSIlj9AzTpJQe4YaeXRe/Nmdp43KzkzNop++MGVq9eu3zi42bl1+87de93D+6dGVZriiCqu9FlGDHImcWSZ5XhWaiQi45hki2HLJ+eoDVPyvV2XOBFkJlnBKLEOmh76j9KS6Eyt6jimoqk7qSkKIhhfQyeVuKRKCCLzOh0OmzoVxM4p4fWwafbZJNmxWVYnLemamgUrn5W2k2oym2Gu2WxuO2+URbBzBCctOa6YXYMqHMIMOI0F95VqCeHbI/lhIJ6GsJyjRghF2FKtUlYiQ92q3PqVkAaYhDAL+wAJAq5KpNbVpxw/ggzBqI3q9QhybIcqw9rV226cLdAtaizjHKyCbHu1XAkmibSuv7H9ZtrtRf1oE3A5iXdJz9vFybT7J80VrQRKSzkxZhxHpZ3UbjtGOTpzKoMloQsyw7FLJRFoJvXmXzbwxCE5FEq7s7mCQ/9V1EQYsxaZq2z9Nhe5FvwfN65s8WJSM1lWFiXdDiqqzd7tw4CcaWecsyNnhGrnEQU6J5pQ657P3pQ58nO0DeyBmWiNii/acjk5HfTjqB+/G/SOX+4sO/Aeeo+9Iy/2nnvH3ivvxBt51P/kf/a/+t+CL8H34Gfwa1sa+DvNA28vgt9/Aao6BTo=</latexit>

(main part of Lsolve, original version)(improved)

21

Improvements

y = b; for k = 1:Lrows for j = 1:k-1 y(k) = y(k) - L(k,j)*y(j); end y(k) = y(k)/L(k,k); end

Option 2 : use the fact that MATLAB can deal with whole rows in a simple way (this is sometimes called an "implicit loop")

y = b; for k = 1:Lrows for j = 1:k-1 y(k,:) = y(k,:) - L(k,j)*y(j,:); end y(k,:) = y(k,:)/L(k,k); end

(original) (improved)

Option 3 (only for the brave...): use another implicit loop

y = b; for k = 1:Lrows y(k,:) = y(k,:) - L(k, 1:k-1 ) * y( 1:k-1, : ); y(k,:) = y(k,:)/L(k,k); end

(improved)

22

... next lecture

What can we do about✓0 11 0

◆x = b ?

<latexit sha1_base64="nogJu6zUxq6vWKBghyJXIHjTLKY=">AAACvXicbVHLbhMxFPUMrxJeASQ2bCxaKlbRDKKCBdBKEYhlkUinUiYKtudOYsUv2Z4mkTX/xO/wA3wCazxNhEjLlWwdn3NfvpcawZ3Psp9JeuPmrdt39u727t1/8PBR//GTM6cby2DEtND2nBIHgisYee4FnBsLRFIBBV0MO724AOu4Vt/82sBEkpniNWfER2ra/1EaYqlehTwbHDHZhl7p6ppILta4VypYMi0lUVUoh8M2lJL4OSMiDNt2Vy2KrUppKDoxpnULbt4Y3yvmxGNGFF4CrjQmVDce9w5KCjOugolRlq9anOFDnOOyjNdhfJQQ8/4VV/gDpgf4uJ3297NBdmn4Osi3YP/k6Ff9HSF0Ou3/LivNGgnKM0GcG+eZ8ZNArOdMQOy0cWAIW5AZjCNURIKbhMvJtvhlZCpcaxuPip/o2H8jApHOrSWNnt3n3VWtI/+njRtfv5sErkzjQbFNoboR2GvcrQlX3ALzcQkVJ8zy2Ctmc2IJ83GZO1XmIC7At3iHpLIbVH51LNfB2etB3Hz+NU7sI9rYHnqOXqBXKEdv0Qn6gk7RCLHkWfI++ZR8To9TSEWqNq5pso15inYsXf4BtUzaLw==</latexit><latexit sha1_base64="vW3pYyY29+eDrytLDtagqaI6Xs8=">AAACvXicbVHLbhMxFPUMrxJeASQ2bCxaKlbRTEUFC6CVIhDLIpFOpUwU2Z47iRW/ZHuaRNb8E7/DD/AJrPE0ESItV7J1fM59+V5qBHc+y34m6a3bd+7e27vfe/Dw0eMn/afPzp1uLIMR00LbC0ocCK5g5LkXcGEsEEkFFHQx7PTiEqzjWn33awMTSWaK15wRH6lp/0dpiKV6FfJscMxkG3qlq2siuVjjXqlgybSURFWhHA7bUEri54yIMGzbXbUotiqloejEmNYtuHlrfK+YE48ZUXgJuNKYUN143DsoKcy4CiZGWb5qcYYPcY7LMl6H8VFCzPtXXOGPmB7gk3ba388G2ZXhmyDfgv3T4191Z2fT/u+y0qyRoDwTxLlxnhk/CcR6zgTEThsHhrAFmcE4QkUkuEm4mmyLX0emwrW28aj4iY79NyIQ6dxa0ujZfd5d1zryf9q48fX7SeDKNB4U2xSqG4G9xt2acMUtMB+XUHHCLI+9YjYnljAfl7lTZQ7iEnyLd0gqu0Hl18dyE5wfDeLm829xYp/QxvbQS/QKvUE5eodO0Vd0hkaIJS+SD8nn5Et6kkIqUrVxTZNtzHO0Y+nyD4Im22c=</latexit><latexit sha1_base64="vW3pYyY29+eDrytLDtagqaI6Xs8=">AAACvXicbVHLbhMxFPUMrxJeASQ2bCxaKlbRTEUFC6CVIhDLIpFOpUwU2Z47iRW/ZHuaRNb8E7/DD/AJrPE0ESItV7J1fM59+V5qBHc+y34m6a3bd+7e27vfe/Dw0eMn/afPzp1uLIMR00LbC0ocCK5g5LkXcGEsEEkFFHQx7PTiEqzjWn33awMTSWaK15wRH6lp/0dpiKV6FfJscMxkG3qlq2siuVjjXqlgybSURFWhHA7bUEri54yIMGzbXbUotiqloejEmNYtuHlrfK+YE48ZUXgJuNKYUN143DsoKcy4CiZGWb5qcYYPcY7LMl6H8VFCzPtXXOGPmB7gk3ba388G2ZXhmyDfgv3T4191Z2fT/u+y0qyRoDwTxLlxnhk/CcR6zgTEThsHhrAFmcE4QkUkuEm4mmyLX0emwrW28aj4iY79NyIQ6dxa0ujZfd5d1zryf9q48fX7SeDKNB4U2xSqG4G9xt2acMUtMB+XUHHCLI+9YjYnljAfl7lTZQ7iEnyLd0gqu0Hl18dyE5wfDeLm829xYp/QxvbQS/QKvUE5eodO0Vd0hkaIJS+SD8nn5Et6kkIqUrVxTZNtzHO0Y+nyD4Im22c=</latexit><latexit sha1_base64="QEi6a51FwHK+rIWw01hwzQrmS08=">AAACvXicbVFbb9MwFHbCbYRbAYkXXiw6Jp6qZAJtD8AmVSAeh0SXSU1V2c5Ja9WXyHbWVlb+E3+HP8IzzhYhunEkW5+/79x8Dq0Fty5Nf0Xxnbv37j/Ye5g8evzk6bPB8xfnVjeGwYRpoc0FJRYEVzBx3Am4qA0QSQXkdDXu9PwSjOVa/XDbGmaSLBSvOCMuUPPBz6ImhuqNz9LRByZbnxS2qojkYouTQsGaaSmJKn0xHre+kMQtGRF+3La7ap73KqU+78SQ1q54/b52Sb4kDjOi8BpwqTGhunE42S8oLLjydYgyfNPiFB/gDBdFuA7Co4CQ96+4wZ8w3ccn7XwwTEfpleHbIOvBEPV2Nh/8LkrNGgnKMUGsnWZp7WaeGMeZgNBpY6EmbEUWMA1QEQl25q8m2+K3gSlxpU04KnyiY/+N8ERau5U0eHaftze1jvyfNm1cdTzzXNWNA8WuC1WNwE7jbk245AaYC0soOWGGh14xWxJDmAvL3KmyBHEJrsU7JJXdoLKbY7kNzg9HYfPZ93R4+rkf2R56jd6gdyhDR+gUfUNnaIJY9Cr6GH2JvsYnMcQiVteucdTHvEQ7Fq//AIhS2A4=</latexit>

What other improvements might be useful to consider?

23