Gaussian Elimination. Introduction. more sophisticated. Ui j = 0 for i > j, and. (iii) A = LU. Therefore the factorization takes the form

Podobne dokumenty
Helena Boguta, klasa 8W, rok szkolny 2018/2019

Machine Learning for Data Science (CS4786) Lecture 11. Spectral Embedding + Clustering

Machine Learning for Data Science (CS4786) Lecture11. Random Projections & Canonical Correlation Analysis

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 9: Inference in Structured Prediction

Zakopane, plan miasta: Skala ok. 1: = City map (Polish Edition)

Hard-Margin Support Vector Machines

Proposal of thesis topic for mgr in. (MSE) programme in Telecommunications and Computer Science

MaPlan Sp. z O.O. Click here if your download doesn"t start automatically

Weronika Mysliwiec, klasa 8W, rok szkolny 2018/2019

TTIC 31210: Advanced Natural Language Processing. Kevin Gimpel Spring Lecture 8: Structured PredicCon 2

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Tychy, plan miasta: Skala 1: (Polish Edition)

ARNOLD. EDUKACJA KULTURYSTY (POLSKA WERSJA JEZYKOWA) BY DOUGLAS KENT HALL

Analysis of Movie Profitability STAT 469 IN CLASS ANALYSIS #2

Katowice, plan miasta: Skala 1: = City map = Stadtplan (Polish Edition)

OpenPoland.net API Documentation

SSW1.1, HFW Fry #20, Zeno #25 Benchmark: Qtr.1. Fry #65, Zeno #67. like

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

deep learning for NLP (5 lectures)

Stargard Szczecinski i okolice (Polish Edition)

Revenue Maximization. Sept. 25, 2018

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition)

Machine Learning for Data Science (CS4786) Lecture 24. Differential Privacy and Re-useable Holdout

Gradient Coding using the Stochastic Block Model

tum.de/fall2018/ in2357

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Convolution semigroups with linear Jacobi parameters

Egzamin maturalny z języka angielskiego na poziomie dwujęzycznym Rozmowa wstępna (wyłącznie dla egzaminującego)

Ankiety Nowe funkcje! Pomoc Twoje konto Wyloguj. BIODIVERSITY OF RIVERS: Survey to students

ERASMUS + : Trail of extinct and active volcanoes, earthquakes through Europe. SURVEY TO STUDENTS.

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

Installation of EuroCert software for qualified electronic signature

Ankiety Nowe funkcje! Pomoc Twoje konto Wyloguj. BIODIVERSITY OF RIVERS: Survey to teachers

Rozpoznawanie twarzy metodą PCA Michał Bereta 1. Testowanie statystycznej istotności różnic między jakością klasyfikatorów

Pielgrzymka do Ojczyzny: Przemowienia i homilie Ojca Swietego Jana Pawla II (Jan Pawel II-- pierwszy Polak na Stolicy Piotrowej) (Polish Edition)

Realizacja systemów wbudowanych (embeded systems) w strukturach PSoC (Programmable System on Chip)

Linear Classification and Logistic Regression. Pascal Fua IC-CVLab

Wybrzeze Baltyku, mapa turystyczna 1: (Polish Edition)

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

DUAL SIMILARITY OF VOLTAGE TO CURRENT AND CURRENT TO VOLTAGE TRANSFER FUNCTION OF HYBRID ACTIVE TWO- PORTS WITH CONVERSION


Jak zasada Pareto może pomóc Ci w nauce języków obcych?

Leba, Rowy, Ustka, Slowinski Park Narodowy, plany miast, mapa turystyczna =: Tourist map = Touristenkarte (Polish Edition)

Zarządzanie sieciami telekomunikacyjnymi

DODATKOWE ĆWICZENIA EGZAMINACYJNE

EPS. Erasmus Policy Statement

Steeple #3: Gödel s Silver Blaze Theorem. Selmer Bringsjord Are Humans Rational? Dec RPI Troy NY USA

Formularz dla osób planujących ubiegać się o przyjęcie na studia undergraduate (I stopnia) w USA na rok akademicki

Blow-Up: Photographs in the Time of Tumult; Black and White Photography Festival Zakopane Warszawa 2002 / Powiekszenie: Fotografie w czasach zgielku

HAPPY ANIMALS L01 HAPPY ANIMALS L03 HAPPY ANIMALS L05 HAPPY ANIMALS L07

HAPPY ANIMALS L02 HAPPY ANIMALS L04 HAPPY ANIMALS L06 HAPPY ANIMALS L08

18. Przydatne zwroty podczas egzaminu ustnego. 19. Mo liwe pytania egzaminatora i przyk³adowe odpowiedzi egzaminowanego

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Zdecyduj: Czy to jest rzeczywiście prześladowanie? Czasem coś WYDAJE SIĘ złośliwe, ale wcale takie nie jest.

Rev Źródło:

Rachunek lambda, zima

Emilka szuka swojej gwiazdy / Emily Climbs (Emily, #2)

EXAMPLES OF CABRI GEOMETRE II APPLICATION IN GEOMETRIC SCIENTIFIC RESEARCH

Previously on CSCI 4622

y = The Chain Rule Show all work. No calculator unless otherwise stated. If asked to Explain your answer, write in complete sentences.


Estimation and planing. Marek Majchrzak, Andrzej Bednarz Wroclaw,

Camspot 4.4 Camspot 4.5

New Roads to Cryptopia. Amit Sahai. An NSF Frontier Center

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition)

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

EGZAMIN MATURALNY Z JĘZYKA ANGIELSKIEGO POZIOM ROZSZERZONY MAJ 2010 CZĘŚĆ I. Czas pracy: 120 minut. Liczba punktów do uzyskania: 23 WPISUJE ZDAJĄCY

Poland) Wydawnictwo "Gea" (Warsaw. Click here if your download doesn"t start automatically

Program doradczy EducationUSA - formularz zgłoszeniowy

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

Before Adam starts work he needs to know where everything is. Maria shows him around the restaurant.

Marzec: food, advertising, shopping and services, verb patterns, adjectives and prepositions, complaints - writing

METHOD 2 -DIAGNOSTIC OUTSIDE

Export Markets Enterprise Florida Inc.

Few-fermion thermometry

tradycyjna normalny multicache bardzo du y mobilna

Hakin9 Spam Kings FREEDOMTECHNOLOGYSERVICES.CO.UK

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Surname. Other Names. For Examiner s Use Centre Number. Candidate Number. Candidate Signature

Instrukcja obsługi User s manual

Financial support for start-uppres. Where to get money? - Equity. - Credit. - Local Labor Office - Six times the national average wage (22000 zł)

Dolny Slask 1: , mapa turystycznosamochodowa: Plan Wroclawia (Polish Edition)

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Wroclaw, plan nowy: Nowe ulice, 1:22500, sygnalizacja swietlna, wysokosc wiaduktow : Debica = City plan (Polish Edition)

Domy inaczej pomyślane A different type of housing CEZARY SANKOWSKI

How to translate Polygons

Klaps za karę. Wyniki badania dotyczącego postaw i stosowania kar fizycznych. Joanna Włodarczyk

PLSH1 (JUN14PLSH101) General Certificate of Education Advanced Subsidiary Examination June Reading and Writing TOTAL

Karpacz, plan miasta 1:10 000: Panorama Karkonoszy, mapa szlakow turystycznych (Polish Edition)

DO MONTAŻU POTRZEBNE SĄ DWIE OSOBY! INSTALLATION REQUIRES TWO PEOPLE!

INSTRUKCJA MONTAŻU MARBO E SPORT LISTA CZĘŚCI (PARTS LIST) (ASSEMBLY INSTRUCTION) MH-W102 NR CZĘŚCI (PART NO.) ILOŚĆ (QUANTITY) OPIS (DESCRIPTION)

KONSPEKT DO LEKCJI MATEMATYKI W KLASIE 3 POLO/ A LAYER FOR CLASS 3 POLO MATHEMATICS

Angielski bezpłatne ćwiczenia - gramatyka i słownictwo. Ćwiczenie 4

MoA-Net: Self-supervised Motion Segmentation. Pia Bideau, Rakesh R Menon, Erik Learned-Miller

Patients price acceptance SELECTED FINDINGS

Transkrypt:

Computational Projects 5 5 Motivation Gaussian Elimination Introduction So far we considered algorithms that correspond to very short MATLAB programs, eg the main part of Euler's method is simply One of the aims of this section is to write a slightly longer piece of Matlab code, showing how it can = xstart; be constructed piece by piece Itx() is generally easier to write a basic code, and then refine it to make it y() = ystart; more sophisticated Lecture 5: Gaussian Elimination / for i=:n Remark This section also illustratesyprime how to= write a standard method, in this case [a very close relative x(i)*y(i)^; y(i+)algorithmic = y(i) + h*yprime; of] Gaussian elimination, in a neater form using matrices Needless to say, matrices are x(i+) = x(i) + h; important; as the abstract of a research seminar given this time last year put it: http://wwwmathscamacuk/undergrad/catam/part-ia-lectures 5 Functions of matrices are widely used in science, engineering and the social sciences, due If we want to dothey something more complicated, we need to to the succinct and insightful way allow problems to be formulated and solutions to be expressed New applications functions are regularly being found, understand howinvolving to buildmatrix up a longer program, based on simple ranging from small but difficult problems in medicine to huge, sparse systems arising in ingredients the solution of partial differential equations In the next lectures, we discuss an exted example of this LU factorization 5 The problem 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, ie Li j = for i < j, Our method is based on a trick, which is to write A = LU Given an n n matrix A and an n-vector b (both with real-valued (ii) U is upper-triangular, ie Ui j = for i > j, and elements), we want to solve Ax = b to obtain x = A b where L is a lower triangular matrix and U is upper triangular (iii) A = LU sha_base64="civx6y/9uwyp/irfisozq9ptvg=">aaadaxicbvlljtmwfhxcayipkbbky9egdridjsmkwddsjlqa5sdr6yimvlzzri7kdphrfqmiff8iosevl+a/egqftgs5wf9hob7+pwbwghuxrz/csjr/cvlvuxn7r7++hd8+tlgdptncmwtklaiuoo+4ebrgccschjqwa/hbmwlmvqkgekyutznjdgpjdu/4iyqpdvkjbzv6u5jmrxkxwkwwyfpkoriq7fxqkpxetrkrva+ud9nbymtswgajem68kfwrnwqygczwydsva5kewujltquaslvyr9oeflhjgnskbnsdapa4ihg+ibqn8ul7j9em+joisghwybagnlxo8alwgymgnsdvidr7z8thx+romjndfcnl8+rhqjjwn6ng7ex/g68bxksbdnazsbtpmmwdlmy4jyoziwoqyhxnarzekjbixmyohtrbyyubxetofeitdudesa//enfpvruwktstj/cgqnuza8d/ccps5a9gfvdf6ucxzac8fioztu448z76fezccim9/fbeomyc7/edttpua9czxeaalsjeouiot86told5nr5+tri99bg9qqcoqs/rcxqlzlafsebd8cn4enwnp4ffwu/hj8vmnjwpei7ef78c4t8ws=</latexit> sha_base64="hdowt/gq+mxltlkpyp6qhsqnut8=">aaac/icbvlljtmwfhxcawivaksfiscqlo5fgmsmn6obfsawsnvzqqurgcrkrfksm5qchir+bnicfwm+wyid6yloccvl+ec6uf66zmzng4/hwen7eunn757/6dh496j5+cgdvoqsdecawngrjkmarjyyynptebmnkw58vzkngrdlpxozwdcyglkxgb66bf7dag87urzskrhrtljqiamh4gkeppcuihaczt+lolwpafsr4oo6bzywtlzlk78aq7cxzfvdbknvqljtxrkxs9l7rwfbbqrwzg/fc6wkbmwi8txefuxunnkkrzszfi8ehtmh5euzoraxxptcnobl4dmksvb4wznlwcgedxgdyk8gg9etvvskjuevhwgt+hqsbjm+sbpovfhnsenonisdsbmkri8xazyrt99rgbrieko6c6keqc8cymwy8a/8zcabekxrv4owhdfrktmln9bc5tz4p7wolnvgwybiyv5ljrxdvnb8zpmmxlpb5gyis5irtcrqqkz7djtdksrpqewdpgjbryzbrydn+mimhyyf9/vhhri99aw9ry9rgl6jy/qonaixise+br8cb6gn8nv4ffwx6udlyt9fohd//avxx86c=</latexit> Therefore the factorization takes the form U L A If the inverse does not exist then our method should notice and return an error Lij = for i > j 5 4 4 5=4 5 Uij = for i < j 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 (if it exists) 5 Application: solution of linear systems We assume (for now) that this is possible In fact we assume that it is possible withax Lii==bThis for all Let A = LU and suppose we wish to solve is ithe same as L(Ux) = b, which we decompose You might remember that this can be done by a method called into cases where this is not possible are discussed later Gaussian elimination The method that we use is almost equivalent, it Ly = b, Ux = y is called Both latter systems are triangular and can be solved using forward/backward substitution Specifically, first we solve for y; thus sha_base64="ioio/sfzbcvsqyizidyuk7m=">aaacghicbvfni9swefxcr6z7lbbhxkszhtlrlqunpyykwhhrbqrbfiembybgrzcpjwbhh7p/pndwzvrq7hza8hhvzp7lddswjckn6powcnhj5+mj+knz56/edl59frsqhuocrmvdhallhwwkm8agycyiwm+xbe6+kgitq/cptglwpqlqobqcxqpxezgyvp7lgeoq8fmyxkukdsazxp/8lopixp5vpozwrchop8647vnnuppcp7yltqtam4afcgqgoli6qni4+/hcfdejjnzsm+6habjalqsj7+zouatqu4bguxlgncyonxgksmdqfbvgwklwgqeghxfl9ob9h5iclrujrzu6z/+d8kcsak8dpyvshenvyftmxd+wnlhw5ah5rfgpwtpk6mfdkeaa5ckwargr4a6ub8aad+e/dlwkk/rdfsazfufflsbywetpjyyx9p5efxkig5o5b5iyx8jofkk7kgc8ljdfkzgo+ooig6it5e7lyggzb8hbrz//ahi7xmg=</latexit> sha_base64="dv9cqm84debs4chhtxu9cnaph4=">aaacghicbvfda9swffw8j6bev7y97kushfqps8tgy+yhkjc9drduhtiea/naezfkicntgvap7r/z6yanfljaxraczrnhumoijblyso+jr4ydpj8bh8bpnl6+mrx+cmbjbcsey5qoai4irxdjubf5pgyalgvmxnfd6dog8kb9ddunkwm4hvn4aknthcgymaxz5nmex8nnuqasnfjsa5whvwsamq9pl8vlcgtsweh7edydqlgqufisf8nsu+x6kzxbqcusts8rj4zhesd+vjnjkl+6ipqtqakrnqyj5nzcnayuqxwryuwt7vyejonmylbrlwpgw6hxgaacixbl9+f9engslojhzl6j79d8kdthyni9dzv8deryf9qyddwxledktw4vuzoqwkfdq/ukacknmhesldkww8ndkduaaebcfxy4bfbco+voavnipqjfiwpwexzlem6y+z6fmibixeufekosks/knhwnfrbglklfbjxeurafrxyi9a4gw8xbcldr78hpstr</latexit> sha_base64="agwwih4+9/qggwckv4yvpldpii=">aaacghicbvfnj9mwehxdvzd8fthysegi7aneq5vaimoixjguetsftvxjmkvmnspfysopt/cfzxudnsxksw9vtczz7ogymss5kbuftg4apht8zh8dnnz+8nlx6fwnrnbc8frw5iohijoxdjhjf4bkhletn8o+/9bqnfbx+4xynrhruwpscgwvuemkzbkxe//kmcdx5olnlcurihyzjt95rrtowmfzeeczbw7dqfp5xqatqoee7txgxl7vyz4lmwnvhyurcbfx+p449msazzf/pmadmjkhltatlr8ahdlyctuuwng7lwtjbjqa7midfasvlgpuoncu/d6cjr4ptehlosjhdz/54unbuvb46+xfyupp/k9btq78tpjcn6dzw+nylzsv9m+avoig9yfjasbihwv8oyic78b8hlhuu+g6ekdmqg+kylprg8nbfkxr6fts+/djgnyvvyjpwqrj6sc/knxjaf4esg/bmnrdrfjehyjxqnhpk5kciz8b/9pevq==</latexit> sha_base64="kreyces9wfct6bf8pfmxdoafncm=">aaacyicbvfnb9naefbrxk+ahy5jahinck7qgqhdpvyasskipqmuhxf6/u4xmu/rnxata+8rf4h/wrzqzthejlscs9vtezm/mmr5xlcs/o/jw7tt7xchzx4+ojxk+htzfenk7gvfhlxnopsppceqsfj7xdrnofc7y9atxzxfovltmldyljrfgvlkwslqy+gvroyut5dtmgrdtypmlyxxumgkbn8jqzwbrtnplbay5vykrdtj++pstlpzvjyvjurv9vnmgcywsljvuwdjyvqhsbnpxncydgdsqr4gvbtjqnhm9bilsav7zrrz8gbuloba6pcszaqoes65bdutjotgeqbodi7alk+xwtzywgjbtfp4mnsa7kilhwhyxmpnxzqvcb6g4rr9ot6mhrwbrqwheeidiy/axhu/xni7mw7we/j8b6h8tilqrtci64alycstafdqrpufa4sig5cdlmcqlijgsknu5qvbdihwwr+a6nyq9bstnchy4tpnx+uvwdpx+z9kbe8fesjcszw/zmfvattiuiehv9cn6gpgnmff49/xkxga7modul+odfpmjiug==</latexit> sha_base64="y5qu5tytg564/zraeacvzdtg=">aaacghicbvfda9swffw8j6bev7y97kushfqps8tgy+yhkjc9drduhtiea/naezfkicntgvap7r/z6yanfljaxraczrnhumoijblyso+jr4ydpj8bh8bpnl6+mrx+cmbjbcsey5qoai4irxdjubf5pgyalgvmxnfd6dog8kb9ddunkwm4hvn4aknthcgymaxz5nmex8nnuqasnfjsa5whvwsamq9pl8vlcgtsweh7edydqlgqufisf8nsu+x6kzxbqcusts8rj4jdmju/vkmsysfdghibalaxsz78zsugtrkvywksxaajdispxnemmnifjwwlds4dfcbrlvy+a6+iewjaae45ydm/+o+fbwrutrejsxdvaz5pzuurlynolw4ekrlvracuoxstoqgmqtjlhyy4egulgaahphpw5cniiuxxgcxkhr6p5ah4pjsliaz9mfz9pzbenmyvcpvysljywdytr6tc7igjnysp6px6dikotpoy5tetuajyeytoajo6/jemss</latexit> sha_base64="y5qu5tytg564/zraeacvzdtg=">aaacghicbvfda9swffw8j6bev7y97kushfqps8tgy+yhkjc9drduhtiea/naezfkicntgvap7r/z6yanfljaxraczrnhumoijblyso+jr4ydpj8bh8bpnl6+mrx+cmbjbcsey5qoai4irxdjubf5pgyalgvmxnfd6dog8kb9ddunkwm4hvn4aknthcgymaxz5nmex8nnuqasnfjsa5whvwsamq9pl8vlcgtsweh7edydqlgqufisf8nsu+x6kzxbqcusts8rj4jdmju/vkmsysfdghibalaxsz78zsugtrkvywksxaajdispxnemmnifjwwlds4dfcbrlvy+a6+iewjaae45ydm/+o+fbwrutrejsxdvaz5pzuurlynolw4ekrlvracuoxstoqgmqtjlhyy4egulgaahphpw5cniiuxxgcxkhr6p5ah4pjsliaz9mfz9pzbenmyvcpvysljywdytr6tc7igjnysp6px6dikotpoy5tetuajyeytoajo6/jemss</latexit> sha_base64="vy7twtgg/jsbzcrqufscqmhi=">aaadcxicbvlljtmwfecayivaksvzriw4kqgshbaqrbcckqaltkzpsc5ny9wpyhamlvhskzgt9ghtnwfp8kkbu6nczrdlsxdnnfptefny6webxgf6foxqtbrnrsb9+7779jqyjacmsoaheouakr447gselqskpwdfddft+firgcqeuwjunmiueceeehwfdpwhjd9apoeiabuppapcesizvuovlpqukkqvt4bcpulcwyiohzy47hw5bsetysvqhd8pjp6tqpifm5zobpc9d5wxmq6aqdwzilauryduttfsbzigkmaibx8nwfegclp+iekvucykwznwhejpdesgi8q7drtbfqg8q+ufwlcxyzo6ghxek9evvpqpmagpz9e+4av5x+7jfzlq9qx+wmbjojfunfztanb9nwaavdjyojyokgpzvwxdjobppvxzlwhzkjhpvkuknntabltxwycmz5nr4oxxsh8zaiktxuvqisp7xmubf/htsqxp5/wxjwvq8xoguwvalvpvw4zn8icxngctpczwqsiiyw5z/gtpccxsm6bnzakluhkvoyxhsod/rjoj+8o+gdvthkthc8cb4g+espasog9fbutakwejdt+gx8gvofowfy9+nivg4tbnfrbjc+/nhlta==</latexit> sha_base64="zgxqgftgdbnyfgfuavxrqt4krwy=">aaac6icbvfnb9naefbrk+ahy5jgiqyiwykyq4gfqphediucrsv4qjalex9vsh7u7bogs/wpuics/igs/gzprnejnyienpvzmftv5l4tcofwxhjzubt/zuxvdu//g4apb4ycnzjsw8qkztjtndouheytfcj5aw5vbnkab4c9p6zqtrn/bdcnii6kawj6kn54hdwu5ubrsmnwuebkkiohxblmq+yuyrqosg467nfmwkudmou5xtdotmudtov+ubcu9asao8zsxyixviwqjfiollgctgojqvtvi8bk4r+eg78qyzwg8/aviooaqmyfwvzpmp8hierarwmpwb4xoivd6j+lusjqdedrnx/sx6n4eadjfuwt7zxpb/8yqrdfdontpqysucdzsi4jj7n/wof5ttqqlpvvqu8xdrnsoymxnike5rgizyyxutvc6tve4ze7pcvan/6dngyzfzfqh6wa5zhenykycguixcowwnkffwieos8lpcqyirvnv7/tpelyngmhosueqosq7zcbyehoyqejz8p94/ebibi8/icjaevkahjep5jhmcavebebczbu4bfwe/jjijumtjvpyu6ep/8cdbzrg==</latexit> sha_base64="t8k+mv9ihwvxvxaoqxupnipyi=">aaacuhicbvflb9naef6bvwmvfi5cvkrinck7qmqfoatlwrfitkkurg8htur7mpawbdeln8rv4g/wplmgnpgek84szpztd4ost5jfkfxg4ephj85ejp69vzfyfj49exzfsn8ejyzdvdorkgrzwiu8ahyczhuu8s84bfx6eha89vgxpqiwspqafxovxr6wbl9ufxzokxejjmostfrbpsomgirnziiy+bzvss+fqa6uz9f8gufnsz7vfqizpasobj4fzq6qcgsnqzo8cuuji9aw8zsahxjfs+lhgot5y4lk6jxdiapjoixcgivw6kajfjejnnkz/w+spdgwvzvh7/cfveq9f4oybomsanxxgvbqkq5styqniaxuuazsgkvbdttsev+hqv4rrpd95/mzrqrfudh8hhcrrldc7/ccvwlertpqm9wjebagyvdxbpmwodo5q+lcbqojwmvtkrqorfdhseqn6hp9zw+cur6esu/kch9cnkztzjp+o5nmpu8lojvtvgaxslmyvbolpiijqptabz9it/fp+iqlrehcbtpecmolhz/avjle=</latexit> sha_base64="56hti/n+f7l7wqsblmniee7i=">aaadgicbvjnj9mweecjy6mkry4gkiqoqmhushdisamcoczsdruoqaqjmms+ipytpcqyh9b4gt/hbviyoe/whknwys6yint4bv/gmnzacwzca/qqja9dvlyd7t5+7+vfv9gwenvlegyrpoczipyevzrxak6kwhtavn9w4adrmpzrdeijcllhxpoupnqcvbuj+uafl9sy5jjpu6l9g8r8nfbnqjonompusvcl4nsjrfcwfpw4axbv6xsrpmk9buvvale8ff66xmjwuatm8gxheu9bbjfyeistmmak9d5jvtgqcalylqisdeaimkvovo8ejtba6ys5t7hdyu56joyapwu9dexszonqcyb9mhtxvahyq+rkhkpqpuocvugb6dqea+hjbpki/5gnbxavdbvawdybvhi/7vjnoskt6ccbrfo9kn6/rom4e+uh4q5tivrikmyckjdl5bba88kgujv/kqcf+e6jgaegpj6zna9rlxk/7rz5fkx85qrsnkkewhvblgnlsfadjuidn/xhlhznzvdfibbpnzxwnskfita6bhtkv7adiyo5ck4ph/fogl87hby9o5slgupa6ebnhwijgkgthwsrgoqs/hv/cr9hn6fvpfpxkrqfzmpg5ifv4bycanw==</latexit> 4 L y = b L y +L y =b gives y, next yields y etc This is a supervisor s copy of the notes Please do not distribute to students Dr Rob Jack, DAMTP

Solving Ax = b Algorithm for inverting L and U Suppose Ax = LU x = b Let y = U x Then Ly = b sha_base64="bphjpnhmbwoeoryotw+gp/q8c=">aaacricbvhlbtswektul6u+pbycg7qe+gfaridjwqwjcefejrkapgus5frwzcjewqvgjbm/r/ojpzdydkitlkbiolplxq4zxzmxyfjb8x89fvleb58ollq9dvhm/fxzmyhriwvjsxfeagcsyssshulgyimq5jtz5eiarjsxtlawfgqtwceosy5adx+liuisdvrrexbbkkpciiyrgqsrilprbe5k6m7vnkojdumkbwdseqknsqnwjjoljvbpo6vdvjnmvinvtvbpc9uqogmfnozzf87jbs/ee4zlypk6n8a47xg5a4vg8njopaffdutgj94efgqghi9thxwr4j8lwgmqlnjizciklvrftgobjpkgokczw8jbsqsyzbpsswfhjpjotrusyv7l8vdrhgcjzmddzxti/+nlspbnc4bjlvlqdk7rkxfssx9ze4zxqodcbnjfdnkyybogmlrvo+iyax4dtsuhzcy6o6l7tjwevetkjxe45gz96ywboa/qipqminaaz9bvdobhrb+bnvbpvi/8xp/h/7xl9b+5j6cj/9btn4gy=</latexit> It turns out to be easy to invert triangular matrices So if we know L and U then we can obtain y as L b and then x as U y Ly = b means that sha_base64="yl94lrwovgmpesyybs4nfihwwk=">aaacjnicbvfnb9qwfhtcrugniaeby4wwyroq6rclamvlfbsa4cisulzwr7dijtbytu5hzexaz+qx8a844xzyfuezgk894bexawynkl9beo/+g4d7+4+ix8onh7gz55fmqbtlmpixp9rcawwrwbw4fuoakey8h6nujzndogn+qbbrskafsvoqurkdw8c+8buahy5nqexdljuybmnfbke5yt9piywowuwzwe9ycbaminys7fvlbtvqlwih6pwfpfwujxenvsulzqrbrzfnktnckoeynzgo4vt5jpsi8f6qjmkcxllbxn7xoacezslsamysaesgbaccubno8naoguomjdbzkzpdtgeonilwwh/lmvb9t8jb9kyjss+cipuan5p+rwfljvhvdtzpuinudkjbbs85i4lrhmpteca9xcxxtgjrq69nx6vm4przhu+qra5bpbdjuqsuj6dpmk/hk/opor7apx6a6hjgs7qobpactr7+agebm8cupwqgafr5pdynx5gxaqfd8l/bqyxi=</latexit> sha_base64="huf8nmbfpy5wgdhkm+7dzbbpc=">aaaddnicbzlljtmwfiadcbvcrqnlnhynehuqziqecxyjdqmsihq6uhnqwznjlxqsq74mipaiskgtdogtr8clsmzpu6azhmnsr/879rhpmaety5jfgfhtesbt46ubduxvv/opb4cntqvdymkoameguck5g47gscvqaipakmddxu+fqcjovafxrnbxnjssulzojzuiwqflfdnuxbzoybvrzoucsc4ahgukkxlsvtezunxasucujoht6dtneunbaq+oxfhqrewizjcyhnzwcumitw67iildevxhqwenvkit/uw8atlrzckwp9bwbnae8qfpc7wgvfj6jenmfzctyjsvuc6gejcmvqcfc4bjyputt+zzt6dzkxdfbmlkq5p4fhwlwtazjzvavw6eoi5pf4e+wazlui4jyustsob4lxnanwb68tvistsakzlxwryoftzlqdfuqdhbfa+kucrj/7mijtlargf7bsxww/+j8qv7yatxvtqpftowkwvsn7eeoc6aot/wnbnmul8rzktichp+d+xvwyi4b9fhpzpkvlhp5bzcfadhozqzpe+phsevdy7qi/re/qmpeglokzvamaibauwefga/at/bj+d+ep7epybdb8wjtrfjrl8xi9ce=</latexit> L B L B B B B B Ln, Ln sha_base64="hnnkx5/m9r9bolrmmezdh7eos=">aaad+nicdvpljtmwfhuthkn4taewbcw6jfhalurisabppg5ysbgeny7uvjhtoknvilspwusoe/yyfy8jp8avwogmo+pixzoxonunzh7rbecqudtfpcu+cfpw7ym7zt79x8c9o8enquskisoszzm8gijrvmm6fgzndklxflecuonedfq+mmsssuy8umxozxlagwm4kcyvhvt9bjitolivpi7yunedfmeislaetcpqzzjwjevxbafrxaud6tlbajep6m5mohbjatkqxlqtwp4y4guzlqsljkrpjyyfanggiyocssvaer+adu8ga65aykyrtabc4ogfitpgh+wrwpczb/xbxgaz8hmvvoet5b6sy8tmv6rz6bv9sbogmnapgci6udmy9azxciy9jtpv/mwkkox4/fzwwvxpdlnjpxuy+dvsdd+ib+4drwmdjzsp/xzjgunapnuqtuhnzpauqiyklrxkjojskajnrooekdqvrvrwconjhlbojpmcgb6oalcnglso6nslkdtcswau4aahj7okibzqvjbvorhioc5gs+mwypisbvy4yohizmqfzi4kitr8cvtz5jrduldrsdmzac8bhsgn/6lld74m/ohtjewapazpwdpggvfgflwdzamipxrkqvjf7i/d/mh/xemtxvfmedg69q9/vjlbma==</latexit> Plan for writing our program to solve Ax = b L Ln,n y b C B y C B b C CB C B C C B C B C CB C = B C CB C B C CB C B C A A A Lnn yn bn First row: y = b /L sha_base64="uo+7alfgjer+5cpny5o8dx=">aaacsicbvfnb9naefbj5zqimcry4ouivnkrugtuhfuxameqkrxveu47q+yhtbtue68d/hp/bhorfmfsmucr4szpzhtscw5ckv6p4emnt4+onwen7x4+wr4+svyhbe6oaaggwckzzalxrsgkgiwkc7mbzizx6qfbwwpovk85brcofbdxknhuittmqwz/ibvmc5gkhb7litrlcarw+xta+lycwmqftqhqw9sohpuve8knd8pqsdopcqfwxwvbqhr6obrp/uyaangpdb4hfv4baqroudejsnlzadb8+m7lzyob+qoergyt7wq5dyit6mkgf/jcyy5agaaxdpurulb+m4fsxmfhwa9axrybkpdmlvezxz/ceyxn67uyue9++fbnttpkqst7sd+t9tbjyy9jzvteokxrxqgxetbhfxww6gl5hccagcmxxqnbqgljzzosmbbh9fia5lizqjvipwdvkncbj9mdkdhnrwamqh6cnkwdib6jgzojgpek+g8uog/xyuyxmvdahznw/rqctyl9we/m=</latexit> sha_base64="7ebq9yahz5tetqdniourzeoxq=">aaackicbvfbaxqxgmmvdttlz8qg/bredtohffavgkk+kdqgwu9hzhist6ybnjsttdgnz6n/p/jss5ntplithyqczvkuyfmiedz5lpuvpfsbt66vxncpfe/qcph49jpulgvtqowjwq7jrhiu8+9ycfgmiyjydlztjo9ppwca++jvhc4lpfa85xt5s5fbnybal+ikgbpygyjymclfxwhkxgoncsxoqpcsqcsvkozcyr+gwirj6qed6rhis8enbt+tmtfgdz9w6d6+4d7qxlb95de+ywex8uauavhxlsor9k4wwe8dlaprqcpol4p6gbsrtngrsaxlxs8dtp5twel8xjgd6rkfslmeckvm5mhtvwufr6actbbxka/x7l8vauvnvplezo5l7qrwkf/tzov8dv6bxtnhlqxujonewmx9wdlqo7uvx9ty+fzif9hi6uoknqysmdhjvoubjjgdueiqldfb8atxcf6noop/swbynd8ay8aai8byfgczgcudb7qnuepk/sg/rj+ukynu6msdgi9jvfwh5emjl</latexit> sha_base64="cyaynpxaaqcbangdgxcyxz89a=">aaackicbvfnaxqxgm5mdba64qkiwftytk6jyfkw4ih4ukridws4yjjlmny+sdkts5ir/6e/5b/wbnnm7t7cftfshh4nvcjev5ibhc+y4l6ca6zct7bt+c/de//7sdonpwxetddhgdhbfds5lkx7mryhiurlcezyafnz8w6rtupzdsivgp4jwneeq7p8odlzefw8og7yksg9wtullzmya9q7jxqkbgqqjectqgqe8pfmhytutqnq9uqkleibgtmhzwvjer6dhafv4z78xlbt5de+zmen8uauavhxlvd7nbtgh4faavd8fhhxewbwvpb/fjwmjwtku4gdg6pm+enanmqwjzfogywneftno5qycncjcz8auhtyfswjye5egc/bciyoncxjkyxjxdy68n/auphwsrwzrrpffoqhsbvyad+bdillefra4ppbhti6xrzthenmxkxbnzlvwjieymqpdtuqqo9wdxn+hrdowdwmywafpwdoawctwcd6bizacfpxotpod5fh6mhtvk8/lfptzfxzakxf+uuvo7hk+w==</latexit> sha_base64="a48ay79tilcaoxvxkonhxq=">aaackicbvfbaxqxgmmt7rehafkhjsbz+efalepxrxxqqobcjvlkgqybc5kwralzcv/gf9z/4hns7spbuubhmm55cvosfgcoez7fesxrt+4+atjdu9ofvx/qf7h54nrjkrtrlbq9jdgxwrubee4fozwwyukey8lspn5obooa/xvzwbshymemp9leq+98lgyrwlkbq+obeovchwnjrdzcsuu6basqyquayhbsgk9lokrri7bqb5yuxkjbzjzwzbh5axzva7foq6svxspdeynggjivgfhpzigek45b9nwyqlqcverqiodpfnt4evz/xsvpokylobnrujzphjwnzzkliczhmmjhmzaovghjcqs8mrhs6husnyluxhqvidpfyswnk9yvovf/rjx9cekcguazxrddqobabgxfiw4pzrh6otokawx7tcosuwux+/agklilz5lu4jhlzbyuuxkvnlwyxp9exjib8esgabpaxpaql74ah8bmdgbcj4nwwm8nj9ff6ml5ly9ltvswxwkh7+c9iizma=</latexit> Assume that L, U, b are given and write functions for obtaining y = L b and x = U y sha_base64="w+gaqobfezfietd89tkuqm=">aaachicbvg7bhnbfjdxmf5gshprthifmhajubqecniduwkioe4ktexzmbvrkeexpmoko4ofjbpwinbooc5xwqzpnnecsvbruvtf86/adu/f7icphj56/kt9nmpyhmgzaahngiqxbfywddwloagneugetuhx+mqfxnktvrpdtnjksvlzogllzk6+jofrszxmtru9yw5zecrhgsa7ggmkpisp8phqppfelrgrftsu+pkslup9znodetktdva5fkhlqvfizxc5dkq/zjkycdgvi8ob4f7xpb5gywbvfgckhhb4waeug8w6hsutcgaosivvxuera+pz/broqqvbg8nc8ea8hw6sd9/rpmnevgmyleijbzzme/yqrowkxjmegunwvq7msfgcsygfkwxubojbvmaregp5jfetfhwyyrnfqzxdg/bfck+ktwtjqbnjrudet/tgnjyg8zzxdofdsaldzcow7q6ic6auxclghmw7oimswuxhllw65pcxarcceiansjmquitnb4mssyftnohcwrahxqcx6dxkhthd6jezrglhoxtamigvg8/hz/j9cpcbrtuy5on458nbovz</latexit> Assume that A is given and write a function for obtaining L and U sha_base64="knp8cxklepav5hhs5rmwb8m6o8g=">aaacyhicbvhljtnaebybjeay5cbmiktpedicgbw65yaceowylsvoqjvxs8dkazhzxttogsx/gtvoqf4cw4mwpzpu+lqu6uvnves+ewsx4h4z79+4/ohkypxr85omzwfmxf84lvezm9lyyxwcllzgqqu/lkhfqu+txftp9vuhwcao/467mswwvfqvggj66gvzkarc5+dgmkvndgwuleejuanrpvmwgavafmxrtpgbxdgq76bpjdt4/qhneznvrlvrub+vmcosvbuvrkhwgih9my5rngkkaan8vuofqjddfub6jbk5btogwjwx8glyljkcqwuikxt/ifvs8idrdzuyjqnkx/qsa9gsa4vrr8yqrdvltgjsg5rzruugzbomcs+7mbxtga6j4wkmnirtluw+5o89u+zvkygumf/nwhbobdtue/skatz78n7zospy4biwug+saxruvjaroap8xwgjlgfqpfakyzcwylzggah/65hlissnx44ekbnqgpvxnibxixhatjkz8fd+hye7ik/kgvcmp+uboyrcyjtpcgtfb5aanidfwzrchrvrja4zlwkrxx+/au57n8</latexit> Deal with cases where A can t be written as LU ( pivoting ) sha_base64="clooqdjerknklskcxcc8u7u+jcy=">aaacwxicbvfnj9mwehxcxi+tsanlhyt6nkpkgujdhykygeqhwi5waqus4k8sq7vijz+vf8gf4iz5xudsxksw9vzfjgb/jfgfgxvhvilx+87defowcphz+7j5em7qrloyprx+iijbjitmlxmcrhqgojiomyyattzvqhtxyh9qwahsslywsqynlrfqsi6q+6jkgidvfqioiixrc4sivsacekbllj5pwpylyihlujm7qm5mezxlkwt/anmxdrbzanuk7kexloystgbef4ehomnsxwmfm6dnxvowiopa+xq4szwbvnrawjicgdb9mbprm8vgxdwybl4fbc57/xgu7wlfbmke9ne+zpa9pleaatjqty+zjrozcewz5ednbqwoqlekhlmhkggwc7dzt8wvpjpjotb+sit7l8vjghjtilzmzf5rrwkf/t5oti8ck6rxn6vxjyqgyvjblu4zxqo9avigaheekyxrygmpqfhnspgk/btviazernvhldlpvg/hsuxkpk+l//gfvrf6gv6ie5sgdimpqmzneueb6mgy/basslcf+iodpyz9bbho4vzgakw==</latexit> Second row: y = (b sha_base64="k7p64tx+sofdmfbhvwjhkkismja=">aaacoicbvhlbtqwfhxcqwyvazzsre4rfqhtzervhasqnbskwbtonjumuwq7tscapylbarlz/g+jr9hxqjnmgxtcixlx+fc6ufixvojesxf86/adu/e7g8ephz+mnw6bntopn6iworvqzrozyjunmmsvpwampepjtdc+nnz5dugykiddbcohpjakaqdvq5/jksgpw6xj+iai7wa5qwskgf/bqs7pjvfcifm5fdrlhfilgjibur9ppplvyqxyzoxxguwrhnbmfspssofax7+eoxjut+ahuqrzn/bl6sapdqkx8l99xhidw5hcxjzbwjkh7maj9hjfdmlscuotiqjy+zptjciwz4ts8pzwqwsjzuk8qikenyvb++fhbmaqwcsdlrrwzf5b4zawzivwyoy+ak5rhfk/bd7a+lhmgxasyw5alshfofuhaimlkblc6yohoft4kyqjprgwyuaxbeuxhq4qwlrgzvet+umojmwztr8no6gnvrz4abbbhkjbitgcn8axmaec/ktbavodbwbf46/xsdxqxhuzwhgxexfwgfbmw</latexit> sha_base64="jjj7dffphykcnawyhch8bw4+a=">aaacoicbvfbaxqxfm6mt7revnujpqcfe6s7qogllyfefqny7hzhsdkzbtjcsdkts5i/iftnv+uf8ckhm7v74lyecpnyfefkjn/bmjprkurxfn+4eevny7vxvhzx8h/85msqxha6joorc4qrpzxjonbmcxqqduucc5rhajtsnqlfpymlqq6k6xmbllalffuuygq+8+tqyhrls+l9u6rolxoezlkl4qjqsslc9ho9bnarkpqdypnzdzbkvirhpojfcadm7vx+ajkhu6uidibzcgjfwiw74hp5d+mlabtoel+hpxhlbbbdnfsgbjiubkk7auhzy8ufaicjsv87rxrpbjwocgttjekzwyjhfowsaszuimrgjwfkjkgt/mk/fu4epokmmfjbxfsvxuecwvnaofm7ovqtar/9mmjavffp5jtgqybjrxdofoygastmkhhb6oohylh4kyrtzbbxywrrxaaunpxwjusi86o9kot8hjcbdmm4jjnay9gaz8amaupeamowudwbmaagd/rzvqyehxvxj/ir/hxmjwovjvpwvrexv/h/s/g</latexit> sha_base64="syyzyetolyihyudcqtyakjbh8=">aaacoicbvfbixmxfm6mt7xeqj4kctglrkhpiikoczrdchvbc7c5hjjnmnjsxicnswsl8duh/mx/ejx/mthwux4i+fj95+qkyg4nylya8ovnlvubwzd7t7fuxuvf//bsdwnowxmtddmhgdlbfds7lgt7kqdesiwebmo7pzpixxksjt6hzifgp4hwnavqv+e9gq/cnyeavlav5baqsoriabcsxoqpcsq9ploppcyjejwphr6qwbzwcffzj4zr7zzxlvx+8qoviuyff4wdmexhci7acs9ufwaeqharvifj7ai+vxo6/5omkiwazdbugy7b49/dphzcnr/nzeanpiprwwdpimtss8no5twcj7gstqtof4lecvfgyw/ilfysbaaespuwliml++fx9lahsqhs/uivah5p+seoqn4xnqm4cutvqgoeoadmkdkhlexrc45poahtwkdyyopcypb6djj4oy5fjziijujouxabhwgyb/o5opyerwilpulbab+l6du6qb/qirojiv5e9ht6fm8f+mv8rhq9q4wtc8rbsrf8bzp7rpq==</latexit> L y )/L since we already know y we can compute y Pk kth row: yk = bk j= Lkj yj /Lkk sha_base64="uzzfju6xz6/bjp5ebevyseq=">aaacpicbvhljtmwfhxcayipkbbky9gcyfoseqhwakrudfi9cevxxjeyt+hhzzptiyo/wz/wia5xofnsgkk6ouf6ps7nk8gts5lfuxzn7r7d4edh49fvldpjs+dzqjccmswezguxcfm8edwgvlegqucjhvpp+uejjuvy/xfphwskl4ivn4akgf7kkjc5/untzpkrydypmluwillo6cbtugdaslcfz6btmcsjab8nopvyxi7nc7/oxfdw7njoxkdrndoussvq7phciimwdrp/sejptnou5yboqgalxtscppxumoeomyshobzdyet6ungm/4rorjaohbng7spnkrfybxnasnmtcuka4ucrwgaol7q8etvryapaahoecvta/vvdg7skxni7nan7wo/j+ql5ee56jzt7lprwqvqnooqgtukllgd8gbgr5mpwwlbpglzzvqskvxha6lrquo6psm7bcbvozsbhx+jznx/pltshl8kr8pak5bm5j/jbzkrfphotfq+suj8bd4hi+vu+oo//ocheumfwegm9gz</latexit> sha_base64="sslrar69klolimk59a85oydwyc=">aaacpicbvhljtmwfhxcayivdixyslgygmbtkhejwkgrumhhinghftvjxmztephzdttiis/wp/xe7nkjdnqwe4kqwjc67v49y8ety6jpkdxxfurv/4ohh79hjj+f9y+ft6yudcmxkbwq4wbvc4dtwjnfugqeycp/l6ontkzswa/xdnruujfwqxniglldl/q+sapprnz5nhmdmtr6xbieyuvde5ncddnsgip8nhqpppgvgyeh7xtotqd7tu899nodgxtmlcfk9flcustvwxpbukimkarupxsm/oofmmg45logiovtuoo/jc77j8kwqa9ddi9odl/exncsexy/6finvepvjaqydpnlfh6m4xgmkmwafbwyxoaqgs78sowvglmquttwloobtl/fiqjyyd5ndmvamph/+akz8vpffdzortgpwoe7t7ic4aazcyxhjjhyvbkvmcauxcgy4rfffownpa5rizkrpyworgg6ffgnfyc6oycvymrwjkflezslxckhgheukeht9ijl4ffwtnsszxwoc7f+8iacrw99o9ps</latexit> sha_base64="alfatjwqmnrhggyrwnfjqjp/uw=">aaacpicbvhljtmwfhxcayip6cccbrulkqgjrmbhgvcixdjkgitawmqm6cm6lv4lszpk5uf4db6gda7s9y4brdhitzojrn+j7ozsrbjyixf46/adu/co7vcephz+lb/9griylozhlnslhqaguhbfy4ttwknluaqmcakw46pblebxipvtmmwrmec8ulzsb6ath/kvags/k7i6pheyzbtnuydkoqg9vogalvkcyl6gruulwcxdiqbte+miq7nctcom+rfnx6llelewkmnvwzpgikipdejuqtqlojbxzjqferaosdetjof/jabhtgt4e8q4cnz7ujr8+pp+al/xditurlmqbjznfubkdbtkt6geqdvbavncbmw8vsdrzt/gwps89k9oip4pszfsvz8csgmamfnmbkzxevi/mzhyf5o6rbjpftokwlbbu4gnocamfv5xyy5n5wypaggvl/trusxsxafu6raymyq+bstnmdkz+hvhx7jn8gdshz8ok8jje5jwfkmzkny8icerwkgzr+cb8ek7c6tydhz/npk9coevfvpvrw==</latexit> sha_base64="qnwhqy+9pelcwuicgibmdoh=">aaacuicbvfnb9qwehxcvm+tscni8uuujlmyaqukvflckba4cisulzri5jrpxxnyimjlp8l/g9/hdpongezsrl4/dmpopsozrpypgt+ffuxvv/oo9h6nhj588ftbef6u6lzissaq+vfhhrhvjcfppqriysxdng4qykej6+jflrwnzxxunwhkflshgkhp+ffsijnvpyzi4xtauqkjanliojhjbrndnork5salimoqjxwletgttlhvha5tlju5j96yqapo+anpndullpxvczxaqxnmggkacwc5ddmkiwpyzd+puxgfn5ntbwxsesiatrur+frzualnx5ngfmwdk7cizmaic7s8z8krhlidcyiawwyddolufsu8yi7nvpeg4qmuydklankivepq4ruh5lcopttcwy6b4dbxkmoz66y/7q6yfxg/7hlq4upknfoi8pwgomvq7acezueqydbtlfwfkk8qlkghrz+xoljkws6itaezgsvptldnl+buz8d78fk9npgr74bv4dq5acd6au/afniefwn5l78slvm/+mf+xmfxpb49lwao+gfwhiztij</latexit> sha_base64="7peovwczlogicrsa6iuznar5=">aaacuicbvhljtmwfhxcayiv8tixszgidyspcq+brioaksxysbgkohpkzhtoib4lsz4bisstxsor/+bhwogxdiyrwbo+57f6nww5kufq7ck9dvhzt7twz79+4/gd58dkrrvhe6jtwvrlgmnim6dqww+lzoygsmnmzrpken5tpvktv5quoqublpivjcdjowz4kqwvvgfjtq4ohusdbeachqaqxpbycydymsejskpapceicw6xnclmzpp+wvx5kjbqnqzeqo6osjooqyck5gymlhdidloy6lzkdjwjtdbhcyofs5stxkwyapysvsviave6hyi5cn96nxta54nymyf7x65/tdwdastb8k+yaqwvhnck9tyogrowsblgopv7tpoifrosec+luhqvbbrxr87pecfrxyrxq4rv/tsehoqnsk/uv68tcd/6pm7emel+wtdatozjsbhuth6agvukwz4os4yigskk+vhkzfcxhgrd6aulj9t4+aoieuvvhxzlqvj6aux9z+4hx7adaxb56cz+aaxoadoaafwamyahi8cy6cjpgytkisrkk+kqdbc9jsbnh+xfytdqx</latexit> sha_base64="zbfwdm7imnn77gkkxueplhft8=">aaacuicbvhljtmwfhxcayiv8tixszgilcveh4cjvquliwydfiddjsuylhcrothpzzgyr5d9hyyfwb+z4cty4brdhitzuj7nxt/rc7kguawd4jfnx7t+4+atvdudofvx8wfpjovnwtxgsgablswwpwqggmienjihnjmrzffv8fe6korx4orugldhaclpqjlsdugppeeyq7+zmji8wdyaqakkanhkojhiblnanedi5cajimssjnsjetortbtshg/zldnxt7pnvuwb4ejkqrlqgsl47gqesroiuji4uew8xddmciwp6atsxefr4ktxvysiuxswslkv9ah7ugvhnhub5nghfbqem6t/enx9tu/pvnstr8k+qbjkrgjokdwmgrwsgqkgxf7toocfdoseyufygtttbrxs87pacfrvri4rv/tmigrfhmvfzfv5e5hvwfn98w5hqghatqtedcpabnune5ngtixblmqu4qldbtcxckjshzw7kwpctsnsidmoo9uoflwa4mpy8nzvfwspspdjehngknoexcmfbcaw+ghmwa9h74h5kffbn/ryx/lsu+p757hycf89i998nx8</latexit> we already know y yk sha_base64="eldx9rrvsykudu/autlpcvm46=">aaacrnicbvhljtmwfhxcy4bykrbky9eiszkqgqhdcoudctbositrtdom7uih+r7uyjrhwmn8wpsmzps6azxmnstnx9fuxbmbbt9dsihdx89pjl9mnn67pmll9nxr9dgtzrqfvfc6escdovmpvlltprrlmqbadjus8hpbmljalf9iuozmag8kqrsb6kp/+shvqhfrp4mjxiyjetvjtvsay7/aklxrhlbags5cul7lbdgtae6wfx+sjsmofovlbtgxntvrpjzkpbkgryjglgfrexwlduoz7s8pihd7uqzuj9jozabixrprvykjnft6drytoh/g+iecwqnc5dm/vixpbzwwcdbmeenzrxoywinfrtwazidtd46eequm9lb+lnslwp7z+em/++8obmkythc8ctjvtyh8n7zpbfulcwomlyafshfufh7vgkmlkrhe9zea87nisgunxprrhxxzun5lby+pyeimrsvbbkpuclf+r4ezs7/dpadoreonfoa4rrbbpe9avwiesnarnwefgiozcdzif+sedmy/b9brhnu/a5uuw==</latexit> sha_base64="lwbtsnjjrq4najjlgnmvbuq=">aaacrnicbvhlbtnafbbrt4pbcdzyggiujuwlkclwebcsikbhsbfnx4ez8jysmxftasjx+gz+bhwjjmssmuvrjo65859nfsnbkbrb+d8n79bw8pdh+nhj95+uz5+ojfwqhwezoniit9wychnek6t8xyetlocqlgncnqaanqbpuqpzuealwcuiwe/l49pa7pqny6oph+i6nonvufgveojjjqjabj6wzwusaxrhgbtb+qs7nsicmkg+rkmzs7xo7sulmdxqd96ovha6lwunjl8dbpctdfrlewujicxl9qlg4z9atpx8frnnoevgvihtg+f/xy+eeu+/uplklzqaqkhy5zxnjmgbamcophawtgnrwrzceshduzg5jzy/feqbeldl+sys7l8/hahjolh4zgfbcsbyp9py9zwnzlh5lczjntgvcuxvxi4cy6zpsr6sgrdm/kyyrecsv95elxxl9tei8sxgbufnuwubxovwnjr97xz6jbryi+gneodidibotdgeaibafbsfaxoaujcbfmyb5ndypdn5dol8lvxhths=</latexit> sha_base64="gbcnwehhqgx94qfmn7+v5ylz4=">aaacrnicbvhljtmwfhxcy4bykrcdjcuuicuyqgyvmhewbacjnqmetrjenmrfgrc6uymqoh+ghlpiljjtfqga5k6eic6/s4tg4mzakfgxhrdt7h4chvdf/dwepxk6clopn6jworvrfayzyjuncmsvprampiiltpkhng55cuwykl9t9bmwkvkfsngpzwpf6qn6ej9cefute7apqsoqjhd4leq6jkoikkvlz7pepqlsigbs77fv5nkpxafswbrlzua94dpswyhq8phi4h6sccvgk+6pn4qxe7q47ifykmwayl9aadmioj+poqmsbwtrdvwnhz88fv//+gz/n4z++lgkflzzwmgyzr4nhgjlckd+tnbqbkgnltpoqrbteyvvb4lwdkxcntn7r4w/77w4ewphofzxyndegfyftmxt9t5zta6bsbjtvlucw4whu+csauqsd7kqdtzskyage+uvtdvlrfkvtj/fiqgxgxddtuqkwjn/6vild+wdsyheofeotcorqfodhg5ioshaqhafvgtmwchdhfubbddy/xmg9ijc/qva6tf9</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 We can use a loop to compute y, y,, yn sha_base64="jxz8tn54webykchdybcnstl4w=">aaacqhicbvfnbxmxepuuxyv8niujf4sugvav7vagckkvcueyjnitykyr5ltrphltrewsvax8mv4i5zxpnsglsnzenpvxjpzhhrbnc+yl67/6dh48oho+eph/hb89olc6cyywdattlkxihgchaeewgxxgkrvebbt7nel67boq7vn98awelypxjngfgrqsa/skmst9dnk/mtmfuenqmkguwjwqffxgwkqiqgczbpqsuijigw67p9tsggldjq9gl8m5+wd8qarpnqeazijcjqnmsndayk9xrdenbzcvvljw5elgvtxutquouq8ssbzrvade+gakayl6n/8rykhqngnidlpjf8fyjnaujqsbkhbeuuybmhihlckuxm7pcbykxxrw8yumd+9fink5vtkye/pbms9+t9tfj6ypws+qejuhh9+vf8jpbyd76veaewr5nxwxdlge+mvywbenfgo75fu9kblt5cy5op/hi+ddscv55sowavukvtuuoznjr6govoglitjyrl8vr9ok+l9ptnapomns/rxqtl9krn8=</latexit> sha_base64="dd5+lm/ttjnztqumb9yp9ggg=">aaacqhicbvfnj9mwehxck+chw4clhyrscqpivce5opv44folufjvvzdutrvv/yxywiiu/hf/gn9gjz5yb7rlsjaepvxzlyhrndns+xkt66fefuvyp7owcphz+mn767mzpjkymypafegeak5p57aefgapfuqehxevlse6rtuxlysnkhemmz8zgqxr9kqyzvpoett4wydr6zqgsc46pcov/gbasqlque6nfsgl8stgrjj/b5afduvlamyvzwrbl5b/yobglwoqdmimktaywnpgrgsn6hfnrv+xfxnryxtfyuinxu99x4mjtkm8aqb4dh6cvrq4wqmhwjf/ectzkuj4j4twiz4xfbmi9zwliulg5iwxnlmarosisdjstozx68juunepuxxhvihdpxcdpzbzdnegfyftmh98kzubowvwzbqgnfsp5wevxzc8xhvtomovxvsxwxblm49uqxaxilv8r5j5wbuftwm+dszbkpnh+njngzhal9er9bbl6cm6rv/qdmrs5lktzilefounavf+nbmia7mudoll6foqni=</latexit> sha_base64="xlndwr66roaotuh4lnjrujjjc=">aaacqhicbvfnbxmxepuuxyv8nmcbaxelfofqfewidggvckxjkeiajstlkdcakvr7cytrfwk/g/dd+daie8sq6kzsrlt+/negbeuco48nklvlx+87ecg9+w8e7g8fpt5urempkwlbc8ocsc4gqnnxsczsuakfvdqbjxiwuwjmvxbcg5pkck5zrnykqugphbl9feqz6othzhulq6jpklfg9kbd+ylpkorsjh4y6ukvgliykmu5xlyqtsmkoejf+6bcvdf+uiiyaazkthxgemwghtsnc4pvgaz5sq/yory6pyoxlijhxv8cabzevag+bqcnty8v9z/8/dphn9iowskkm8ecw6wz8bpa7gemwfxqnjcelyi5zclubejbh7wjnb4rwqwunypuxxmvihdpxctpzozdfenvyfnmt8/x4euooxvwztqg5ev5/ebzgfpipfi84yzbhwtfbekuyjfb6biecqg+wzsklbr+vvbropt4e8cv45ovyrbwippuppsuuofobhcezrflemslmw5onrdjiw6ddnappsa56gnujpx+nrpu=</latexit> [if Lkk = for some k then L sha_base64="b59hg+ipcliewfqtyoqpywqy=">aaacwicbvhlbtqwfhxcqwypdrcehcueqswyjqgegdfcamjlorenjumw8hxbjpw/ihsprk+bf4f6enc4c6blro7oudf+pyy5czynpdxtdurp9z+/u6n79bw/x48enxjvaqpzqrjspyuxwjmeuwwwwmrgyisq4s7pzebpurulhkcizzdwjxazqnf5vtesx6sjl6fqtfd6nclpxrdc+wancwk+qhccycsvs5lhiftwtm+zwelfei+fz7dtwthcbj5gjlmsz/sbnck4neoctjsfdtkip9yrzce4umcwvbbdrfg6di+hbmbwqwc6wvnmja4j4bpv+njokha+dbaatnntxavynqbttbehlotfmkawtxtqilamcwrdgzbqhpzbikbjbjil/rr8yvavnu7ayutrl/tjgijnmimntfpirwk/+tttn6/deynqvjlxfvhcdw4t4sxdeniyokkaozufwtndeepdpdtbsdpwxq8q5ainyq7astcpj6gvlpvqwtw4+dzxvokxqodlcgqfd9audozmibpou/qooo/xsyvzgkfdzbou7h/c5wz7s=</latexit> sha_base64="hrr/ug5kyvuhsplawgamnsnpcw=">aaacwicbvhlbhmxfpumrxiedbcehagdvbzemwhen6ckcamjlorudcplqutxgms8wnkeojyxjfxb/wi6zxjfmqlrs6oude+tzypyzy9pdxtfuhnr9pdu4n79x88b+enxqvkcptkjisp+vxabneiawwq5nrqyisg55yx7pb8abzisjbzwkyqc8lqroknhz4qijltwly9lroyq8gxsmrolgfikhhyqfvalbzowk8di7qhc7ois7sffbap5vljes+gzdrethuxzjzojuwsa/yfncknkoatpoewxiih5rzof4eqbwvjzdjfh6zi8hbqywfud6qjnye4joybmz8p99jruip8hwqbshf4/odkjloed78uskdgkkpzwym8ss4czzrduhezkblaepoyrqgjalmzk89fhlykrvbwsfq/yfyccecysrrk6ewvmvan/6dnosfzbytbwdbvwiuupyktyhhsumgdoqrcuiszciumcaejtihrrywl4bvipt8hs9ezlv5dk7fjel+bfgeerhfla+yhd79eh+okoqtr6fnkfoahcwf4ybwsvxtfm5gnaqtj/bbwqsg=</latexit> sha_base64="djayt5abixiszevqmpr/zi=">aaacwicbvhlbtqwfhxcqwyvksxhywiqyojrgqjoblqxqkkiiyjmkqtmhkcm44vpylbkrz+qf+gf/gnix4edy48zmgmm5q6nz7vw9pqdoodmjn8h4bxrn7ero9uhpvhw+hjamskekq7auemcczhypnlcnpoiklgkbbunftc9cgkxlsfwkgpxjvjfkrkdmwx9zqshllwsj/ao6nwgmvfbomlpmgkfkvkccjll4hncsesxnkubtaaapmukfzai/5zu7pmdwmhubh6hdm6rp7ge4uhobjqbhdytthkqxv7ixsrfhuohbulkmf/7rl/sg5jbu6pceelf7gijju8mw4lg8lhwvjguwc/b//jb95+/jmbdpmpactawsqjmdmkbmzuilamcvdtgyaqmtyblmpjrfgcrft8pppvmu766uthjj/jvhidbmiqrfvtglms9+t9ttpqpdmnqfsvelqpzjqaffi6zbmp9fcujvdn/k6zzogmptknlxpg5a7veewojcquwzlvxdyautztz57x96hvwhx+gzkujeomoedhcaibk+c98gn4dd8enahduqnqzwm4/qroxdxxwke=</latexit> 5 sha_base64="gyd5vk8ydlbbvoh4p9griado=">aaacfxicbvfnaxsxenvumjrv5ziuoheihmnskl5sar7emkdtbgnubszsbc+klspjvi/ahf6snqqt9lanhra8pvrg95qi7jzwfyzsfce7b88phwepzk6bpnw6pjs6cbydgtndihihgiuyee4fxbklrfibbvpo74aeu4vl/9xsbckmvfa86ij9ryaepdlnxfq55njpzhkhp6ppiljz4ucr4xrsurfwhne7bueriv4yimgbxbuoepxsuhri/natuxln/ga8xp/xbp9hoh6y+eomtbwvdbomr6utiofxvvpoeprngjgzzpjf4fyz5ma6nq4mistytxmiregluebtitpolmhwtt4meb9l/jwkrzmkjzd8u6uph/+anrz8salem8adyrvhdcow7mlgfbfafayx4orzhnffbeusyt4ey8dlbeigfitscq7opk7sdwhl8n8xl5lx/rgp7bc9rk/qa5sjusopqelnemm/uc/k/kipmtnqrvslta5rmy/qtqwnfwgr/clz</latexit> sha_base64="yzqhslaj6gbylhmohyprukp/e=">aaacfxicbvfnbxmxepuutjtwqbhlhznjq4oqa9gkklashdkuiurzkbp7vyvf8ntktw/gj+hbj/hbmsejmcsmtilp7em/ebvsfgcoez7gesru/t//g4ghvemntw/7z55fonyyizucvctgmugitz7gl8yykeswgizhnv5cm+u4vl/9yrczhcvfa7brren6ubs/skgfddsove6ugbjxqrssvuqjysvbxk8bgnpqs/ocdcugalyqoseohpjt7jzvvje4mb/oxx+ammge77x9lwxd+c7it+bo9p774qghdd7v/yortrvjlkccnjvmmfgzanzzklhahwzqjdwxayrkpdmzci6mryfr6bctbbxky/x7l8taarzkliz7e8u65p+aeprsngyjsekboxqhubvczdzljillefq6w4umvjrpguwal8rg7lgsmrplv8q5jzbdufjuwu+dizbgvl+jixemzpal9er9brl6bsncdjiaioh/od7kx7cd/upttrctkbjduyfqn9c+qlsrj</latexit> sha_base64="wrxrsti9lnsplaln9mjrlbio=">aaacfxicbvhlbhmxfpumtjtwaialg4umegsuzvrayaizdmfiykrtqxmkli9dxortseypyximo/on/sfkpgafqerjpakwzcwkk6ouden6tzqrbcuit5gcx7u/spth7hv+mnt/f6z5ebgydcatfbc4pssc4gonjtsc5nkakfzdrxbjtsswltfqqtqkcs5ulzijlhazfo68tq+rtpk+e7jlvfyvecnfevdybd9ylsvrpc/h49bnkrg5i8kpzbzbknsqnpojf8axdcv9wunxjgzijpi6glsz/keytfaf74jaw5g76/r7+ui9nz/yyva9ziui4jyutbqrpdgomwhbqbggcvuqc5ggqigew/hvmi+deyjq9qepxxesf9oecktxuoaorvl7wti/+ntrtxfsg8v7pxonjaqgoedjxuysyln8bcclhkhbkedsvstgxhlhxjyuo4hjci7dikrugtuxavnr8nwufrlsowtwtceeoleodcorcdohe7qkzoghn6g9fotbv9iq/jn/fwrphm5kxakvi479dbcyu</latexit> does not exist and this (usually) fails] 6 MATLAB function Ly = b so can compute yk 4 yk = bk Lkk sha_base64="+kdyskkakvfdnsmafnbyuphy=">aaacvicbvhljtmwfhxcayivahsknhytepupegsczywgdceswawsnyzuhmhndan7vimxbz/in+hh9hjdpjgs5wjutx59yxz8gkmot5hcu7p95+69g/ujbw8fpx4yfvrsdstjnrbgt7oc4wm5uzshwwwwulkrkywzx857plqkrjhfbkdoidbasoorzanujn/lcmnc/hrpmntphhejfqveoxcjrl+omqic5cvl87luknqxnc+ywywy5fzbhraqbektuatmfxvaodkwii77kvp6tp7mhnasxegt6euwlf6bzhqf/u6spuw75q6pzfuaartegnopl8etzjbsat5migzgchoyvgffnwqvlbpcufglnnecihbrnhnnzagqoqqdgalkmqkacmcdttpxwdkbwsghethch/tvhkdcmezhu9t87ke/b+bgsxbmqtzssa4wvshtog9uxdfnculbiiggwbovkg4j+nti5tvd+swhu6bwprcpddluzmcv5f79ovyetkejdsalwer8abkiip4ascgjowacr6erhn6pt+fo8jmwsrkrjaoh5dvyi7v4cmnbabq==</latexit> sha_base64="rbfcplx4t69srwsirlbybiewwy=">aaacvicbvhlbtqwfhxcqwyvatzibcw6sgw6sioqbfovzuexxrsjaspnquq4zowntmpztigy/bx8an/a/ajrhfmzsgxmnstn5xnkyagufq7cg/dvnpt79yohjx4/gt99dqhbtmeywyrwwjngfukjmhhpflqqjijsnpsqdn4rpwkrvphekpyjhaaxch4qbj/yirszfvdxthhebojjjd4htsnrjsghkorgwzjhe48gsmwicw6xtdmtw5yhug/vjduvpvmnjnavmjgkr9yk4rt7oxzyzvgozgxups5ld9adpd8ckujmltyhsyndcr55hxmffstq4neem96npta54m4myf7jy/kjwdgvbj/yaowd5wigxnseh5huqwkumxi/7wthojcimwzo5tgtjruvr6+brjswbpv/wsa+m+hrvzrnpe+cvi+vs4n4p+4ewfqd7mlqnagclxzvhcmmhyorsgkkoknt6giccvqb4v4ibx+xtu5svjbuxdu6ajr+eiq/lcjo5ojx67+ppxrfjsik98bk8am9adn6deakzsem4obfcbx8ck7dj+eifkhclibbtuc5imw/wsvsnxv</latexit> sha_base64="acijusqcwqlzfxnzoleupegeda=">aaacvicbvhlbtqwfhxcov4dbbbymprqwltuyjazdoqkau66kjitfnpeilh48x4yjuw7rqiywu+gtu/wd+w5xdgjtmzc6blspauzrkvnnkrrwjop9beopmrds7ucgd+/df/bw+ojxuw5ahcken6xrfyxshffbjoyari6kioixjkrlnfr8ekmupo4adpjco7mglyui+ohyvgjkivzrcbr+mmds7yhrviu5zbwezij9xwzksm5slibmzrabebojc9tsmm7ysrrpt/qxuqbyttsdqhrqp/cbkiwxjz8lw9fowyyrykxh6el9momwfz5gltptt6pheyrls4lgm6hxhcjgauwk4f4jvcdrsbxj9o5pvyxff9fvym/szbreccimznoar9lkfildmsp+lytixcn5mtqu4e4bldaevgc4/mynuo/4sbk/tfdou4hvfwx/fxv68h/cdpwvg9zs4vsdrf4vahqgtqn7icm6oint6gguvyux8rxavk9tpezqtc8iuixfwcyx5lr8vzbryfmrsfc+/uavowlraxpwhpwestgabydeagjgaht4oj4hwer4l56ei5boddy9t8bwhnfo9texg==</latexit> k X j= Lkj yj 5 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 ~= error('either L or b is the wrong size') if any( diag(l) == ) error('there are zeros on the diagonal of L') 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 LUtestm 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) for k = :LRows for j = :k- y(k) = y(k) - L(k,j)*y(j); Example: Lsolvem 7 8

Similar algorithm for U sha_base64="fghciyfeyryrzon87inxg+wnw=">aaacuxicbvfnb9naefbj5bwfcqry4ouivnkixcvkqfclhylrjqioirg6g8za7xhrjb/ex+ip8kzdeidaznd6um9nz89jksudr9dsi79/8pdg8nhg8zonz54pxxxdofnbgvnhllgxkthussqpsvj4wvkensqcpetjp8+utppyu+qxchyvxkxaogtyhv5ikbgp+nne/ibwwsl+egpdrwqvlijtbaq5kywtsnokgkgsoztk++psqtpsw6t/rrj6x9hgh6m5lqucupttvvfobza/ckxjgng8eyzvsybkdfgpsvhcwh48pu4yq65ddkfronowvwvihoxyx+fl4r/fkgqnjqkfzsjqkjfa5akuohdg4regty4dzdejs6rbpdasvfecbbgshnsxzl/tvrghzuon/s/u4u65p+eu5yakrzvutlmikk8vj8o7ihgmlqryawqshjxekxcfwbdkg9ybuqc6rmr5hpnqblhx7bxcbrfvxj7+fsovvur+yqvwkvvsws4/sjhl5zkrhaunasfgy/haqhhev7trozb/os7vxo/gkiu9nj</latexit> sha_base64="z68tq4uwdxjka/wp+xcyaq5ii=">aaacuxicbvfnb9naefbj5bwfcqba5cvlrknyeygklvchvw4fonurxeujdfjemmu9odtsw/xf/id/rifwsq6kzq6rp/ddt7oyolhuxr7yc8c/fe/b9b4ohjx4/etp8dndutgmftorrxl5k4fdjcickseffbrfpjdjlunety7rommqb7sqcazhuclccibpzye/hpszn6ctr6ltxdljxfkclwvfbwugvmfpdlbfpenyqqyqbahhw7apjssxrk7z7qlrn/vnphugq7loiqu/xrvlfmj5a+ykxjwja8fyjvsafcnfgbtvdcwhotyq6+bdwguryvfbvewhj6+ul7mjlgz+fcpbxsnxoqeauemcvttravluijlhuhnygllhdqyquaaxdb7xjrztrwupik+zv/taee7t9kzv9l/nuevj/rsh4njwyqpuccuxgvqipphfuq8lxyf+qbyccjk75wleiwi8khutclrxsjfifmdl+o+ozabopztyofevzvb+wj9q+e8lestcszh/ykfvcztieieagoa4+bz/dkxdcmvyxurog57nbkdc9xcztw</latexit> sha_base64="bmnnoxy8nck59opwgriahcu4ic=">aaacuxicbvfnb9naefbrxi+mpydby4rwirokyavcpchvw4fokrxeujdfjemmu9odtsw/xefg/ggupnfknozcwoayetvzetsvrzrfew/gvdw7tt7+c7z4+ojxbn9v/8yzgoccaompu/boziljkiswvpkiuhu4thdddt9fihwsvn+owwfuwzuuzsahlqv+rvgbt87jo8eboduml7g8byvkvesei+frrkremgw7zjnfahqdxdttwx+onmqbnubp9s4hq9cv9b6amms5l4hlp9b5vqa+qmtcuk4ccf9qlbcixumw8uxxi4cz4lh6pdjdpkln/ibpeq+iqbwbbydpr65/8ftrr//gnotzykldgcsokpoyekkhd5l7bacsya5tjwsqaobnquttvyfz7kvgdyuxffsvxnaoewovuu4+76ph/k+bjqftrtzvjvhkdad8lpxmryligfsoiafqczbwom9clgabue+ykpbaolpjzvkanufhvfx8tncpzq4fopp/unvwfrmhphpksxsltthn9gpgzer7adhwyfgygcqlie9zxwdt84rtvej+armtfk=</latexit> Matlab translation x k = yk Ux = y You might imagine that there is a similar method that works for U sha_base64="xj/pgzpier6ykvsczy6etwk9yw=">aaaceicbvfnaxsxenvuizv9zmiuoxsilmnsf5aar7kmekddxingwmsbc+klrpjnh/uv/sa+fqrxohuqka4lhezn6wxtibhc+y4m6d7+g4chh48gj588ffz8+ollhdonpwxgtddkobjgis89wldmksakek8h6unfnbooa/xnbwxbslhsvoyufkswquasetfhdybnfdzhkhp6hokfxs8kbx7trwuokpqtqdtkcx4fqurpm7qxzfrxisik6m7on8fgd8bjq+jdfjcbscjrjjti8h+q9gkg+zpfdxwlasoz8lsac/m8m4rwhpobys+jwmg6bqudxcbzk5rdjmuikalwrw8yumt++9eaoncrplyau7mod+t9tvj6yjwzrrpflqhubvczdyljillefi6w4umvjrpiuwal8rq7lismrplv8q5jzbdufjew++diwytelf+aju6/9jedoipgrfofqittezokczrnep9dvzs/atp+kofze+vnk7mfdqp9oqvwsdcvg==</latexit> sha_base64="xl9nj4udfdgwqse4e9tdf/qlew=">aaaceicbvfnixnbeozxxwnhxv6kuxeuqkzcyuelecuxhcwewszeko7unznokvunvwdc8cp+bf/+ibgwj8nb7frq8hivql/xihjbnc+ynl6chjn7rj+7hdx89pu4/exrudgmpmittlg4jjgik994jdgmtaeseksppenhfronaffvrw+yslhwvoqufquvflqysdchzanvlahv7q6bsnfgvdkxb5rlswokpstsrtkcx5jqyrj+6rrbftcqlfj8zvyqbt8bhsppnf6i8nhu+gpslgkxwb5dswgl/7fjxgcjt+r/kstngmuwpaodmewb8pidnaowfrrhdnavxljzhaokc/owyaxflynt4vrb+jthg/bfiqdsubuksbnbduovj/qzx9yd54monim6naobgbgxci44pzrhyosofdl466ylsec9feuey5ljq6yb/eeswqxvh4zltvg/gqu75z/iyl9qts6qs/rc/qk5eg9gqpp6axneuu/o/kidlm/qsd9hx6ztuajruzzivto/v7nefa==</latexit> sha_base64="wepxnpzuvrpeuxvbjerotb4=">aaaceicbvfdaxnbfjdvqxoeffrlmbbeju8wqloglz5wmncdgmzsebifpfzgxtgpzh+bv8s774a/wlfsgiziz5mkxbg7ndvncm6pobmusx5f8d7+nbvdu7hjx89piw/+tpqvwnotcliitzvhilnemyouy4ngkdrjqcsni56ftsaoxlsn5kwfioesywsf6h5x+aamfjd+jqzhvpr+l5u65oixle4lv4rpuqrfy+nxanwvifprwpnbxtxltmpz+qwtw7dyfrb7xrd4fqsf8sr4bcd9wfjkfkxvgslrim/hp/+uzzm+d5pwgjqdrkibwznngu8mq4rjken8acjnrjzmewocqcbohxubt4zwaqxcstnnr4zf474ymwdixknmtbm9qhfk/bda4+kphmdsnakrnxdsvo4cxlxzabickkewpybxtbtgeunckhzcf8atwld4hs9efld6m5ty4prqfu6vfqmkfkyohparckxqpxugzokftrnfpdbtrfvrngqv47fbfrjadvzdoufpwxjjdf+q==</latexit> sha_base64="axnhyboqzousk4tfnce7pyec=">aaacwhicbvhljtmwfhxcayivaivexqkdneioshaivjcimeshqyulnvjnptwpujddtipwv4mv4edy4ns7odfeydhxoffmcophcyzl8juibn/dvnnwddv/oohj4apn5w5oou6ksecfcycfhikklhdewgcqkjavqnpzxdgntd6g4amcukisnggafsnfecnsyx74nbm/46rzg9xvfvncbugg7dmrimms59pjppfcoam+knxbfpztmolqqf9wqy6aiedvgiapkjxaibeuxbmrnlghkbzwv6zfisbnxxilaq9pjualuxgpql5nrkb4d6kosx/w9wi4ssbjnujjnli7kl8xwt4airqymm4nutbue+8clhgnbbwjk7aewugu+dmfitur8gpksvsefppfvw7plhmbvytk/v/ukted/+nmlvyf5l7opkxq/hjruqkhvzovjy4bh8kaxjvorbka+zzrydntbapaxgbdawvvc5velev6cvzmhmxpvyaj4487yq7ic/kchjguvcfh5isckinhbpouqsfyk/xvs4u+xpxg6lk9il++reag9yy</latexit> sha_base64="od+qyqrwsbptjnetrp5fjzeua=">aaacwhicbvhlihnbfkuxn8rvjiiuzwggsukxrlq5mm+5gmnmd6rcqk7ftrerrvtegiv+knn5d6np+la6iqlm+ofgss59xnfluudppkdxrfu7j5q977d+/df9b/+ojumczyghejjtrmampnixqoiszgjthysswaw7pjsh64trxfvwsxural4awdno/ymtmc/pdp8nglvet7+wuljksckv7uyylnoxpfp5cnj6xdgsojn+la7bjztalwwuegsw4h6jc9jkgggnzmapvkctwtoqnmxg6leajbqs6qomuwh57srqrclb5svzldldaacuut595nbsg56numyf7rs4uln4sqkn/tz4zvfggkydxbpwmnu58t49lcmcdmrgfwo45bqpsbn/frclr4iyiywxoanka7rfzs8u86tvbequ/+7ywh/o8bni+nih6wzb88ispeudecojnhgwpwysyytylcsnnflomy/nzzuoe8bzpdliotqjsixxk9pxgb++iuo9ofsyo88jc/jiunjojejskjgreepyk+rsfr5/htxmum/rypjantzoye/gpv8ktsg=</latexit> sha_base64="deakltgh/errrcfkixwgars=">aaacwhicbvhlihnbfkuxn8tnsvcfi4i4wgovsuxelgnunubdm9ka6huni7xaqebdxtibhod9hf8gv8eddwjmygs8uxm65rzqnqkvwmcs/o/ja9rsb+d7t5e+/+fv/bwznngsthxi9rxgdqtqmekbes5rcwverjimez47aksez/wvune8xmwpscmwzqtp8rr5ktzdefjomxlw+l7uyzerifelgpbckmxzofdyetzxbditpph+6ywbzli8jnhrnguowox9fyy4byo5ygavyabvm6ajqfburx9kiqarnkjpkfowe9iata7lqdwvl8ysi8o9sfwl7redto/sabjoujvjnmb8dpftx8ta/5ppdg8uaorhnbunsyt+jeskxjyoa8qwbwzikmilwe78wt6xpazkjpbhhaarr9n8oz5rzkweyu7/7jlxgf/jxgw7yze6lpbhyzqgwkrum7p+hmwoayfjgjxqitjemcs4bj9tlqglwbbugmwqhmqvszletsscyn4oirnm9gjt8gzckrs8pyckxnyskaer4+jd9fj9cn+gfexib9usuno/oi7et8/s9frecn</latexit> 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); We solve U x = y (for x) We consider the rows in turn, but now starting from the last (nth) row if URows ~= UCols yrows ~= URows ycols ~= error('either L or b is the wrong size') if any( diag(u) == ) error('there are zeros on the diagonal of U') Last row: Unn xn = yn sha_base64="gll+ygcgtns/f5lz4ucory7w=">aaacjxicbvfdaxqxfmmxwtdlvrf+cw8gnzazylfklsa/64emftpywyy7muwbl5immxmodf9a/j/tzzdopbuufwogceoscvnmxvj8jukhzx89pjjtpbs+nlagutnvjwgclrxjnzeizltnkpy47tcoijltrfxooj7pmyyjx+6lazzaresyyacqx/jvrmkw69mkypisi9ypcjuixld4ket6rzqqicuftyatzww4bqhuj7qwzzr5alzzoxxguxth/qbvadrmngxrh/wnhpwzxdshxz7wq5h5bdefjofkxvg/shoxqx6ff8davfgkely5wshawjtrnprjhckfbubfuancbzfkefqo/frpfr8ljavrpujrzq8zv+d8ccsxykydhafsxejvyfnmtc/wnumdsno5l8naobjpcxey4yoysfktgbddwlsxwyab4sjynlwwlf9s+inshrduondwo6ds4nxgt6ixmdfokjjvfvhqxoizpb9apmikcbqlt6fxot6jd+pjuo+no7mjdqo+osf7ififw==</latexit> sha_base64="mvf+ezkheqseh7g/yok6bprrsw=">aaacjxicbvhpaxqxgmmv+pa7aqoby/bvvczbsliiqfpejbqwwu9hzhi+ztddsfpfki5hwh/tf8bjj57nbpfgtn4qelzfxnj+4grpks+5wkt7fuxtv6/7gwfbdrzvdx+onw4tzroqhbynbbwtxlgj56wemzscjyqrbjxi/omhvcqx9+adhmwqnidafgiunf5yglnexic9gbryvc6pghjxripssxoqzysvbk8bglpqq/pydcuosajyq4seohfjtw7bzvvjb9/aewz+qe8n6mcuh+qbt+hjevuuq4w4ylafb4j8dxypxxeyotqutx8u9aatpiptwu4n8z4cbrodusojcomaalucutsnuijmbhvvshx4dmrosajpf6x/4ekm4tjymd/wfcdan/6dnw9+8nwwutouzoldgtsuw7iphdfcmupjqduhanl8k6zzseb9xm6gy5yjm+y7veesqevx4/ljjjeh8vn5t9jyp/rvwhl+gveony9a4doq/oceqrb+t7erz8jzdsq/sj+m6nwm/rrqvf/gjkbsrs</latexit> sha_base64="yi/iwynukjzro9/vzpsycjwuba=">aaacjxicbvhlbhmxfpvmezrqskacfmwswirwqyiaqewvcocfiykrdqvmthounprpgxsjtiuk/hnfwwfaskvwenissmuvlbdc6+pfs6pbbcusx5g8cadu/fubz7opdx69lg/eplorgudamwmhzqsaywrubo+4eo6knakey8h8onzgtowa/xdlwolxcqemupueavg8u8bkphu+t4r6vre/ltqpacrhavvyxc6qlbfx6fdrqfs7bzsgiprbdtxlviohpuveckd8/pd7xpfwtps9plhvdsuvfitvigupsclquxwangsblwrdbugi7hy+urvr7p4dfym/ealpi5lyvickzspdsdczwkfpwbyqgczhlkwavsganfplui8hpssvnueoh5fsvxmeplulsujn9xl7u+vi/mtxlufpp6runfmwujqhhyadzfjktughuhjidnty8fdmzgkaulgfnzcbegxmtxioj7ijkb8zygxy/hyznpt9cyp/qdwil+gveons9b4doi/ocirrb+jrehz9dzuxvxfrzqjapvzdzaq/jzx/hzju=</latexit> kth row: Ukk xk = yk sha_base64="esyev7jazniie9pngnpyeb6so=">aaacqnicbvfdb9mwfhuypkb56ucrf4swcqruywaciqn6gupa9flqcmr7tirg/jdrzvvn4kp4w/wjnolwe6csvbr+fc6t9ltacwzckv6n459btod7wupj46pfw78mjvyhdeyuv+yuis5ktmmopvbukboyw/w7nzaixt8rtba7oq6eyyihhkalumf+uagawufzpmdoho/scvyue4s4ycw9ieoijeuft6etzwvys4k4n7bttpplvyqxzzoxpgtrpt9rnxjxy7eerl8gunz4eu6hzdfdq/hotxvyw4bufjvyf6bx9kgwsuozvucgossbalebgkprqcp4l4jy8vaqsvjnbk7txntft4zbwjniaxgksiju6o/majrlulvzgxha+cewjkxckq5uh8rpblwrguomdp7xwti/+nzrtxfvx4jnxjqcrxjaqgq6dgtxnymkojc46xdbhdwqyqljfbxixnbxvzun5oxquscw6o9lrttwej/utsobazi6+txbtguegefgjujbbaevobjmamkolerfvru/hn/c+ec+vuuoorkktiiu/wlbqdjc</latexit> sha_base64="xxqk//oxvyo4kkyv69slw8rnoi=">aaacqnicbvhlbhmxfpvmeztwsmhjxqibgybophrrirvvyozlqartlakjj8ftoooxbe/bypkg/+bf+a+hdwejavscivbr+fc6t9bqkyntzjfkfxobt5v+ndvxf/wcp+zqmtiunyrhljvvpiqxhvjcxpzaru6uj4iujwdmmoj7j9pqkb7ahsjtjs4erslgnlbf/eukc7lpuut4tvmvevlpq4rpwbe7kgfhyjktl8thiu5wjo8oiuzhmqwrdwydfknhmdnq9w+srbm7azqoxfbzgyf65pplwsgngif+f+apt8slnd5txqf8uyjcx7zlma/d5nhsgx4harrshv/mfblwdacdh/kcst5wiixkyzpimyk4dpzirsjyrsek4qadkumaanfipm5po4fpalpbwupwhivl9t8kh7gxc6gzo6n5qrwkf/tjqtd6aoctvaivcqudyacxsdgirqgmwfgkiqxpmbxigdii7c5js4zws6j9xcdlhlnvhrvluvgzg8ypx+do59bkvybk/au/acpoa9oakfwdeyaxxtrs+jveht/dr+en+lj6vuofrxpaybevd/aaceci=</latexit> sha_base64="gut4tublolq89ns/jtmdp4koy=">aaacqnicbvhlbhmxfpvmeztwcrbky9gaqeaubusewvsmfzeokuzcli4/ezvgl9msrzhp/gfvwj4kdy4myicxsnvzr++ewilfjk+rfg9duxrt+vansbt+/c7d+7frkqzezy8mkpi6riywkmrbumnksneg8zcqrmgnz6degyrfz7tqzmrriaaxcggquh/zxxsptxatj8g7lvdzunekulwavf+qms86rqfw+gnmxcrngde8n5tzbkwpyu68twrgmoeqsb9am7axqefyodsafaxopz4sg7snfuf/cls8cpp95nnqvwryzcy7jpnaf/dzjgsa4g6rrshdz5tvfzr/rrsoj/ysujw6exqwzmktzacoausxigshcfcinoycragtgxu7ecphgalglxu4wsil++fq9yybs9dzvdtchryp9pk9bwenhhwotexjvqg4ztbjo4evqtb4hhfedyzarxdgmebdjcrpczyafeerhblrwzkroyvwtdsma4/bsfegvsg4fgexgkuvawhiap4bcmay6omfrbvqqfhf/ir/ekvqhkrhocniku/ietva==</latexit> Pn j=k+ Ukj xj n = URows; x = y; for k = n:-: % loop downwards from n to for j = k+:n x(k) = x(k) - U(k,j)*x(j); x(k) = x(k)/u(k,k); we know xj for j > k so we can compute xk sha_base64="d4mnzontr6ta9bkz9uslx7eim=">aaacqhicbvhlbtnafbbvwmvaesiieyhhzfqhwvavswaajevxfmmr5up5hnjjtgi8jx8apsgacekfa7uronps8lzacw5emv6p4vhdx8dpr49efrs+yvxydnvregwyjpoc5jryev7bwak4bwwqsqxktj7en4fxnktfrhdaytjlhsvocmuuovxr6ihhuprn6xtzxfltyqiksixefqqtetjvomlazzhsruw4jws647vpn8ucnes+gtrbmzafgjypso4uggultzi5xl8munigj5cndykt7ivgfa7nmtzbnen6hk/sabopfbdka5igiebr8z8wiruslgocwlvmsatpdgomwfhqdzcqhnlmazocis7mrvtezwu8cu+7qrrzes/9wecktukamvs77wtj/+nlvtxfv5rvrbflszvluco47j+csgau+fywgwpukiyywf/5mgud4gpchw9ikrtgvhbblrvg7hganpx9tyenj4nlr+gneos+oax9qafog5qjbwjrflpiilp8bzoi9/qtgvdzghetp8cmgdq+w==</latexit> sha_base64="8aufwl7e5gmttyvci7f87yue=">aaacqhicbvhlbtnafbbvzgvaeuenkjgibarjajkqqqudcsgkboojskdybizeh7wzlhpnpkx8gvs+azwjjmssmtdhzzn+esrndrsuxxfn+5e+/+g4ohyapht54+gzx/cwzayibucosdgmecktrxgphoekghwkhvv6ccwm5vp9c+ugzsrckf5xci5q88hpsgfd9lxps+erlzpsltvilly46rubewlkawvhynol9kceskwo+6bl8tipkic96mbsnw8+ns4pf9pzvgk4vnqf+v5zyorbxb6evknopeoqbwanajvuzdtrskvngmbtmm8cqb4dh6eve8fckhxfpanjkktzmpradzo86xxmw/gcspywkqrafawwwbbqhamjvzgxm7/dywi8elvyob9h/kzxia9eshmz+tntt68n/adpwvz9nnqv+nkwg6pwykdx/xg84izrf/xeckcghxxyib6slf9qysmbhirsn7jjfdmcq/acttcpzxgj6cfwonabthkbx6a6jjje7rfzrgesjkhoxzveef4jhcrf/6bga7mjdqlmpwfoprtba==</latexit> sha_base64="8pigtneapnn4gh+7avoymki=">aaacqhicbvhlbtnafbbr4t5nmasiyoeyhfzcmqkjcqstmwdfjtf8vrndmenppszpjpthin8ax8bv8dbs+gzxjjavscldh59znuvhzzlw/yriofvd/bf5a8fpt4ychg6bmzqpd6iqorsw5rpzyjunemcfputyuccxpgztrrxdxfim5klbatot6ekymhhkajuf/cgmlhd+zwbhhhr+asdye4yuyljiuiricycqxohns4hcgidurqxbfvsxyf7ytqg6q/ajwwlnivlchupljc9nl+msfygppfhtqqt6iwcjazndoton9gkwy6zdw6zybyoebvkwb48ll+pv5/fn4pvgtrpfwuokir9zo8y7mufgmcjpwkqvcpsoas6dvaiqemrs4ovavou9aiudxlp/vngkrfjhdl7o+nrsf/pbv+aesb7ytzdkpbdpc/udgxqwllvhdmuqmc7tcskagerf+tjnlqfkvdrcibhoglh5tvtug7pw/dk/gtw7bhsyh+8ak/aw5cdj+aefafjmaekiqiurbl8bt4hbfxtqhgrnoodipffwnnuda==</latexit> sha_base64="sosv7jhdamozxztbncuebiiffg=">aaacqhicbvfnj9mwehxci+tgthlhzdbejvlaxacekleufyjlpzftrhfaq/5s7oysvjl+gx8ec44rzolinzenpvxjpzhhjbruusf87/6dh4+ohg+eph/hh48ulc6qambe6pulacsevzuubpstqmjbesi5tppdxrlzcqx9uz9hswkrxilnwgsqgvidndfbnyatjsfpdbqgljxq4pcswuqzysvonz6btuqspid8tgpszrvuj8onhw7vh5onxg5xjs/zfv8dvgdewycbca4odxqheni7hrjrfftgvtbmbqdolyajzjlsa98faq9gqi9zmfwtymkjmxjuglwlndfu6afnaowhgrnddanrngiqawsaxfm9jin4epcaxr8jtde/bfcg/spkibpb97wovj/qjxeel56pbvngbrlujuvw7i+cs4y64hfjgdy8zirpgmqgltztomuaisvmwnxaetkzld65s64ojuei6ffk9h5l96yi/qkvubvuio+oxpdcqhneoit5gsztg7+nznmu/bljqk95iq4ijn8bylrseg==</latexit> sha_base64="xryqoveqpjjoxaumnxieiewz9u=">aaacqhicbvfnj9mwehxck+chw4clhyrsbuvckkbceqbeorakbruvjvnteovc7sysov4zfxj/bigaftge4ykqwn9y8m+iedz5lpudpldu7l77+h+78hdr4+f9j8+oe6szrnqbbaxhbwthdfjp57ws6mzscjyavzjtq9ugtwca++4hmwklxwtowueq6v8qdviiyhphh+obeovdhunkosn7pwk/arasldzui5gbsgl+cufeuzte6gwxv4ljbsdgl9k7eg98rmttl8gubxaw4xggllqgsc6jgt5zv/lgxzoyrnlijrzv/zgbztvang+b8dnl66umejoxpx/xhlasky8fedcnm+mnwwwnlpb4lcxuqg6ggwbrqhamjclwxnb/doycxrg5/yemv+wxfaorerjgze7rrwkf+t5svv4cxiyq6aqolu/uwiec8uoj7povdl46yylsec9ffubwtfwy+idksjoqpy6ltfb+ekwhjn/fh7jhzxhf6iv+gtytfhdia+ojgaijokyzsks/lxtpoi/thljvn9jxpugk5c9bdtn</latexit> sha_base64="ra5uigl7duvswmqdcyukst5we6c=">aaacqhicbvfnj9mwehxci+tscbaxelxqrcvzwsqhbaafevhiten4uakho7tmvvx4qdpzwvx8lp4nfwa7juktnowpdzsrlt+/negbeeco4dunyk4pvlx+87bd69+w8ehvyfpt6zuqkpmatdhowdlbfzs47gq7nzudsqtlyhlu6dkfqyx6qtbgzatmfe84hrcoir+j9xatftkp8nwlzwt7+wqkbysca9xlhvvesjqvt5ant6xijbubb+lb7apbtvej8onhw7vk5oxvzxjs/cf5sdvadewycbca4odxqheni7h4wrdlbfysavtbmbqeolfphytdzbl4oh4on6exn44efvcdh/e8ppi5lyviczqxbuahdpwkfoykzqqjczzneafktmz5jy4hebkxgl6/cuwxvwoptqjcgz9netryf9qcdx7meeqwtrbaoqed6uvwywtgxfc75ebrhmbfdaeubfuttdlwcqfcyei4nsjeqvnidnjmw5htl8gxjgbb+gzeo5eors9q6fomxqjcajrflmkiinx8fjoiu/bvpjaffzboftp4cxrwka==</latexit> Again, use a loop to compute x, x,, xn 9 sha_base64="pbu+qyntxzb7zhokzzmelkkvf4=">aaacfhicbvfna9wwejxdpex9vivoulaoxezqjrkkbpbsqw8pdopaelkkezwvqw8jywkw4z+zq/9il4vseendn+ma4phejn7whtacw5emp6p4wc7uwd7jwdpnj57/ml48tw5yhmgvaahnbiqxbfuwddwiuagneuge5xu6pb8cy7lw96hrkkl4pxnbexqmvqfzuxvf/7lb/zrlg8jwfzfcrpggupcdasmjknxmbs+kmqtgrf+rbbap7kqu+78twrvx+lptbknydxqnjzfnknyxhkxjdfp4psh6mej9nsgv4pssacckwqadzwru5j8zxjiaynrzqwlbkemybkilbzvmmba/cyjkcuw5vh8npjhwriunndu9q7wkf/tzorjuaeq7pxonitudui7dtuusyln8bcyldkhbkedsvssqxhltxiyuj4gpci7dikrugsruxafn++nwuoxbojo96spbq/qw/qezegqnaiv6axneum6hee+gf+ik/hb/vgno7mndqq+oavzc/q==</latexit> sha_base64="anuppdgrz94roenpluaoxdwsu=">aaacfhicbvhlihnbfkuzsmr6hln4xtgicgbt8bzsabfy5gmnmd6rcrqm9pitslqupxqtg/4x+58efccgjkowz8ulb4zx76zopuzw5/p8z5je9u/fupg5udw7tt7wvpzhxurumjkwlbu8pcsc4gonnxscpsuakfvds5bjxyowjmvxa8mzcq5u7zhjphizye6msrsfrgkfpsays4mktcrhkxwonkwtempssqdtv4ivker9grirx+qzblvkqll8zvzkbv8ypsuzt5ak/xztluvnwmb/l68jxqbefhcvvzdfeulh8+gvqtaslaa8e8s5azebpwvees4erkpwgsfssc5ggqeietwsripp8jpiljrnj7l8zr9dyiq6dxktjz7+4uaz5pa+ubdlhblwg+kbyyavmcvcz8yrrkf5mognsfm8rgrzgticfpxfjsucxdn4du8qlzbvcjuuqohkxiocrpsfepqbnhabh6df6igrfhhj+gytrbdp9dvzc/zt/6kwfosfb5ptzptzeou+mbvzhpxnw=</latexit> sha_base64="znmmcukkgwvfe4bltjyqdapeiy=">aaacfhicbvhlihnbfkuzsmr6hln4xtgicg7vg5uqaycefibdm9ka6hqvrpei9qkoejxt9o/6rc/ejsbwjmygq8uhm65t+7lxgoedz7pfybpjb9m7cobg/ul/8hw4antpvlymkpamegeck5h47gwcgqteugelxy57v7wa67hwx/kweysc8ubzoipnyokmszehyedvmozcohjnqyqxkzyofhxjwkqi6lcnxojpelrkqyd9uw5zbl9jq9mb8i5ew8ims+ty7xbyzrjspd/nrvga+toototx+9bpctif/qpqzvojyjnbnjswufgzqkznteacdowhcjouwjvuscm4vmb+fpuan9rgpzxeq/9bckdwkak/vdvwvf//ntvvfvj8frkzrqbhnokyvgvcp4xrboh5mghncbm87orzgljcflzfzpqfiavwhd4rqeydkq7gcpchoi4yovmbgpaimd9aq9rc9rgd6hy/qjnaajyugh+psjfvjnzrlx6qvn6vpsu5jhaqvvl/rtgfa==</latexit> sha_base64="+zikxtc7j6gigytgp4oxlpmqq=">aaacnhicbvfbi9qwgerbrvoz4ushc64itdk4q+rcymd4ikk9jpwnqckjtdczmbsbpocfn/j5/id6bzvbbfwdwmk5yu5h9acwzemv6l4xsbt+8cbdu//g4apx4ydzqxpdae4uv+ymis5kzrzhf6pgfanna4ms4slaixt8ptrnvkdc5zzqhygvqnf5yagaypkunb4jo/kidye4yclzl+ieoijctfzmadlwvya4k4nxdvloug4qxloxtlubpl9rnyomcxqm7xg+tabvmnke59/9y6xrexike+xz7o6tbjwepnnf/a6yaywauocrsz/ykqrrldpcefwlrjuu6vhxjhcaxhiy6lgzipo6sjaiqss78zronhgalgruw4sed++fr8lavucqf/nxtv68n/aonhu6vnujeosni5qg44darw4avm5s44hhfeanmaljghlexnjvpq5rfudxcpxkikrtqyuwfzuni8+ppot94nlb+aqpacvqabeghpwezychbdwozqmkugofhz/id/fxy5t4ioeqrip7/bbxwzse=</latexit> sha_base64="ydccor5yzxc55trd5fxmfjbc5y=">aaacnhicbvfbb9mwghxczancvrbhsmcxtokfkkfm7gxtppkabehdisquyrbcvarvksmxpz+q8pt74e/cm/abbnyspenzvot9plxxzmwc/wzcofvd/zfdb7+ojxk7+/xubumncwkkjkagcszpazjm9rdrfanoa4cwo7nrqgt8ottkjov6eqykhfkptxr/8grplfauiqehhprul5uyhijxhvyyyx9tpqqsbyuh4alwtk5wrxnrbbtxlnirglute9yswpwmsrmmthjymywgabaplafrnvurajok+ufm+ru44amf9wgyrwlebskghj4/hz9bqc4mpx/5iuitadseo6mmsrxzacoacsip/4htaevigtrscesisombqvcs88kwbs6x9krauh8rhblgnal7zo5v5qbwkf/tjrutt6aoyaqvjlollmcrybqewtfnivccfq8tbwwgkc6qrsx5xwpmlf9t8iteovoqosmlbfb+pxqlzb57b7a+vybqpwarwecxglzsf7cafsqmdvybbewvh4lhwxfgg/rvpdyfnzalyihp8fpboa==</latexit> sha_base64="iolvn4pbfwwhabhbq55fiz+gvsi=">aaacnhicbvhljtmwfhxcybkq8cyelhmrmjdlabbsbkulkgadigkwzquyrbcazw/yhszhk5rvy8t/zgsxy8wwwxmm7odncydlxofdhn4srzoyn4x9beo6jzs7uu9w7fvlxv/9gbfstcuj4kqfymqoz5kmlllotytnkccczngx6vtsngrdlpxkm4pobtqtrgqewu/n+t/ycmmsli6jhy+iafvnwjbomn7owsfivkccqll49grcsfsnocubu7baazrsvy5dom9rfqw6rgwv8xsgdvh6tkcrsfoezr+cc+stomgl+6u96s7jtpzfz8exquavgyafvhjweff78+n4y6//jcvqqaulhbkzselkthslhfo/unqqytefuimtjyusfazdsvjwnjgmqkwsvsjlvyx/y4jixpbpazd/mzaj/6dnalu+mjomq9pssdadyppdqcbvgwtynhhcmew8pi5dmkube+lttzltfk5tc7dildqjksuxaxj5o/osjd+wwmcugian4cliwetwdn6ce5acan4hgyakdsjh4zvwxfhhnrogm5qhycvc8v+jldep</latexit> Write y = U x so x = U Example: Usolvem Combining ingredients LU x = b Ukj xj j=k+ sha_base64="hgx4jnn8qibmmjeatnpbpanyc=">aaacnxicbvfdaxqxfmmxx9uqjgshdiibdzssil5xcivggushtfhbwiclkutljmihjc4h/8g/5x/ps5ntplitfxio59ybemuvpwzmyr/ovjw7tt7+chzx4+ojxk+huxpttjrqgwl4o8xmpqzswewwu5plaziye4zxe87ptunrbg/rbrrrccnulwmyjsoirh7whjzsllyatayk8g+smqpbgfahuas/scmekqxlppvcohskidupt5vqnwqxi7rbpds6zm6ryg/eyxhqpitrco/dlsickvd+mqfzrp4axw9cqhnnv47ivhkjkkm4aqdqdeejjubhe5mvdwkgljrwzm8tzrcoacsipgslcfsio6dxaiqqc7dxzso9wjswanq4sin++fq8kytcahs/ucua55p+ewurjwvhpgotlesqudvyabvyrqgwtfnig8klqszmcsks6qrswfzwwlj9t6+ewiuvnvhrdlpvg5nkbdb9noyopvww7ydn4bv4alwarybl+ayzaabl9glac96hb+mp8df49xqxhuzwdwxfnfwgxgc4c</latexit> sha_base64="c54rctmrx45+zzalxygomzk=">aaacnxicbvfdaxqxfmmxx9uqjgsfurzaumlrlphefogushtfhbwmzpjdlotl5jm7rlyczxj/k/cn9nro7d7rhytdoffmpxbkkantzi/uxzj5qbd7bu9u7df/dwux/78ymrrczkjcwt+rrehjaqynhsy8ipgtxkpgsbeadnptbagux+ckslhz4lwfcmbqkl/kdil/lcpclwhpvermpa8qpw8belsgpldlhonl5aordzpgdyctcyptnncvwalm6rbpds6ah6qyvceaxhqnpiclco/bls8cpod5nxqvznh4bhwzdyhnplg4iv+tjjmlggvgqndg6pfv/8dga4lvqxesvxy4mwmcfjjmmi7nqhbslmjezsgqiqbtazmqqoecdm6pboebgbmarwuocjlfyy/y4xiz8djkdp8zv7wo/j8aw9fuqouklaq8asdvsjudbcimmabtk4owpqgwsgeiywdcva6dij7jxydzfikndgpvdtuq5ogzdztmvwbepybvb4cl4av6bflwdh+aihimxwoayehbtri/j5/hh+fp8ezuar+uajaj4uwvxqtw==</latexit> sha_base64="zldsl6c4u77jzh6sof76zgwa/w=">aaacnxicbvfdaxqxfmmxx9wvvrwwcikixgvhpvjyhd6ivha7hzygqyezkiyttdgn5bb74j/rv+d+kzz98ftvzbwoofejtzs8wosunyo4qvxb9x89bw7d6du/fup+g/fhrkzksxgwpjpd4uksgmcjkdjyrdrbvgqkk5trpenrbsqxve7ugtkymgncxibqro/8gvqu8dkyfiu5d7cdxilcglxfkdevokahcphp5lnkzxgxn/j+u8ytvqwluve8kxpqhqjbg8wgodfa/fgity7mdctl9x8rmv+m9oedguxdpiwc+gpiiv5mkxaqybdg+9g/f859/zg6l/kvesdxyiixmyjhjmig7duhbihkjk7sgkiqbdeimaqreizm6pxme7gsmgrxu4qgll+y/fq5xyxa8djnd58xlrsp/paw7+foipua4naqzy6cvsfsdrkgmaatk4qwpmfwigdiizdsja6zag7jdbddblknvhpzvuugqpxw7dz9etw7anyxrz4ap6dlyaf78a+oachyawwuiierjvri/hz/dh+fh9epcbruuyxig4+wsldj</latexit> sha_base64="gd4u/fgv5m8+eafjdlccdieu=">aaacjhicbvhlahsxfnvm+kidnnx6whujahfsjzkpkqmulichdjlcnql4jnfo7stceifpehsx5dv7affrqtxzlenvavdoffqxjbam6ss5jfubzz6pgtp7vpenvpx+y/7b+8urcqnhqmvhfllgtigtmje8cchttgiicqysx6exyoxtmmfbqhjsivzbwjxavqr/nntgfwvkgxmovg9fyveyyvcs+xceoveeswph+pg58l4haucd9ummyzqkhzwiufzut6sltebtgqfg4ofnhu7we4snkgtxcdt88/4ggswbwg9boeb6up8v+tl4rwaqsjnfg7trptzp4yxyihyfxbiquyrvma5regj5tvan/hcyerfmlziob9h/jzwrq5fetrbv9j7wkv+t5vwrjqzesz7udso6oq5tgpkaosaaupbpyqgloyk6yiyql4zzblakjsrsfbzchaonl7stwef59g4zdpjrw9rwlbbe9q+/riurrmtpd9e5mickfkd7zvobbwfh8vf4to7jjqzl6jryq//qxptsbf</latexit> sha_base64="6jkfkriicizdigif9uccatn5+ze=">aaacjhicbvhlahsxfnvmhmdnnx6wbwkafxinamjcrqugkgmukdsbgmuajurml64wkswzeo/irr/vd+gvdfn7uwd9k4o59yrcvuotmzlkl+rfgdh48eb/6ew8fbb7vlv4skqlayuswvusyibc4kdbzhc6asikdlkxg7r6dggmiw/u4wgssbxklwmeheosfdhrokpnynsf+iiszcltvrdc+wjcwgvqhbz+nwwahwuijtswvgatbvlfurregzvgzphnth9pmsbw8wvaveecn+jfdx9uyudevpehmxtk6ylhwfpguwf/b9vynquh8vtl4rwaqsjnfg7shptxp4yxyihyfxbitoybwmapregb7zvanfh+yerfmlziol9l/jzwri5eetrbv9i7wkv+txvvrjozeyz7udslvfvc+wublphjtnaxciziqafnbfdeomos7czsnlciep+anshbtuondwo6di4/9cmjwjsmrvnnqdqedlkjjdia+onmrbt9jnaiv9hredc+jd/fp6vwofrpveqbfx/5cyvvyq8=</latexit> sha_base64="hcukeavzz7vu/czwxoxg6hemgm=">aaacjhicbvhdahnbgjd+lntbvorv4imnkk9cbvsolaqhyb4wcfc9kqzme/bybmhzoznwfy+hz6zj6ar+cskutou5opzzzzyz8xwam+us5fcubz4+ojx9ppoztnnuvd/eexvtwgwpaqrsxvqsxwjmhomonwpqquxdiitmg9bmbmjyp+ctniwfuzasyps4ie6t7kmplbznyb9eyoa8ltvrhb+ajcgnfqrkcynlnghjchclblubz6wbzikn7vmunbomd7wrpmbtorfao4n5/gmlr4qfig9+a9d8ke5jkyxwfzkuyeh56x8tfl5mun/yutfaghsuethaaldbpjgouqgmslmtazuyzrojiisgo/lkrbb4ns4ja8utlhpfrvcu+etqtrhmnl/au4r/8aqz6opzo6didpkqiqoxykt6jkhmglnramkinc/fdeomos7szinlcqep+ansrbtuwu6ty/f9smjajsephg7cb9arstehdi6+oasrbt9jnaif9hledc+jk/js9vohkphkanxj//asjgytq=</latexit> n X y and y = L b Given an n n matrix A, we want to find upper and lower triangular matrices such that A = LU, with Lii = for all i sha_base64="oekzyg8whwmrbdfr/edya4katw=">aaac8icbvjnj9mwehxck+chy5wdrihfcvrebwwbsobzjsehujtvrphaaz6i7kddiutx8inceuh8qf4czxxhzolnn6mjfzxvpgwcwzsxh8kwhvlx+87rd69+w8epuo/fnjuvkjnrdflb7iwfdojjyzjm9qdqfkxe6zvajlp+uqtzmys9w9g5gkvkbsngfwrr/5wodn6zj4+iaixvvsuxqggn/ixirphighqoyuhyalwqwjqhurkzye6nhztlbtqsxtaswpw6srpbelbokjmvomqmeywr5wsscfyhe4qfg5aww4uljnncvxxvvihhxg88puglzuhvw8jxslupmsbosltsatvoxzekfjhwosoukixcivwtmownqs+on4go8cxwdjbwaoi7nf/+akilkihymwsiss7d6ati5z6/wpdkyarwnkzhxl8wnouedx/hmvptfkl/wlvtvhwnhzfzkvrkzfzlut/ufltidzxrvwyrjflbr89a49rg4z5os6+xmyca+bdiuoigyvxojhsur6mtsehyuyrivxbbkozo+h/r8kn+pb6fvosipddhlgcqjt9amdoqkiwtjqgqu+hnx4lfwe/tixhkhx8xqdrpjzl+cl7dq=</latexit> sha_base64="grlfk5gernxsje6ceniogrwoa=">aaac8icbvjnb9naefbrxi+mskry4oaiqokbarqlvbocahhyitau4isbrdbzkfli766tr4l/cdxhlb/eh+amcwsc5kjy5pcbebpzzrokmpj+fcqrl77/6dg4edr4+fpdshj7nkrwhi6i4kpfzwaoz5kollocxlwagsg4hwelqcuplqbpuqxu67ovmbcsoirsd46/5ok9czunzjhtprom6qskkeiyvcsevdewuecbzlw4gjusfjiad4omwfh4xbzw7ckl7wlfjrrkdtxjjqaji5lajqjbmsk+vrnrhhmuavxsuqflufcyzzxfcvb4hxytppkviocb7ti7cktetgtrjc6goafrjhw5ljrdllilwor8e5jljuzlrhcs/ebl4nkh47p9chpyrquez7p8v6qwvfrcwzhjeld6kbbrjj+9wgvkawmkctdyx4tazuc48gv/kzfdo/uh6ttfbfdgfcmlxifgvrmbnjtcn/czpafqdtxrvwyrjdlbr89a49rg4z5os6+xmyca+bdiuoigyvxjtsur6ktsf7yuyriubbknlt//h9jlrxjh9adtal9bk9rgk6qxgzjeslbmncbc76gdfgt/b7+jagwa7nodql8odfgspu6w==</latexit> sha_base64="j6txsxnqe9kecbytdjudyszrevi=">aaac8icbvjnj9mwehxci+tscri8ugiqoqegraloukeobdd7ssa7uvnxecrqrtmpztruvys/hblz5qfwa+amccdoe6c5zepo88bzxpnizng4/hmen7eunn4g7nvhdw+7jx6fm6rwhi5ixst9kyghnek6ssxyeqebzfxos4wg5yfl6krjkf7frrqyc5zaujyhqvdktbzdemsupegimzulmuibhf44q6ypuqodmxtoync4vyescaazp8djdslrlxspzsdqtbkddxjjqaji5lajqjbmsk+vrnlhlpxuivxsuqftskfzmufakat+qy6tppkviocb7ti7cktetgtrju6goafrjhw5ljrdljilxuxonzhlgomxwp4l68cxwdjdtwd8+o+z/+jy9nxx/phlfakgljrymmssxslmhjlcqd+vnlqbwccctjyu4neaus9gvzcz/ln/klyay/y4emasreyrw8vmva5n/o+blz4ovmqtpssbadipqxrxhxtntlfh/upwbcy/fzmsnbdrv8deljlyjbunktmojuquwrldxd+quf/slmhxuhtnganqjn6avkdhqo4/ofiqcyabdlzwoazdl+hx8punaxpu/qxoq//gjn+vdq</latexit> we have done the hard part so this is easy now(!) sha_base64="eqst+spwtine8szymfcbsgk+4=">aaacrxicbvfnj9mwehuclev5ajhloykazfqsralnnbkvxbcjlpzqsmv4xaq/6i7ellzew/8lf4i5xxujnqxuanh5vxjpzpqilcjgkv6p4zt7r/ephwwepnr85gt49nmlm4lmovggntvmadsajiiqalxtqwmcglzsz5flyb64trfxwyxprav4awdtbj+ymtmc/ptp8n4jkvwdjxvuwjuaodxmowg6wyln+mbq+vwxxnek/adtdnst6tih8phhw7cw9ycablpnetbxbacnboqr7mvlgskqohma4wg4wnyoarm9fflmn9yuhqnknoynnbshmri4wwz8hktcknhljnjulsyzh+oilifjiogv+zjcycq5kcn/d7jvv6oialrywnvypdo/9mekac6kirhbduptcb/6pmzvyfz57oesgqfprqlujkybrwpoksxwdkkxgnerqq+ub4eyx7c8gyorkbvalh6aheqesm/kctu5fd8om6/japzl7kx+qfeuvosuo+kxpylvyqkehrufqoos+xu/iazzhp65d46jpeu4olf7+bedqjk=</latexit> sha_base64="krumiqqfmv/vjfxvih/qgfh/i=">aaacrxicbvfnb9naefbkcv8btgioyukqugotreftqhslhylropkcyjw6gyyn7ju6ivv4hvfvv8uc4m5yicjxwnvzmdmteflcl5jpkdxxfuju4f/ig9/dr4ydp+8+exzjtbxgehtxxbmgrqarl54czebqykcvmxghz8totacan/+lwfiwizlsrbmudor/olasl8yukyecuqzbcldvtam5prcw4obpzguqz4ctifxzm85khytvtsluyoghzr+kbihsr+t7ewm8oyugc7yewhonm+7vsdppugqseoiautxvznx8+tmrzj5jbsjf6lzthzq6urali+bt/bxn5ob7lplz4zsxfhkwjuasslpggwv8wwywrlczbw4snkq9cijamjvd7ukh/zqhmobdwbuzw7qbxaf+jxsvvoyculbxopmjvi6nhxettbqci+il4lxwmcvlknajhtcl6vocgl+jbugyxqhepvynlbufgwwengxrrrh+qleuoosuo+kzpyjzyteehrqfq+oo+xsfxkm7jn9vqonrlvcb7fs/+ainxsk=</latexit> sha_base64="kzgxkuncl6zt9qymtnaetaorrs=">aaacrxicbvfnj9mwehuclev56sircrlwsiuesojgrnaqreoiqkzwlcpxja9ufkevfz+cjz4w/wrzkzahuguisavzfjmxltfi4nys/o/jw7tshdw/v9e4/epjocf/oyauzjeuw4kyaeuwbjoghnhjvzvfpgqjgtfytjxrksez/9esajorntkgezx6haf9xxjnbmo8htqznxlwhl7uqykrinelglbckmvgflhsa5yn7omqzdttnszhfkxiohk/dqtrn9a+l5fgo7ocomdlokxrqp8e9msypinziaghmudzkpnqutf68aef5wmkorm66c47pn//o7offtp8hemjqhsumxpjnkn9jgadwsvgz4dmvefm8eyxcuuenyknnsv4iutdiwr/zg/6bezhybqkjoygdde5dvwfn589xeshk4bd5pvcwnpb5hx7xquljghkuvbenwyk+uocmezexpu5ycx4lu6bheqesq/lcto5fdfatadfulfpzguh5bl5su5isj6qc/kzxjar4dfb9cy6i97hb+nrnmfftqfxtmt5svysnvfwglyjg==</latexit> sha_base64="kfhpevbah5oy66wu8xrbkzaw=">aaacthicbvhlbhmxfpumrxiobfiysuirweuzviuiapuncxzfipkmtcypz7ghb9kewqr5e/hm/grnjswzcwk9s6oufa9/pcrdmzlst+j+mnm7du9m7o7pf//bw/gjxydwdybqbvfcmvomlovmovjjtntbsgsmnmct/nely6osuzjb6j6uqgm8karpclvdx+vwpksprp8z6hojgr6vtgiqy8brkekpoorasvblfb58kzbbe8t9pirdtsggfwnf9gj8rzmv9zudgrtjyha+tiwsymsytrwwzyazw4qjw7dagy5hw+xawh+8sfolsg+aieufhiftjstbntggvgwaezdectx+u9akxlrsey6sxeazdiupjgoe9hgz6lgpevndbmhrilald8agudzynswuszu6ecw/fegr8lajcaxs/+zvar5p+zeea9yvppo4clesyunnx6btspwnrzihxfuaiwjy7bwsntkiudjdnspryi+occhxkikr9qyvw8niab55/zsahnwbl9sbt8ay8adl4bw7bzamfoak+8mr5gmys9+mzupsepmajsodjanuvkxqkxqw==</latexit> sha_base64="simdsj8jnsfr5d+a6ukxju=">aaacthicbvhlbhmxfpumj5zaiccsjduwivuw6mgrfcrbfiwkblpvmqekcfjadzxsnpibl8pxwta/6bnxeslejllwdnxpteuaqslkl+rfgtfu7uzeg9x/spfwfdxkzoru5aykdvct+clsuxwxaaoo8hotcuilaxlymbs69kvayx6qtbgjax5elxmlpigcqgpndll/8gkyeknl8ipcjwrxczxiffso9vselx5fdijppfelsgrfhlctpplg7usfdal8kxtuhltodek4y7bbewcethmwtryafi8ptwrplwme4xzsct+m/bn4c/angfpgbgmh6eyhisjzbx4jkg4ob4x/xgekff8e9eaqplaocwdtle+pmnrsou8ggwc4yqhdltgmocksblfgrrwcaqxoswtnj4xf57wxnp7vkwknn/v7xevj/qxz9bu558pjim6llrajun++ngiremovc+4oshhrfdefaqhmckvkgokr5gleikvzg5vet+umohs5gognx8cxjgdu+gzkcvuireompczikalrxvqq+hcn46m4jnmqlxtlnzfgfrp4cxqjzxa==</latexit> sha_base64="9qvzrodtgwykaemufzcj9zsyw=">aaacthicbvhlbhmxfpumj5zaizqlg6steqtohkdbqklazcocrzfipimjdwet+oox7i9pzfl8tn8bf/bll9ayoeej8mctfzzte577x55akuwot5ecu7p95+7g5re/qdbdx/h+fgtlqtmzymqnpsmqio4kmlbwmnclnec8zycpmonzjdggsvhjzhwzcnquaexsoeq+t9yhxqpryadf5j7lvnwnogvzmsf+yil5hulh+nvms5sjommbt5v65muots5dynjwnfs9urzbezlcbqzzmnbdqxlswnoapiddsuhlwcajzkfa4zpj6zwj+cgzj4tgqf7pf/dzjasat4e6qrshuwn7++fv9zuvr/55xeoa6wmcfjjmmi7nqhbslmjdtygqiqbta5mqqoecdm6hagevgsmbwspq5bwlhg/7heddmzsuqfzxnc68n/aplx6mjqrwwclwsvlcmwgm76cckaojt8l6icgsaeov4hjtcnsxwrcqmsetipvwjs94zlv65sy4fteia8/bscowtiwvowa56dflwbr+a9oafjgkot6gveaj/tipcuywqxguvmereus/gjunyi</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); Example: LUsolvem Assume that this is possible: Aij = For k =,,,, n Pn k= Lik Ukj, define rank-one matrices M (k) with elements (k) this is the philosophy of structured programming break the task into functions and write each one separately, then stick them together at the Mij = Li,k+ Uk+,j sha_base64="tqbc/qmu6shpixxn945ymdk=">aaac7nicbvhljtmwfhxcawivaksfisidjvmkkczacrkgelkaajtkdqsuu4n6nthpztktl5tfyibb8ekt+gjvojws6w946jzr+zgrtjtjop+ef66zdutq7hdy5e+/+g97dr6e6rbwfms5qc5sooezcwpddiezsgerkydjwoxafbicpvkpp5tnbtnbfplljbljqhnvdirlzzfbrxtdggxlobombhcqsrqugsjmjqnryxnbzjisbkdns6tojpapnbsiq6olljsjjboshiazlii6ujpykd4qjkizdwzdjsqnderapqpxb7jbaisjiohtafvomgsadj/sfvg8geamsmhario4pbioiuuwxndt7chxwiixdxg8dz697wvhfzzbzxj4brnvbvehegj7o4mff+umfobahngg9japkzcxrhleobrlaqvoqrywdvasaxpmt6do8dphzdha+alnhjl/vvdeqhrqqus/vlx9za8n/atdb565llsqonshrrkk85nivu74ozpoaad7emeaqymxxtjvgegnf9ns5l4cswdd4hu9eafv+5so4przgtd+fpwpsw7aen6cnarzf6hy7rescxoh67zzhrbyx/nf/o/+j4tu+v+pey74f/8c7bs6jo=</latexit> sha_base64="d4ewfnmtpm4ovgkjur/b/sgfuu=">aaac7nicbvhljtmwfhxcawivaksfisidjvmkkczacrkgeleinepympxkcm9yt4lsp6wy8hvseft+ir8bguctgs6w946jzr+zgrtjtjop+ev6vq9eu9i7gdy6fefuvc79b6e6rbwfis5qc5sooezcupddiezsgerkydrwgxafbqapvkpp5lvbrnbzplljbljqgnndirlzzfbbxtdggxlobomrhcqslrqugsjmjonbyxnbzjwsbgdns6uorlsteofvrxbdqewwcrjhzddlfznmtvc4v7hvhurihhgsluah8iduhtidgafzhfqemak6yyby77z/b/ejp8nlzuyyoaiqrge9xrbvppadn/givmglj7fdr5orxvd88zlndnon+ph68cxqbwfempxfwlixqy7fxxg9g6bum5xocr5wzwkimoxzccrwgitcczgdsocqc9msut9hgj47jco7wzetp8jr994clquuvsfm65e+qlxk/7rxbfkxe8tkvruqdnmorzkjw7vijomgbpt4wrqpibfdm5uyqad/dlnpgczaniftrovx7tlmjg97mdrp/7ohhufnrghhqhhab/f6au6rm/rcroi6rxhlfwln7lf/w/+d8qb6/fmq7yt/4y8cuvs</latexit> sha_base64="7mltcx5u4lsdkaymwnapcng=">aaac7nicbvhljtmwfhxcawivaksfgsidjvmkkctdfilyafiegi5gaujmopio5httfswf4mdyssfizbze7dfabugm9ynj865vo9zs5prpep4l+dfuxrt+o9m8gtfuuvcfciqkzimsqvq+rphhrhvjchppqrosxdngrlk5apxrgkhfk/fjroy4wgmaeexo6ads7tgsms+mksbhnrglqvbekurwcqcrlefedi5cyddkxjodjzjjgzwlurjkzbncvmqbvduvxs+nmtgsiyzkks7monhdsriw/thkosmozsutingqhbhmseegbkj8qbywbwtfbmfw/efzx75izwsfuceky4evofyrhslamhzxb4tshovjzyufwatwbnvmxzaedbtylwevgqlukcfuvd8z8/+8btzwgm7ynzkipcrlxemkqbqz4pzrfkkrltgmjbuibmmettwpjemtksjpfjtrcs//+migrtekzyz9uhelvyfnm58xjiqkgbtqtencoabnuf7vcneqctbtbthgwmk8rxjhlw7/k6xoweloicitpegpvctouyodnsjxev+egcewusqcegcdghytgbtgcb8exgalsvfg4t/cwfu/9b/5zepvrf98xdshp/jlzr7fg=</latexit> sha_base64="jpnec7k4pleycj+hxjbtyflg4g=">aaac8hicbvjnixnbeozv9b4ffxoptejzehczklosrzyuvbyybnzymrq9otnnmfqfn7szh/oc8eo/8ux/8gxpngezafd8v6/qq5xnvvsoizjxf44+atf7vbux/w8fh/8zmtzrl+iqzaexpbo5lofkebup+wlkokpn8mpxjjp+eceuece4rvhcwvklqjbady6v9mkbgyumiqevwaqbxqpkwpqqq5pl9x8nbmlqodnoh6taoavwxkm7bxxy6bjzkw7pdpahevdg7xnfacouqrmvertlbq+vslgzb7butber6wsko/cmvcswpug+kok9bk+6auqhxpdohwgl7uesxammhtvvxj76szmkifbbrx8qj+jnotjskgzbthi/6fndesvlwjk+dclikrnddgutdj/xc4xwwepz85lmnirt5slgs94jkefsf5opbvxudyrmyvznzi9leva/gzgou8boqkauwujbxtfq7vnlxyztdvlrfarpbvpwwffhj6/e9wxf5xrglocmoqosq7zct4orv6zjj/jweg7rwv75bl5toykiw/iixlpjsiesobdyiklyba8fv4pfxxetumtpqnzcfcn8btirr/q==</latexit> sha_base64="ifmre7u6f9+meuo58dyahoilza=">aaac8hicbvjnixnbeozv9b4ffxopxfhyikemuvregqhfwwfftabhuymnt9szp+glprdjco8z+8ivf/gl/fs+bp8gxpkopztachek9fvderzkophmbxzyc8cvxa9rs7nzubt+5e697/8gxm5vlfmimnpyka8elhyiaiu/kshluk+yhadlh+dcuueue4lplewuylqjbad7v9isbgbo6ytupeqqtupkwpqqi5pj9x8jbmlqodohgdaoa5wxkpwiabxyrbzvo9apdce+k7fznoeenyhjryrtebmuvpq6phurfyayikvovlc6mvvjnljwkxslh7asmnxsvpay5yreqapaskworqvgwrrqlv/nldu6jybtxtlu7ct9ebbcjjtk9+dvj9+fccgh+6fndesulwjk+dcoillnnrgutdj/xcv4ywwbcz4kcafheterwmhj7xse4ly/rsffov4oalhnllfmbrv/uitec/+pgfryvj7xqzyvcsujbxtfq9vnlxyztdvlrfarpbvpwwofhj6/w9mxn5yrghwcmwqosi7zcto7+/6zjb+8y6/jonbii/ky9ehcxpad8oyckifhwdvabofbmrthl/br+g9nqwmodkk8lvfwh8fo5</latexit> sha_base64="qtdisdbttxeacy4wtephiwgnm=">aaac8hicbvlnihnbeo4z/9b4f/w4l8ydiquyziiiimhclgokkwc5kyap6kib9mtx7g4c5gv8am/irfwgxwez4kp4nmejaezafd8x9vxv9vkphcm4/hmely5fuxpt6rnxsbt+97947cqayja+ykcyez+c4fjopukdkx6xlodljh9m8/lde6dmpoqfyufk5hquqgg6kfj9dagsmwzee+zaupo6oocljalkkpvgkdb5nfb7tzqwbkdwfebzpmddtdsltxdlvrlvyutrshm44lyrskn5rk5ddqunhr7vu7nd5uigvv8jwwlfutwuecublfdawftlladdku9rlfkkqrqe8rczy6tbxdyqva4m98wztabdtnpputrwxl4netjjsrp/4vvvd9s/phmun/slbkcymgnojjc5xxinfwstwwol8dmmoujnpqir5tia+tajosm9ucjxal/kmpqziu5m+frnzxav+jxtvwdwfkxfxlnvo8brqnbtdlce5q7+xaczwr+vshlyyojv9flxuujx4zugjlqjuroixoxq85z9l8s479pksyotskwekrxlyjoytv+sadaglxgcmoaswoq/h/cr6urybdwccbex77cxim7+m=</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 ) sha_base64="jiseeeoszrdomz+giivbjyqi=">aaadficbvjlb9naef6bvxtekry5rihqoadiqsa4ouq5ccwsasrfubpej+nv9qxdcutk+w8gcyj/wgx5cgf4cza9ygjltaxz7zepbyawuhppkdxtfuhnr9p9/chde/cfpbwepdrxpnicztxi44z5kekdtmukohuomaqkzdpntmwn5+d88loj7isfrsruuhommqwhe+6llljof6kkyfsvuw9sxxrmcbmlgtdbtdkmzx6xtakliwhim6nt7klzey9mwtvwzdwb4r9zxgq5gy9xvj4ktob6nmzlyuthysbpbqky+ugp9aztwnkcb+pgyz9pqsjlxpymj8hgqnhhav5ucnoye6iutcbqyl6nrqdemkoqxcttycignczfewzhua4yrblctpvvsnrmk46o9edse+msg/hq+gfbmvfgjkknm/mcqwlzvzoy6eiehvtsabal4gqmwc/r7s8a+ixecloyf45gkx/zdrmeb9vwxjzquqvymwf9iiwultshbavgiaxxyqkhlgpucfw44bh+nxemb8uep7wmqnema7jtpqr5dtjqnwcmwqemvw57py8hievmnxirkfvesnybpyldwne/kghjh5jjmci9s9dn6gnlv8tf4x/xz8uncdrzhpmdi/9bu/g/6g=</latexit> sha_base64="vepjuqx77rzqrn7g5ru+xprfg=">aaadficbvjlixnbeo4zx7vxldwjl8zfooeish6kouc9licsxkqranpybtpf9+wahvkbgif9josrx49+de8cfzmcjc7fjrdndfpb6uzerhmul+rvgvq9eu9jz7d8dfvof7evwnvksdhzi7irjhqtqmeabek6sa6yycznsowrxyrk4l4x+hyslm8uwwhscmwyh+v6mrmmvo+hiad5wds/rcgukcvaszwcc6mumdjkznnsqgjweyhjxnnjqzbnasqyctgnl6pbdplpbskcnwapprxsdptpzdgguuqcmordxrbzkdqzcewporchbwdtlyy7mjk/pekjouwletuhp6eheu4eagxgsoua+bzbdk6kll6gi4fgrdesidiomuxsgs6bex8/gssdcvocopsh77+8+srierov8douovaocmu+nw8tirgyujeqjkjafvislwaaxmu+fnd/vldh4vitgvjwtfiu+i/jjop7cqcy9bvffra+d5twwlyculbckhzdagikmfki4azyudjufc8f4uexwyssgfmewjltvspbngadcmaqfwp4uzblzvhtqvip4dugcuythygdwkj8mqvcch5a5impcixt9id5fn+op8zf4w/x9/tsonpz7zmvih8b+aoca==</latexit> sha_base64="azuelgnwzrysd7mgapu4z8+j4=">aaadficbvi7bxnben47xol5ovdsrihqkfbricoucqxuayjx5f8lron+dbev/anuuwtvcilhbpeijasgpp/qifetkfthhptap59pvht5nzktwmyy8ovnlvubw9u9m7du7nb7l5eloiy4kcydz8ydfbpgkfdcsxxavczhncglt4+beefe9wawgqfylqncgittbibztyxmtedzp85vdsrmcxkkvzsdwfckmvxqfdyvonimhjmayhtbojjsdrnmvqcqugth4h7dolvtq6cmwwlprkbptmwppphglktqcurrvrwrbzmzswduro+d5emvnz8jyi46mzc+oghouwnezufp6igeoyfagfgsgguqyazbll8tjkcj4lfrnhmijqmmu5sg8bwk87ozwewdnypxv/5+exxexm46/8onffkguyumfetqwjxwjmx6kgielrtczb5jajrmyk/ltu/qyhjikp4vx4wikxfrfrsu9uvhzetqv4igb/hqlf5oa6fthad5qlbrytaybrea5sibx/c7uwa8kcy45wuqimnyk4qjchtwizubdpvcjw4kmtl5+jpflipwdugcuysiygdwkj8mavcah5a5jcpcixudrx+jt/gh+hp8nf6ehpha859smhx97/m4qtt</latexit> sha_base64="zujo/xnaolr56fhrdtl7dduu=">aaac/nicbvi7j9naelbn6wivacxniaijakuakgftkpdqxfi5hzsoyrwmg8zb/w7jghsixrwt+hq7t8fx4gdtxrxaw5y6svrt8z8r6rwfme/wujkwvxbxzdhny6fefuveh9b6fojbjlbtp7fnoheqhcuqcjj5vfpnkjab5atlx6rqtez/ogfm8wwwhscm/lqfpg7q5jnzacmiccvuwqbqeakgikhtzding64uyrprznnjmtkuylz7kztohm6y9m+dnpg+rfuj6kvfgxrhi6qehwisevoozqbigfcvnwsevwwgrg8causqvfcg9me6cone8gds8grwmorciedqqftq7cqeqjvivugsczxrskxqsc+hsfwagxq5cox+o4ng8m7jsjlzcno7mq//zavda4waugtonsdxrbogwrjcol+dlgxvmjlppeuzgrdrnmdpounhllayax/mmch/pvrmoxcvuu+slppxeq68h/ceuf6kjdfutar5vvnsyu6c7myyeru5ekovgao/k/cswca9/oddsvqsuwshyk46ozklslxtp+p/ddjsej4ze9zefbo+bx8driglfbcfaoammaq/tsa/hf+jz9g6hvyx8ahxow+daop9/aw9t=</latexit> sha_base64="w75io55ko8qjsnziwwxzlwoyy=">aaac/nicbvjlixnbeo4zxt8rt6kvwedxjmrflpspclbw8rmjftag9nzpmm+7pobsmmqwde9j/4k8cv4sf4yxl7ssxiwuxyfn9xz686q5rfeu/g/dkwvxbxzc7n6fefuvf79b6fofbgsbhl7fnghspz4ogkktyrlhkdkuyyxbdjkyvaj5ntyvtjsflzkxgpohpvfacvtzj4ctr4kxtb9fkx5xltyzewujkgk5owvs4bbtuspefww7bdz5nkxzzkskl+swsnprus9bwemlwcgc4oqwcrmcmibzcsws8dtuoeb5rszbl9wcoxq6xobnbpiksjqedipxuehwgkhtaq78yl7ohamcuiflofgfa+fpoetrixduhbap4wgcbgshpvnmpjoz8/zhljj9p+7rmrkxjkg4c+m4qmjscetskpsrg4rlhz8jmpvllyjmzsb7twxcmzyirytyop9mnfw7t9azj+zucxe5dvwfn64pfzvpzfnvhkxynsprsnqrlmqigl8lmcmglnxvewsxxv/9lgv6iamfptdtnvdxrvkuo6fpb/7rxo+8yq/zg7yi/aypwuxolh7a7ysmmgirog/b5/a8/bj+db9tq8ngl/oq7vn4/s9qfmk</latexit> sha_base64="9nergubn8q+fey8gbnhwdjmc=">aaac/nicbvjlixnbej4zxt8rt6kvweduyymp6kovcphhywewszelo6drkvrj6k5jdmoaiog/8szebx+ez+gfg8jpkyhytaci+r55fdvzk4siof4trpctxrl7bu965cfpw7tvdu/donaksxyetizjdmuquoqbek8kyylulmsvmg5zmfwiemfkresekzbtibwfkounzoym5mdt/upewqqtupyomhfxbj9w45eyppqdohgdaoyfzzjetauysbnksq5ow9gxdxjshjxushkwqehwisezootbliancldysepwyukde8nizucagfmknmnwceav5o7a7gkwioaihf9yrvdezcaevq5ji/uimyrwrievqs/a+r4sfqijwbo7d8kux/4rxbrae/dfapj/58e//94pfjppsrnrpekdtejxnui9lgtfmkuas/aqvw5lxozvhyluakxtjenabh55zaq5sf5pgjx6bbnlhmrlfnivjnmvb/gjivjn4rosilufnmorsrqhtnmaqlnlwku8g4fx5w4awzjhv9d7su6cwmbnbatlvc9c/lcte5fdlzx6f/yivpnjyxvagebg8dvrbuxacvahogmhawyrswg/hx+hd9cn6hhzhebhnud+sgpr79rlpub</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 Define also A(k) = A sha_base64="vma+y+msabpqtn8yolo9wdobp4=">aaacyxicbvfbaxnbgjdbzxeoj76mjqrgrbhtyujniqhwoitgkaqjyns7ozzbbzwwdm8zhnvxb/hh/im/ojvvqth7wwegc78b5pjrbalotxdeuxvv/ooth6hj588fdz+/ujeyphmsassxwaikyfwrsqghktfqe8zsrsvqmanyqzsmunwy5lmodoxnkcygu/n7+teqluxtk46r/dnlwovmcccqwsjuicokl5hknhmnne4mgummb5t6lojoapnzsi6slmi5x5rwz5l76ybiwslu8mzufdhbaidgikz6ahc5mvsxg5+9blque4beennyle9dxgp4bydwtnr8yn6kergldbiaoaojov6bzbjxnaidgdj6gkelmvmkdmwm+ksrtuqecroph4kximezxldr7tazzqxwkafs9q6lunzlnvrkgh9u6vj/ntyuqfzpaksjje4pwivglqsfi/dgzuewz8qzkkskl+vogxscfs/gmtiwiuydgwqy5bvr8ubbootvx78tr9vn85+nrytgvegwwalwhhyaqaexgah8fhcbx8c7+ep8kr8oe6nayanpdgi8jf/wcybdtj</latexit> Pk r= M (r), with A() = A; also A(n) =