Podstwy formty Wyłd r / Podstwy formty Pl wyłdu r etody tercyje rozwązyw ułdów rówń lowych: metod tercj prostej (Jcobego) metod Guss-Sedel Poltech Błostoc - Wydzł Eletryczy Eletrotech, semestr II, stud stcjore Ro demc / Wyłd r (..) Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) Jcobego) rozwązujemy ułd rówń lowych z ewdomym: dzelmy -ty wersz przez współczy ( ),,,..., L L O L b b b () w owym ułdze:, dl j b j j,, j,,...,, dl j ułd rówń () moŝ przedstwć w zpse mcerzowym: gdze elemety mcerzy wetor ozczoe są wzorem () () () pozostwmy zmeą po lewej stroe rów pozostłe wyrzy przeosmy prwą stroę, otrzymując owy ułd rówń: L L O L, () ułd () rozwązujemy metodą olejych przyblŝeń: ( ),,,... z zerowe przyblŝee przyjmujemy wetor (lub wetor rówy zeru): () wzór () moŝ zpsć tŝe w postc slrej: (), ( ), j j,,,...,,,,... () j, j () ()
Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) Jcobego) Twerdzee: JeŜel cąg przyblŝeń (), (), (),..., (),... m grcę rozwąze ułdu (), czyl ułdu (). lm g to stow o Kedy w metodze tercyjej przerywmy oblcze? gdy jed ze zmodyfowych orm róŝcy wetorów -tego ()-szego przyblŝe jest mejsz od przyjętej dołdośc ε: Wruem wystrczjącym zbeŝośc procesu tercyjego jest to, by dowol z orm mcerzy był mejsz od jedośc, tj. gdze: m j j < lub < lub < m j j E E j j () () m ( ) ε ( ) gdy lczb wyoych tercj osąg msymlą przyjętą wrtość Dl przypome - ormy wetor: ε ( ) ε. () metod tercj prostej jest ztem zbeŝ, gdy mcerz A ułdu () jest mcerzą z domującą przeątą (co często moŝ uzysć poprzez przestwee rówń) j j j,,,..., () m () Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) Przyłd: rozwązujemy ułd rówń z ewdomym dzelmy -ty wersz przez :,, w w / w w / w w /,,,,, pozostwmy zmeą po lewej stroe rów pozostłe wyrzy przeosmy prwą stroę:,,,,,,,,,,,,,, Jcobego) Przyłd: otrzymy ułd m w zpse mcerzowym stępującą postć: proces tercyjy jest zbeŝy, gdy przyjmej jed z orm mcerzy jest mejsz od jedośc: m j < j w lzowym przyłdze:,,,,,,,, m < j j, E E j < j,
ń ą Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) Przyłd: Jcobego) Przyłd: rozwązujemy ułd metodą tercj prostej: rozwązujemy ułd metodą tercj prostej (c.d.): ( ) ( ) ( ) (, (,, ) ),,,, () () (),, () (),,, () () (),,,,,,,,,(,),, (),(,),,, () () (), () () (),, () (),,, () () (),,,,,,,,, (,),,, (), (,),,, () () (),, () (),,, () () (),,,,,,,,,, (),,,,... rozwąze dołde:,, Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) - progrm w C (/) Jcobego) - progrm w C (/) /* Nme: w tercj_prost.c Author: Jrosłw Forec (jref@pb.edu.pl) Descrpto: Rozw zywe ułdów rów lowych: metod tercj prostej */ #clude <stdo.h> #clude <stdlb.h> #clude <mth.h> #defe N /* Rozmr mcerzy */ vod wyswetl_wetor(flot X[N], t ) t ; prtf("%d ",); for (; <N; ) prtf("%f ",X[]); prtf("\"); flot orm_wetor(flot X[N], flot X[N]) t ; flot orm, orm_m.; for (; <N; ) orm fbs(x[]-x[]); f (orm>orm_m) orm_m orm; retur orm_m; flot orm_mcerz(flot A[N][N], t r) t, j; flot tmp, orm.; swtch (r) cse : for (; <N; ) /* orm esoczoosc */ tmp ; for (j; j<n; j) tmp tmp fbs(a[][j]); f (tmp > orm) orm tmp; bre; cse : for (j; j<n; j) /* orm perwsz */ tmp ; for (; <N; ) tmp tmp fbs(a[][j]); f (tmp > orm) orm tmp; bre; cse : for (; <N; ) /* orm euldesow */ for (j; j<n; j) orm orm fbs(a[][j]*a[][j]); orm sqrt(orm); retur orm;
ą ń Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) - progrm w C (/) Jcobego) - progrm w C (/) t m() flot A[N][N],,, /* cerz współczyów */,,,,, ; flot B[N],, ; flot X_NEW[N], X_OLD[N], eps, orm_m; t,j,, m_tert; /* Prmetry oblcze */ eps.; m_tert ; /* Dzelmy -ty wersz przez elemet A[][]*/ for (; <N; ) for (j; j<n; j) f (!j) A[][j] -A[][j]/A[][]; B[] B[]/A[][]; A[][].; /* Oblczee orm mcerzy */ prtf("wrtosc orm:\"); prtf("norm eoczoosc: %g\",orm_mcerz(a,)); prtf("norm perwsz: %g\",orm_mcerz(a,)); prtf("norm euldesow: %g\\",orm_mcerz(a,)); /* Wetor pocz towy */ ; for (; <N; ) X_NEW[] B[]; wyswetl_wetor(x_new,); do ; for (; <N; ) X_OLD[] X_NEW[]; for (; <N; ) X_NEW[] B[]; for (j; j<n; j) f (!j) X_NEW[] X_NEW[] A[][j]*X_OLD[j]; wyswetl_wetor(x_new,); orm_morm_wetor(x_new,x_old); whle (<m_tert && orm_m>eps); Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) - progrm w C (/) Jcobego) - progrm w C - wy prtf("\--------------------------------------------\"); f (orm_m<eps) prtf("dl eps %g otrzymo rozwze:\\", eps); wyswetl_wetor(x_new,); else prtf("br zbezosc po wyou %d roow\",m_tert); prtf("\"); system("puse"); retur ; Wrtosc orm: prtf("\--------------------------------------------\"); Norm eoczoosc:. f (orm_m<eps) Norm perwsz:. Norm euldesow:. prtf("dl eps %g otrzymo rozwze:\\", eps); wyswetl_wetor(x_new,);... -... else -... prtf("br zbezosc po wyou -. %d roow\",m_tert);.. prtf("\"); -... -... system("puse"); retur ; -... -... -... -... -... -... -... -... -... -... -... -------------------------------------------- Dl eps. otrzymo rozwze: -...
Podstwy formty Wyłd r / Podstwy formty Wyłd r / etod Guss-Sedel etod Guss-Sedel jest modyfcją metody tercj prostej przy oblczu ()-szego przyblŝe ewdomej () wyorzystuje sę juŝ oblczoe ()-sze przyblŝe zmeych (),..., - () orz -te przyblŝe pozostłych zmeych ułd: przesztłcy jest do postc: A b w te sm sposób j w metodze tercj prostej oleje przyblŝe wyzcze są ze wzorów: () ( ) ( ) j j j j ( ) j j j j j,,,...,,..., () () () Przyłd: rozwązujemy ułd rówń z ewdomym przesztłcmy ułd do tej smej postc j w metodze tercj prostej: w zpse mcerzowym ułd m postć:,,,,,,,,,,,,,, Podstwy formty Wyłd r / Podstwy formty Wyłd r / etod Guss-Sedel Przyłd: etod Guss-Sedel Przyłd: rozwązujemy ułd metodą Guss-Sedel: rozwązujemy ułd metodą Guss-Sedel (c.d.): ( ) ( ) ( ), (,, ) ( ) (,, (, ) ), () () (),, () (),,, () () (),,,,,,,,, (,),,, (), (,),,, () () (), () () (),, () (),,, () () (),,,,,,,,, (,),,, (),(,),,, () () (),, () (),,, () () (),,,,,,, (,),, (),(,),,,... rozwąze dołde:,,
Podstwy formty Wyłd r / Podstwy formty Wyłd r / etod tercj prostej metod Guss-Sedel etod Guss-Sedel - progrm w C - wy /* etod tercj prostej */ do ; for (; <N; ) X_OLD[] X_NEW[]; for (; <N; ) X_NEW[] B[]; for (j; j<n; j) f (!j) X_NEW[]X_NEW[]A[][j]*X_OLD[j]; wyswetl_wetor(x_new,); orm_morm_wetor(x_new,x_old); whle (<m_tert && orm_m>eps); /* etod Guss-Sedel */ do ; for (; <N; ) X_OLD[] X_NEW[]; X_NEW[] B[]; for (j; j<n; j) X_NEW[] X_NEW[] A[][j]*X_OLD[j]; for (; <N; ) X_NEW[] B[]; for (j; j<; j) X_NEW[] X_NEW[] A[][j]*X_NEW[j]; for (j; j<n; j) X_NEW[] X_NEW[] A[][j]*X_OLD[j]; wyswetl_wetor(x_new,); orm_morm_wetor(x_new,x_old); whle (<m_tert && orm_m>eps); /* etod tercj prostej */ do ; for (; <N; ) X_OLD[] X_NEW[]; wyswetl_wetor(x_new,); orm_morm_wetor(x_new,x_old); whle (<m_tert && orm_m>eps); Wrtosc orm: Norm /* eoczoosc: etod Guss-Sedel */. Norm perwsz:. do Norm euldesow:. ;... -. for (; <N;. ). -. X_OLD[] X_NEW[];.. -... X_NEW[] B[]; -... for (j; j<n; j) -... X_NEW[] X_NEW[] A[][j]*X_OLD[j]; -------------------------------------------- for (; <N; ) for (; <N; ) Dl eps. otrzymo rozwze: X_NEW[] B[]; -. X_NEW[] B[];.. for (j; j<n; j) for (j; j<; j) f (!j) X_NEW[] X_NEW[] A[][j]*X_NEW[j]; X_NEW[]X_NEW[]A[][j]*X_OLD[j]; for (j; j<n; j) X_NEW[] X_NEW[] A[][j]*X_OLD[j]; wyswetl_wetor(x_new,); orm_morm_wetor(x_new,x_old); whle (<m_tert && orm_m>eps); Podstwy formty Wyłd r / Podstwy formty Wyłd r / Porówe metody tercj prostej Guss-Sedel Porówe metody tercj prostej Guss-Sedel etod tercj prostej etod Guss-Sedel Rozwąze dl zmeej. -.... -.... -. -. -....... -. -. -......... -. -. -....... -. -. -....... -. -. -..... -. -..... -. -. -. -....... -. -. -..... -. -. -. -..... -. -... -. -. -.. -.. Itercj prost Guss-Sedel
Podstwy formty Wyłd r / Podstwy formty Wyłd r / Porówe metody tercj prostej Guss-Sedel Porówe metody tercj prostej Guss-Sedel Rozwąze dl zmeej...... Rozwąze dl zmeej...... Itercj prost Guss-Sedel. Itercj prost Guss-Sedel Podstwy formty Wyłd r / Podstwy formty Wyłd r / Porówe metody tercj prostej Guss-Sedel Porówe metody tercj prostej Guss-Sedel etod tercj prostej etod Guss-Sedel etod tercj prostej etod Guss-Sedel.............................................................................................................................................................. RóŜce (bezwzględe) pomędzy dwom olejym rom: - RóŜce (bezwzględe) pomędzy dwom olejym rom: - Lczb roów przy dołdośc: ε,
Podstwy formty Wyłd r / Podstwy formty Wyłd r / Porówe metody tercj prostej Guss-Sedel Porówe metody tercj prostej Guss-Sedel etod tercj prostej etod Guss-Sedel etod tercj prostej etod Guss-Sedel.................................................................................................................................................................... RóŜce (bezwzględe) pomędzy dwom olejym rom: - Lczb roów przy dołdośc: ε, RóŜce (bezwzględe) pomędzy dwom olejym rom: - Lczb roów przy dołdośc: ε, Podstwy formty Wyłd r / Podstwy formty Wyłd r / Porówe metody tercj prostej Guss-Sedel Podsumowe: Jcobego) Iy sposób przedstwe metody: metod tercj prostej omw jest jczęścej ze względów hstoryczych, gdyŝ prtycz stosowlość jest ewel metod Guss-Sedl jest szybcej zbeŝ od metody tercj prostej metody tercyje są brdzo dobre do rozwązyw ułdów, w tórych mcerz A jest rzd: wymgją mejszej lośc opercj rytmetyczych, tym smym czs rozwązyw jest rótszy wymgją mej pmęc opercyjej Algorytmy hybrydowe: etp : rozwąze ułdu rówń metodą dołdą elmcj Guss etp : usuęce błędów umeryczych metodą tercyją rozwązujemy ułd rówń przyjmujący w zpse mcerzowym postć: zpszmy mcerz A w postc: gdze: A b A L D U L L L L L L D L U () O O O L L L cerz dgol cerz trójąt dol z zerm przeątej cerz trójąt gór z zerm przeątej () ()
Podstwy formty Wyłd r / Podstwy formty Wyłd r / Jcobego) Iy sposób przedstwe metody: etod Guss-Sedel Iy sposób przedstwe metody: po podstweu: A L D U do A b otrzymujemy: dl ułdu: ( L D U) b D ( L U) b D ( L U) D b () () () stosujemy te sme podstwee, j w metodze tercj prostej: otrzymując: A b A L D U () () powyŝszy zps prowdz do stępującego wzoru ogólego: ( ) ( D ( L U) ) D gdze mcerze D D - m postć: L / L L / L D D () O O L L / b () ( L D U) b D ( L U) b D ( L U) D b w metodze Guss-Sedel Ŝde owe przyblŝee zmeej () wyzcze jest podstwe wylczoych wcześej pozostłych zmeych: ( ) ( D ( L ) ( U ) ) D b () () () () Podstwy formty Wyłd r / Podstwy formty Wyłd r / w lze złoŝoych ułdów eletroczych, lczb rówń oeczych do rozwąz, wyjących z lczby węzłów ułdu, moŝe sęgć sete tysęcy rozwąze t duŝych ułdów rówń metodm lsyczym moŝe być ewyole dl współczesych omputerów lsy PC, wy to m.. z: wymgego czsu oblczeń pmęc ezbędej do przechowyw mcerzy zwązych z lzowym ułdem rozwązem powyŝszych problemów jest zstosowe tzw. tech mcerzy rzdch mcerze rzde (g. sprse mtr) są to mcerze mjące brdzo duŝo elemetów zerowych (le co to zczy brdzo duŝo?) Defcj prtycz mcerzy rzdej: mcerz jest rzd, gdy dl dego systemu omputerowego metody oblczeń zstosowe specjlego lgorytmu uwzględjącego obecość elemetów zerowych pozwl zoszczędzć pmęć /lub czs oblczeń Gdze występują mcerze rzde? rozwązywe zgdeń modelow zjws systemów metodm dysretyzcj stch (rozwązywe rówń róŝczowych cząstowych): RS (metod róŝc sończoych) ES (metod elemetów sończoych) w relzcj sec euroowych w lgorytmch grfch w mcerzch opsujących brdzo złoŝoe ułdy eletrocze występuje tylo o. od % do % elemetów o wrtoścch róŝych od zer, p. mcerz dmtcj węzłowych Y dl typowego obwodu -węzłowego m mej Ŝ % elemetów ezerowych, dl obwodu -węzłowego - o. % zzwyczj moŝ przewdzeć, gdze w mcerzy będą występowły elemety zerowe ezerowe
Podstwy formty Wyłd r / Podstwy formty Wyłd r / rozwązywe rówń mcerzowych rzdch metodm typowym dl mcerzy pełych jest eefetywe, gdyŝ dzł typu: / - są dl procesor t smo prcochłoe, j dzł lczbch róŝych od zer zstosowe lgorytmów dostosowych do mcerzy rzdch umoŝlw: oszczęde gospodrowe pmęcą przez zpmęte tylo ezerowych współczyów ułdu, ch pozycj w mcerzy orz mmum dych umoŝlwjących efetywe docere do tych elemetów wyoywe opercj tylo elemetch ezerowych mcerzy wetor prwych stro, co powoduje srócee czsu oblczeń suteczy szyb wybór elemetów podstwowych, gwrtujących pewe msymly pozom błędu umeryczego przy zchowu rzdośc mcerzy rozłoŝoej czy LU osągęce powyŝszych celów jest moŝlwe poprzez: włścwy system reprezetcj ułdu w struturch dych w pmęc efetywy wybór elemetów podstwowych odpowede zprogrmowe procesu rozłdu LU orz podstweń w przód wstecz Reprezetcj mcerzy w struturch dych: podstwą efetywośc tech mcerzy rzdch jest przyjęce włścwego systemu pmęt elemetów ezerowych mcerzy wetor prwych stro wybór schemtu przechowyw mcerzy rzdch zleŝy od strutury mcerzy (ułdu wyrzów ezerowych w mcerzy) lgorytmu, w tórym występuje mcerz stosowe formty przechowyw mcerzy rzdch: Coordte Formt - turly, oprty współrzędych CSR - Compressed Sprse Row Formt - sompresowy werszowy CSC - Compressed Sprse Colum Formt - sompresowy olumowy CDS - dgoly ITPACK - uproszczoy postrzępoy dgoly strutur ortogolych lst powązych (g. orthogol led lst) dl Ŝdego z formtów steją odpowede wersje lgorytmów relzujących podstwowe opercje mcerzowe Podstwy formty Wyłd r / Podstwy formty Wyłd r / Coordte Formt: elemety ezerowe przechowywe są w jedowymrowej tblcy vlues w dowolym porządu dwe dodtowe tblce słuŝą do zpmęt desów werszy (rows) olum (colums) dl tych elemetów rozmr wszystch tblc jest rówy lczbe ezerowych elemetów Przyłd: A CSR - Compressed Sprse Row Formt: w tblcy vlues wersz z werszem zpmętywe są oleje elemety ezerowe w tblcy colums przechowywe są desy olum dl tych elemetów w tblcy poterb przechowywe są desy elemetów w tblcy vlues, tóre są perwszym ezerowym elemetm w Ŝdym werszu mcerzy A w tblcy potere przechowywe są odwoł do osttch ezerowych elemetów w Ŝdym werszu tblcy, otrzyme po wyou opercj: potere(j) - poterb() Przyłd: A
Podstwy formty Wyłd r / Podstwy formty Wyłd r / CSC - Compressed Sprse Colum Formt: Strutur ortogolych lst powązych: w tblcy vlues olum z olumą przechowywe są elemety ezerowe tblc rows zwer desy werszy dl tych elemetów z mcerzy A w dowolym porządu tblc colide zwer desy elemetów w tblcy vlues, tóre są perwszym ezerowym elemetm w Ŝdej olume mcerzy A rozmr tblc vlues colums jest rówy lczbe elemetów ezerowych, zś rozmr tblcy colide jest rówy lczbe olum mcerzy A Przyłd: system lst powązych jest to dwueruowo zwązy wsźm system strutur, w tórym Ŝd strutur reprezetuje jede elemet ezerowy strutur zwer stępujące pol: vlue - wrtość elemetu ezerowego (zmeoprzecow) row - umer wersz elemetu (cłowty) col - umer olumy elemetu (cłowty) et col - wsź do strutury reprezetującej stępy elemet ezerowy w olume et row - wsź do strutury reprezetującej stępy elemet ezerowy w werszu A Podstwy formty Wyłd r / Podstwy formty Wyłd r / Strutur ortogolych lst powązych: od Ŝdego elemetu mcerzy moŝ dostć sę przez wsź do stępego elemetu w werszu (et row) orz w olume (et col) Strutur ortogolych lst powązych: by zleźć elemety perwsze w werszch w olumch, potrzebe są dodtowo dwe tblce: frst row[] - zwerjąc wsź strutury w lstch reprezetujące perwsze elemety w Ŝdym werszu frst col[] - zwerjąc wsź strutury w lstch reprezetujące perwsze elemety w Ŝdej olume dodtowo tworzo jest jeszcze jed tblc wsźów strutury reprezetujące elemety zjdujące sę główej przeątej mcerzy: dg[] - tblc zwerjąc wsź strutury reprezetujące elemety z główej przeątej mcerzy prwe stroy reprezetowe są jo olum mcerzy wsź zerowy (NULL) ozcz br elemetu stępego lśce źródło: J. Ogrodz: Komputerow lz ułdów eletroczych, PWN, Wrszw,
Podstwy formty Wyłd r / Wypełe wybór elemetów podstwowych: procedur rozwązyw ułdu rówń metodą LU zme wrtośc elemetów reprezetowych w struturch lstowych rozłd LU e mus zchowć zerowo-ezerowej strutury mcerzy pojwee sę owych elemetów, tzw. wypełeń ompluje procedury mcerzy rzdch, gdyŝ powoduje oeczość dołącze do strutury lst owego elemetu jeśl wypełeń jest duŝo, to procedur trc swą efetywość, zblŝjąc sę do tech mcerzy pełych dl efetywej relzcj procedury w techce mcerzy rzdch lczb wypełeń pow być moŝlwe mł Podstwy formty Wyłd r / Wypełe wybór elemetów podstwowych: dl dego ułdu rówń lczb wypełeń zleŝ jest od olejośc werszy orz ewdomych (czyl olum), p. ( - elemet ezerowy): moŝlwe jest ztem te przeumerowe werszy lub olum, by lczb wypełeń był mml, do przeumerowe powszeche stosowy jest lgorytm rowtz przy przeumerowu werszy olum (przestweu) trzeb ztem wząć pod uwgę dw ryter: j jmejsz lczb wypełeń j jwęsz wrtość bezwzględ elemetu podstwowego LU LU Podstwy formty Wyłd r / Przyłd: / / / / / / opercj opercj opercj opercje