matea ugrica - mathos.unios.hrmdjumic/uploads/diplomski/ugr03.pdf · ukoliko je m= r= 1 sustav...
TRANSCRIPT
Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku
Sveucilisni diplomski studij matematike i racunarstva
Matea UgricaUpravljivost linearnih vremenski neovisnih sustava
Diplomski rad
Osijek, 2015.
Sveuciliste J. J. Strossmayera u OsijekuOdjel za matematiku
Sveucilisni diplomski studij matematike i racunarstva
Matea UgricaUpravljivost linearnih vremenski neovisnih sustava
Diplomski rad
Mentor:
doc.dr.sc. Zoran Tomljanovic
Osijek, 2015.
Sadrzaj
1 Uvod 1
2 Linearni vremenski neovisni sustav 2
3 QR faktorizacija s pivotiranjem 8
3.1 Givensove rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.1 Matrice rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.2 Givensove rotacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 QR faktorizacija koristeci Givensove rotacije . . . . . . . . . . . . . . . . . . 11
3.3 Svojstva QR faktorizacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4 Matrice permutacije . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.5 QR faktorizacija s pivotiranjem . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.6 Numericki rang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4 Upravljivost 19
4.1 Dekompozicija neupravljivog sustava . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Numericko provjeravanje upravljivosti . . . . . . . . . . . . . . . . . . . . . . 26
4.2.1 Numericki efikasnije provjeravanje upravljivosti . . . . . . . . . . . . 27
4.2.2 Primjeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Udaljenost do neupravljivosti . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5 Literatura 35
6 Prilog - Matlab kodovi 36
7 Sazetak 39
8 Title and summary 40
9 Zivotopis 41
1 Uvod
Upravljivost je jedan od glavnih koncepata teorije sustava. Opisuje mogucnost da se vanj-
skim upravljanjem (input, unos) sustava, sustav iz jednog stanja dovede u neko drugo stanje
u konacnom vremenu.
Upravljivost ima vrlo siroku primjenu, ponajvise u fizici, sve od balansiranja stapa do
kretanja satelita u Zemljinoj orbiti. Buduci da se radi o jednom od temeljnih pojmova iz
teorije sustava, upravljivost se koristi u mnogim primjenama poput stabilizacije sustava, op-
timalnog upravljanja i simulacije slozenih sustava.
Kako bismo mogli proucavati upravljivost linearnih vremenski neovisnih sustava, u prvom
dijelu rada navest cemo definiciju i primjere linearnih vremenski neovisnih sustava. Takoder,
pokazat cemo kako sustave, koji na prvi pogled nisu linearni vremenski neovisni, svesti na
linearne vremenski neovisne sustave.
U drugom dijelu rada opisat cemo QR faktorizaciju s pivotiranjem, koju cemo koristiti
za numericko provjeravanje upravljivosti. Takoder, opisat cemo i Givensove rotacije, jer QR
faktorizaciju vrsimo pomocu njih, te pojam numerickog ranga.
U ovom radu cemo koristiti oznake kao u programskom paketu Matlab. Konkretno, za
matricu Q oznaka Q(1 : m,n + 1 : m) predstavljat ce matricu koja je zapravo podmatrica
matrice Q, a sastoji se od prvog do m-tog retka matrice Q, te od n+ 1-vog do m-tog stupca
matrice Q.
U trecem dijelu rada opisat cemo upravljivost te cemo pokazati kako se ona moze nu-
mericki provjeriti svodenjem matrice na Hessenbergovu formu. Takoder, navest cemo pri-
mjere upravljivih i neupravljivih sustava. U ovom dijelu ce biti opisana i udaljenost do
neupravljivosti sustava kao bolja mjera od provjeravanja same upravljivosti sustava.
1
2 Linearni vremenski neovisni sustav
Linearni vremenski neovisni (LTI - linear time invariant) sustav je zadan sljedecim obicnim
diferencijalnim jednadzbama 1. reda
x(t) = Ax(t) +Bu(t), t ≥ t0, x(t0) = x0, (1)
y(t) = Cx(t) +Du(t), (2)
gdje je
x(t) ∈ Rn - vektor stanja,
u(t) ∈ Rm - vektor upravljanja (input), m ≤ n,
y(t) ∈ Rr - vektor izlaza,
A ∈ Rn×n - matrica koeficijenata sustava,
B ∈ Rn×m - matrica ulaza sustava,
C ∈ Rr×n - matrica izlaza sustava,
D ∈ Rr×m - matrica prijenosa sustava,
x(t0) je pocetni uvjet.
Jednadzbu (1) nazivamo jednadzbom stanja, a jednadzbu (2) nazivamo jednadzbom izlaza.
Ukoliko je m = r = 1 sustav nazivamo single-input single-output sustav (SISO).
Cesto se pri modeliranju brojnih fizikalnih problema dobiju sustavi nelinearnih jednadzbi
ili sustavi diferencijalnih jednadzbi 2. reda ili parcijalne diferencijalne jednadzbe. Pokazat
cemo na primjeru kako se sustav obicnih diferencijalnih jednadzbi 2. reda moze zapisati kao
LTI te kako se nelinearan sustav diferencijalnih jednadzbi moze zapisati kao LTI.
Primjer 2.1. Sustav dvije mase
Razmotrimo sustav prikazan na Slici 2.1
Slika 2.1: Sustav dvije mase
2
Neka su k1, k2, k3 krutosti za svaku pojedinu oprugu, m1,m2 mase tijela, c1 prigusenje
koje djeluje na tijelo mase m1 te u2 upravljanje koje djeluje na tijelo mase m2.
Rjesenje.
Pretpostavimo da se gibanje vrsi samo u jednom smjeru i oznacimo redom s x1 i x2 otklone
masa m1 i m2 od ravnoteznog polozaja. Da bismo odredili jednadzbe gibanja sustava, sjetimo
se Newtnovog drugog zakona koji glasi
F = ma = mx,
gdje je m masa tijela, a akceleracija, a F zbroj svih sila koje djeluju na tijelo mase m. Sile
koje djeluju na svako pojedino tijelo u ovom sustavu su:
1. sila opruge, koja je po Hookovom zakonu proporcionalna otklonu tijela od ravnoteznog
polozaja, −kx, gdje je x otklon od ravnoteznog polozaja, a k konstanta elasticnosti
2. sila prigusenja, −cx
3. vanjska sila u2, koja moze, a i ne mora postojati.
Za vise mozete pogledati u [1].
Odredimo prvo koliko ce iznositi promjene duljina opruga u nasem primjeru, redom za
opruge k1, k2 i k3 one iznose x1, x2 − x1 i x2. Tada je jednadzba gibanja mase m1 sljedeca:
F1 = m1x1 = −k1x1 + k2(x2 − x1)− c1x1. (3)
Primijetimo da opruge k1 i k2 djeluju u suprotnim smjerovim na masu m1 pa su im predznaci
suprotni.
Analogno, jednadzba gibanja tijela mase m2 je sljedeca:
F2 = m2x2 = −k2(x2 − x1)− k3x2 + u2. (4)
U matricnom obliku jednadzbe (3) i (4) mozemo zapisati na sljedeci nacin:[m1 00 m2
] [x1x2
]+
[c1 00 0
] [x1x2
]+
[k1 + k2 −k2−k2 k2 + k3
] [x1x2
]=
[0u2
],
odnosno
Mx+ Cx+Kx = u, (5)
gdje je:
x =
[x1x2
], u =
[0u2
], M =
[m1 00 m2
],
C =
[c1 00 0
], K =
[k1 + k2 −k2−k2 k2 + k3
].
3
Ukoliko uvedemo nove varijable y1 = x i y2 = x, tj.
y =
[y1y2
].
Tada dobijamo sustav oblika:
y1 = y2
y2 = −M−1(Cy2 +Ky1 − u),
odnosno
y = Ay +Bu,
z = C ′y,
gdje je:
A =
[0 I
−M−1K −M−1C
], B =
[0
M−1
]C ′ =
[1 0 0 00 1 0 0
].
Primijetimo da smo dobili LTI sustav u kojem je u vektor upravljanja sa samo jednom
komponentom, dok nam y predstavlja vektor stanja, a z vektor izlaza.
Primjer 2.2. Gibanje satelita
Razmotrimo sustav prikazan na Slici 2.2
satelit
Zemlja ϕ(t)ϕ(t)
u1(t)
d(t)
u2(t)
Slika 2.2: Gibanje satelita
Neka se satelit jedinicne mase krece u orbiti oko Zemlje na udaljenosti d(t) od sredista
Zemlje. Neka je ϕ(t) kut pod kojim se satelit nalazi u vremenu t i neka tri sile djeluju na taj
4
satelit. Radijalna sila u1(t), tangencijalna sila u2(t) te sila privlacnosti FG =α
d2(t), gdje je
α konstanta.
Rjesenje.
Primijetimo da ovaj primjer prikazuje gibanje po kruznici, a ono se sastoji od:
1. jednolikog gibanja po tangenti na kruznicu u tocki odredenoj trenutnim polozajem
tijela
2. jednolikim ubrzanim gubanjem prema sredistu kruzne putanje.
Jednadzba koja opisuje jednoliko ubrzano gibanje prema sredistu je sljedeca:
Fcp = Fcf − FG + u1(t)
m ¨d(t) = md(t) ˙ϕ2(t)− α
d2(t)+ u1(t),
odnosno
¨d(t) = d(t) ˙ϕ2(t)− α
d2(t)+ u1(t). (6)
Kako imamo i jednoliko pravocrtno gibanje po tangenti na kruznicu, zbroj sila koje djeluju
tangencijalno mora biti 0.
Transverzalna akceleracija je dana formulom atr = d(t) ¨ϕ(t) + 2 ˙d(t) ˙ϕ(t). Stoga vrijedi
Ftr − u2(t) = 0
m(d(t) ¨ϕ(t) + 2 ˙d(t) ˙ϕ(t)) = u2(t),
odnosno
¨ϕ(t) =−2 ˙d(t) ˙ϕ(t)
d(t)+u2(t)
d(t). (7)
Jednadzbe (6) i (7) su jednadzbe gibanja ovog sustava.
Definirajmo vektor stanja na sljedeci nacin:
x1(t) = d(t), x2(t) = ˙d(t), x3(t) = ϕ(t), x4(t) = ˙ϕ(t),
a vektor izlaza na sljedeci:
y1(t) = d(t), y2(t) = ϕ(t).
5
Tada u matricnom zapisu sustav je dan s
x1(t)x2(t)x3(t)x4(t)
=
x2(t)
x1(t)x24(t)−
α
x21(t)+ u1(t)
x4(t)
−2x2(t)x4(t)
x1(t)+u2(t)
x1(t)
,
[y1(t)y2(t)
]=
[1 0 0 00 0 1 0
]x1(t)x2(t)x3(t)x4(t)
,uz pocetne uvjete:
x0 =
d(0)
0ϕ(0)
˙ϕ(0)
=
d00ϕ0
ω0
, u0 =
[00
].
Dobijeni sustav
x(t) = f(x(t), u(t), t), x(t0) = x0,
y(t) = h(x(t), u(t), t)
je nelinearan te ga zelimo linearizirati oko pocenog uvjeta (x0, u0).
Objasnimo kako cemo provesti linearizaciju. U slucaju kada razmatramo male perturba-
cije oko nekog referentnog stanja, tada je moguce nelinearne jednadzbe
x(t) = f(x(t), u(t), t), (8)
linearizirati oko referentnog stanja i dobiti linearne diferiencijalne jednadzbe koje opisuje
dinamiku malih perturbacija.
Pretpostavimo da imamo referentno stanje x(t) i odgovarajuci referentni upravljacki vektor
u(t). U slucaju bez perturbacija, referentni vektori zadovoljavaju nelinearnu jednadzbu:
x(t) = f(x(t), u(t), t).
U perturbiranom stanju, vektor stanja i upravljanja mozemo zapisati kao:
x(t) = x(t) + x(t), (9)
u(t) = u(t) + u(t), (10)
6
gdje su x(t) i u(t) male varijacije oko referentnog vektora stanja i upravljanja.
Uvrstimo li (9) i (10) u (8) dobijamo
x(t) + ˙x(t) = f(x(t) + x(t), u(t) + u(t), t).
Razvijemo li i-tu komponentu (i = 1, . . . , n) prethodnog izraza u Taylorov red te zanemarimo
clanove drugog i visih redova, dobijamo:
xi(t) + ˙xi(t) = fi(x(t), u(t), t) +n∑
j=1
∂fi∂xj
xj(t) +n∑
j=1
∂fi∂uj
uj(t). (11)
Iz izraza (8) i (11) dobijamo:
˙xi(t) =n∑
j=1
∂fi∂xj
xj(t) +n∑
j=1
∂fi∂uj
uj(t), (12)
gdje su parcijalne derivacije u prethodnom izrazu funkcije referentnog stanja i upravljanja.
Sustav jednadzbi (12) mozemo prikazati u matricnom obliku:
˙x(t) = Ax(t) +Bu(t),
gdje su Jacobijani A(t) i B(t) definirani sa:
A(t) =
∂f1∂x1
∂f1∂x2
· ∂f1∂xn
∂f2∂x1
∂f2∂x2
· ∂f2∂xn
......
. . ....
∂fn∂x1
∂fn∂x2
· ∂fn∂xn
B(t) =
∂f1∂u1
∂f1∂u2
· ∂f1∂un
∂f2∂u1
∂f2∂u2
· ∂f2∂un
......
. . ....
∂fn∂u1
∂fn∂u2
· ∂fn∂un
.U slucaju da su referentni vektori konstantni imamo linearni vremenski neovisni sustav.
Upravo to je slucaj u ovom primjeru i ovom linearizacijom dobijamo sljedeci sustav:
x(t) = Ax(t) +Bu(t), x(t0) = x0,
y(t) = Cx(t),
7
gdje je
A =∂f
∂x
∣∣∣(x0,u0)
=
=
0 1 0 0
ω20 +
2α
d300 0 2d0ω0
0 0 0 1
0−2ω0
d00 0
,
B =∂f
∂u
∣∣∣(x0,u0)
=
0 01 00 0
01
d0
,C =
∂h
∂x
∣∣∣(x0,u0)
=
[1 0 0 00 0 1 0
].
3 QR faktorizacija s pivotiranjem
QR faktorizaciju s pivotiranjem u ovom radu spominjemo zato sto ce nam trebati za
numericki efikasno provjeravanje upravljivosti. Krenimo od same QR faktorizacije.
Za matricu A ∈ Rm×n rastav na produkt ortogonalne matrice Q ∈ Rm×m i gornje tro-
kutaste matrice R ∈ Rm×n, tako da vrijedi A = QR, nazivamo QR faktorizacija (rastav)
matrice A.
Napomenimo da je realna kvadratna matrica Q ortogonalna ako vrijedi QTQ = I, a ma-
tricu R zovemo gornje trokutastom ako su joj elementi ispod glavne dijagonale jednaki nula.
Za matricu R ∈ Rm×n s elementima rij, kazemo da se elementi rii, i = 1, . . . ,min{m,n}nalaze na glavnoj dijagonali.
QR faktorizacija moze se izracunati na vise razlicitih nacina. Gram–Schmidtov postupak
ortogonalizacije jedan je od tih nacina, ali je numericki nestabilan, zato se za QR faktori-
zaciju najcesce koriste Householderove transformacije (za oba nacina vidi [8]). Givensove
rotacije su jos jedna metoda za racunanje QR faktorizacije koja se posebno koristi kada su
u pitanju strukturirane matrice i upravo ta metoda bit ce obradena u ovom radu.
8
3.1 Givensove rotacije
3.1.1 Matrice rotacije
Matrica MR ∈ R2×2 je matrica rotacije u ravnini za koju vrijedi
MR =
[cosφ − sinφsinφ cosφ
], (13)
gdje je φ kut rotacije suprotan smjeru rotacije kazaljke na satu.
Slika 3.1 prikazuje kako matrica MR rotira bazne vektore e1 i e2. Kako na temelju slike
3.1 pokazati da je (13) stvarno matrica rotacije mozete vidjeti u [7].
x
y
−1 0 1
−1
1
e1
e2e′1
e′2
sinφ
cosφ
sinα
cosα
φ
φα
Slika 3.1: Rotacija u xOy ravini
Matrica M je regularna, ortogonalna i cuva euklidsku normu, takoder produkt matrica
rotacije je opet matrica rotacije. Vise mozete vidjeti u [7].
Takoder, matrica MR(i, k, φ) ∈ Rn×n je matrica rotacije za kut φ (u ravnini odredenoj s
kanonskim vektorima i i k) ukoliko je zadana na sljedeci nacin:
MR(i, k, φ) =
1 · · · 0 · · · 0 · · · 0...
. . ....
. . ....
. . ....
0 · · · cosφ · · · − sinφ · · · 0...
. . ....
. . ....
. . ....
0 · · · sinφ · · · cosφ · · · 0...
. . ....
. . ....
. . ....
0 · · · 0 · · · 0 · · · 1
,
pri cemu se podmatrica
[cosφ − sinφsinφ cosφ
]nalazi na presjeku i-tog i k-tog retka odnosno
stupca.
9
3.1.2 Givensove rotacije
Givensove rotacije G su matrice rotacije koje su dobile ime po americkom matematicaru
Jamesu Wallaceu Givensu. To su matrice koje rotiraju vektore u ravnini tako da drugu
komponentu poniste, odnosno postave na nulu, tj. ako imamo vektor x =[x1 x2
]T ∈ R2
matrica G ce na njega djelovati na sljedeci nacin:
Gx =
[cosφ − sinφsinφ cosφ
] [x1x2
]=
[y10
].
Iz sljedeceg sustava odredujemo koliki su sinφ i cosφ
x1 cosφ− x2 sinφ = y1,
x1 sinφ+ x2 cosφ = 0.
Za vrijednosti sinφ i cosφ za x ∈ Rn dobije se
cosφ =x1√x21 + x22
, sinφ =−x2√x21 + x22
, (14)
a sam postupak racunanja kuta te algoritam koji izbjagava “overflow” mozete pronaci u [5],
[7] kao i prikaz mnozenja matrica Givensovim matricama.
Takoder za matrice iz Rn×n mozemo konstruirati odgovarajuce Givensove rotacije. To su
matrice oblika
G(i, k, φ) =
1 · · · 0 · · · 0 · · · 0...
. . ....
. . ....
. . ....
0 · · · cosφ · · · − sinφ · · · 0...
. . ....
. . ....
. . ....
0 · · · sinφ · · · cosφ · · · 0...
. . ....
. . ....
. . ....
0 · · · 0 · · · 0 · · · 1
,
pri cemu se podmatrica
[cosφ − sinφsinφ cosφ
]nalazi na presjeku i-tog i k-tog retka odnosno
stupca, ostali dijagonalni elementi su jednaki 1, a preostali elementi izvan dijagonale su
jednaki 0.
Analogno prethodno opisanom dvodimenzionalnom problemu, vrijednosti sinφ i cosφ se
racunaju na prethodno opisani nacin, tj. za x ∈ Rn
cosφ =xi√
x2i + x2k, sinφ =
−xk√x2i + x2k
. (15)
10
Tada djelovanjem Givensove rotacije G(i, k, φ) ∈ Rn×n na vektor x dobijamo vektor y ∈ Rn
oblika:
yj =
xj, za j 6= i, j 6= k,
0, za j = k,x2i + x2k√x2i + x2k
, za j = i,
,
odnosno ponistavamo k-tu komponentu vektora x, i-tu mijenjamo dok ostale komponente
ostaju nepromijenjene.
3.2 QR faktorizacija koristeci Givensove rotacije
Kako smo vec spomenuli, QR faktorizacija je rastav matrice A na dvije matrice A = QR, za
koje vrijedi da je Q ortogonalna, a R gornje trokutasta.
Teorem 3.1. Za bilo koju matricu A ∈ Rm×n, gdje je m ≥ n postoje matrice Q ∈ Rm×m i
R ∈ Rm×n takve da je A = QR, pri cemu je Q ortogonalna, a R gornje trokutasta matrica.
Dokaz 3.1. Dokaz ovog teorema pomocu Gram-Schmidtovog postupka ortogonalizacije mozete
naci u [8, str. 84].
U ovom potpoglavlju cemo pokazati kako se QR faktorizacija moze izracunati pomocu
Givensovih rotacija.
Neka je A ∈ Rm×n matrica, gdje je m ≥ n. Kako Givensove rotacije ponistavaju samo
jedan element u matrici koju mnozimo mi cemo s Gl(i, k, φ) ∈ Rm×m oznaciti matricu koja
ponistava element akl (element u k-tom retku i l-tom stupcu), a kut φ izracunava za zadane
ail i akl. Ponistavanje cemo vrsiti po sljedecem algoritmu:
U prilogu mozete pronaci funkcije za racunanje kuta s Givensovim rotacijama te za QR
Algoritam 1 (QR faktorizacija pomocu Givensovih rotacija)
Ulaz: A ∈ Rm×n
Izlaz: R ∈ Rm×n gornje trokutasta, Q ∈ Rm×m ortogonalna1: R = A, Q = I2: for l = 1, . . . , n do3: for i = m, . . . , l + 1 do4: izracunati kut φ (tj. elemente Givensove rotacije Gl(i− 1, i, φ))5: R = Gl(i− 1, i, φ)R (ponistava element ail)6: Q = QGl(i− 1, i, φ)T
7: end for8: end for
faktorizaciju pomocu Givensovih rotacija.
11
3.3 Svojstva QR faktorizacije
Teorem 3.1 nam govori da QR faktorizacija postoji. Sljedeca dva teorema govore o poveza-
nosti matrice Q sa slikom od A i ortogonalnim komplementom od slike od A, tj. range(A) i
range(A)⊥ te o jedinstvenosti QR faktorizacije.
Teorem 3.2. Neka je A ∈ Rm×n, rang(A) = n ≤ m, A = QR, QR faktorizacija te neka su
A = [a1, a2, . . . , an] i Q = [q1, q2, . . . , qm] zapisane pomocu pripadnih vektora stupaca, tada
vrijedi
span{a1, . . . , ak} = span{q1, . . . , qk}, ∀k = 1, . . . , n.
Posebno, ako je Q1 = Q(1 : m, 1 : n) i Q2 = Q(1 : m,n+ 1 : m) tada vrijedi
range(A) = range(Q1) (16)
range(A)⊥ = range(Q2) (17)
i A = Q1R1, gdje je R1 = R(1 : n, 1 : n).
Dokaz 3.2. Pokazimo prvo da se odgovarajuce linearne ljuske podudaraju. Kako vrijedi da
je A = QR, tada se k-ti stupac od A moze zapisati na sljedeci nacin:
ak =k∑
i=1
rikqi
jer je R gornje trokutasta matrica pa ce se qj, j > k, mnoziti s 0. Iz ovoga slijedi da je
ak ∈ span{q1, . . . , qk}, odnosno
span{a1, . . . , ak} ⊆ span{q1, . . . , qk}.
Kako je matrica A punog ranga stupaca, dimenzija od span{a1, . . . , ak} je k. Stoga mora
vrijediti
span{a1, . . . , ak} = span{q1, . . . , qk}.
Kako je slika jednaka linearnoj ljusci vektora stupaca, vrijedi jednadzba (16).
Iz definicije ortogonalnog komplementa vrijedi:
range(A)⊥ = {y ∈ Rm : yTx = 0,∀x ∈ range(A)}.
A kako je Q = [Q1, Q2] ortogonalna matrica, vrijedi da je
range(Q1)⊥ = range(Q2),
stoga je i
range(A)⊥ = range(Q2).
12
Takoder jednostavno se pokaze da vrijedi A = Q1R1. Naime, koristeci odgovarajuce blok
particioniranje imamo
A = QR = [Q1, Q2]
[R1
0
]= Q1R1.
Uvedimo pojam Cholesky faktora matrice A ∈ Rn×n.
Teorem 3.3. Neka je A ∈ Rn×n simetricna pozitivno definitna matrica, tada postoji je-
dinstvena donje trokutasta matrica G ∈ Rn×n s pozitivnim dijagonalnim elementima za koju
vrijedi A = GGT .
Dokaz 3.3. Dokaz mozete vidjeti u [5, str. 143].
Matricu G iz prethodnog teorema zovemo Cholesky faktor.
Teorem 3.4. Neka je A ∈ Rm×n, rang(A) = n ≤ m. Tada je faktorizacija A = Q1R1
jedinstvena, gdje Q1 ∈ Rm×n ima ortogonalne stupce, a R1 ∈ Rn×n je gornje trokutasta
matrica s pozitivnim elementima na dijagonali. Stovise, R1 = BT , gdje je B donji trokutasti
Cholesky faktor od ATA.
Dokaz 3.4. Dokaz mozete vidjeti u [5, str. 230].
3.4 Matrice permutacije
Definicija 3.1. Matrica permutacije je matrica kojoj su elementi nule ili jedinice i koja u
svakom retku i u svakom stupcu ima tocno jednu jedinicu.
Primijetimo da je jedinicna matrica takoder matrica permutacije.
Primjer 3.1. Mnozenjem neke matrice A ∈ R4×4 zdesna matricom
Π =
0 0 0 10 0 1 01 0 0 00 1 0 0
,prvi stupac ce se naci na mjestu cetvrtog, drugi na mjestu treceg, treci na mjestu prvog,
te cetvrti na mjestu drugog. U slucaju kada bi imali mnozenje slijeva tada bi se prvi redak
nasao na mjestu treceg retka, drugi na mjestu cetvrtog, treci na mjestu drugog i cetvrti na
mjestu prvog.
ΠA = Π[ar1 , ar2 , ar3 , ar4 ]T = [ar4 , ar3 , ar1 , ar2 ]
T
AΠ = [as1 , as2 , as3 , as4 ]Π = [as3 , as4 , as2 , as1 ].
13
3.5 QR faktorizacija s pivotiranjem
U slucaju da A ∈ Rm×n nije punog ranga stupaca (rang(A) < n), opcenito QR faktorizacijom
necemo dobiti ortogonalnu bazu za range(A).
Primjer 3.2. Neka je A ∈ R3×3, rang(A) = 2, te neka se QR faktorizacijom dobije sljedece
A = [a1, a2, a3] = [q1, q2, q3]
1 1 10 0 10 0 1
.Vidimo da je range(A) razlicito od svih potprostora span{q1, q2}, span{q1, q3}, span{q2, q3}.Odnosno cijelu sliku matrice A ne mozemo dobiti sa samo dva vektora stupca matrice Q, jer
je a3 = q1 + q2 + q3.
Ovaj problem mozemo rijesiti ukoliko koristimo QR faktorizaciju s pivotiranjem, te na
taj nacin dobijamo sljedece:
AΠ = QR,
gdje je Π matrica permutacije.
Algoritam 1 se moze modificirati tako da dobijemo ortogonalnu bazu za range(A). Mo-
dificiranim algoritmom dobijemo sljedecu faktorizaciju:
QTAΠ =
[ ]R11 R12 r0 0 m− rr n− r
,
gdje je r = rang(A), Q ortogonalna matrica, R11 gornje trokutasta s pozitivnim elementima
na dijagonali te Π matrica permutacije.
U nastavku cemo opisati kako se navedena QR faktorizacija s pivotiranjem moze izracunati.
Ako je AΠ = [ac1 , ac2 , . . . , acn ] i Q = [q1, q2, . . . , qn], tada vrijedi
ack =
min{r,k}∑i=1
rikqi, ∀k = 1, . . . , n.
Ako je rang(A) = r < n, tada postoji k > r te vrijedi ack ∈ span{q1, . . . , qr}, odnosno
range(A) = span{q1, . . . , qr}.
14
Matricu Q dobijemo mnozenjem Givensovih matrica, a matricu Π mnozenjem matrica per-
mutacije.
Pretpostavimo da za neki k imamo izracunat odgovarajuci umnozak Givensovih matrica
(Gk−1 · · ·G1), gdje je Gk−1 takoder umnozak Givensovih matrica koje ponistavaju elemente
u k − 1 stupcu, i matrica permutacije (Πk−1 · · ·Π1) tako da vrijedi:
Gk−1 · · ·G1AΠk−1 · · ·Π1 =
[ ]R
(k−1)11 R
(k−1)12 k − 1
0 R(k−1)22 m− k + 1
k − 1 n− k + 1
,
gdje je R(k−1)11 gornje trokutasta s pozitivnim elementima na dijagonali.
Nadalje, neka je
R(k−1)22 = [zk−1k , . . . , zk−1n ],
gdje su zk−1k , . . . , zk−1n stupci matrice R(k−1)22 te neka je p ≥ k najmanji indeks za koji vrijedi:
||zk−1p ||2 = max{||zk−1k ||2, . . . , ||zk−1n ||2}.
Primijetimo ako je rang(A) = k − 1, tada je ovaj maksimum jednak 0 i tu stajemo, u
suprotnom , neka je Πk matrica permutacije koja mijenja stupce p i k te neka je Gk umnozak
Givensovih matrica koji ce ponistiti elemente u k-tom stupcu, tako da je R(k) = GkR(k−1)Πk
te da vrijedi R(k)(k + 1 : m, k) = 0.
Drugim rijecima matrica permutacije Πk ce dovesti na k-tu poziciju onaj stupac matrice
R(k−1)22 koji je po normi najveci te ce matrica Gk ponistiti sve elemente tog stupca koji se
nalaze ispod dijagonale.
Norme vektora stupaca ne moraju se u potpunosti racunati ponovo. Kada bi racunali
normu cijelog stupca nakon k − 1 koraka, bilo bi nam potrebno m(m− 1)(n− k) operacija
jer imamo m mnozenja m− 1 zbrajanje te n− k stupaca.
Kako bi smanjili broj operacija prisjetimo se svojstva Givensovih matrica da cuvaju
euklidsku normu. Ako je
QT z = z =
[ ]α 1w s− 1
,
15
tada je
||w||2 = ||z||2 − α2,
pa nove vrijednosti norme racunamo na sljedeci nacin:
||z(k)j ||2 = ||z(k−1)j ||2 − r2kj.
Stoga, nove vrijednosti normi mozemo izracunati u 2(n − k) operacija. Primijetimo, u
pocenom koraku morat cemo racunati norme koristeci m2n operacija.
Sljedecim algoritmom opisana je QR faktorizacija koristeci Givensove rotacije s pivotira-
njem. U algoritmu je s nv(r) oznacen kvadrat norme vektora stupca r, s piv(r) je oznaceno
s kojim stupcem je zamjenjen stupac r.
Algoritam 2 (QR faktorizacija pomocu Givensovih rotacija s pivotiranjem)
Ulaz: A ∈ Rm×n, m ≥ nIzlaz: R ∈ Rm×n gornje trokutasta, Q ∈ Rm×m ortogonalna, r = rang(A), Π matrica
permutacije1: for j = 1, . . . , n do2: nv(j) = A(1 : m, j)TA(1 : m, j)3: end for4: R = A, Q = I, Π = I5: r = 06: odredi najmanji indeks k za koji vrijedi da je τ = max
k′=1,...,nnv(k′)
7: while τ > 0 do8: r = r + 19: piv(r) = k10: zamjeni mjesta stupcima r i k u matricama R, Π te zamjeni vrijednosti od nv(r) i
nv(k)11: for i = m, . . . , r + 1 do12: izracunati kut φ (tj. elemente Givensove rotacije Gr(i− 1, i, φ))13: R = Gr(i− 1, i, φ)R (ponistava element air)14: Q = QGr(i− 1, i, φ)T
15: end for16: for j = r + 1, . . . , n do17: nv(j) = nv(j)−R(r, j)2
18: end for19: if r < n then20: odredi najmanji indeks k za koji vrijedi da je τ = max
k′=r+1,...,nnv(k′)
21: else22: τ = 023: end if24: end while
16
Primjer 3.3. Primijenite algoritam 2 na matricu
A =
1 2 32 4 61 8 92 16 18
.Rjesenje.
Pripadne norme vektora stupaca su redom: 10, 340, 450, stoga moramo zamijeniti prvi i zad-
nji stupac. Nakon zamijene ponistavamo elemente u prvom stupcu i dobijamo sljedece:
A =
−21.2132 −18.3848 −2.8284
0.0000 −0.6061 0.60610.0000 −1.2778 1.2778
0 0 0
, r = 1.
Vidimo da su u sljedecem koraku norme jednake, iznose 2, pa ne izvrsavamo nikakvu za-
mjenu. Ponistavanjem elemenata u drugom stupcu dobijamo:
A =
−21.2132 −18.3848 −2.8284
0.0000 1.4142 −1.41420.0000 −0.0000 0.0000
0 0 0
, r = 2.
Nakon ovog ponistavanja nove norme vektora stupaca su 0, stoga algoritam staje. QR
faktorizacija je sljedeca:
AΠ =
1 2 32 4 61 8 92 16 18
0 0 1
0 1 01 0 0
=
−0.1414 −0.4243 0.8944 0−0.2828 −0.8485 −0.4472 0−0.4243 0.1414 −0.0000 0.8944−0.8485 0.2828 −0.0000 −0.4472
−21.2132 −18.3848 −2.8284
0.0000 1.4142 −1.41420.0000 −0.0000 0.0000
0 0 0
= QR,
a rang(A) = 2.
17
3.6 Numericki rang
Pogledajmo sljedeci primjer:
Primjer 3.4. Odredite rang matrice
A =
1 2 32 4 61 8 9 + 1
2e−5
2 16 18 + e−5
.Rjesenje.
Primijetimo rang ove matrice ne razlikuje se od ranga matrice u prethodnom primjeru, jer
su u oba primjera drugi i cetvrti redak skalarni umnosci broja 2 i redom prvog i treceg retka,
ali kao rezultat primjene algoritma 2 dobili smo rangA = 3. Do ove pogreske doslo je zbog
zaokruzivanja. Kriterij za nastavak faktorizacije u algoritmu 2 je da je τ tocno nula, a u
ovom primjeru smo u trecem koraku dobili da je τ = 5.3069e−14, sto je dovoljno malo, s
obzirom na strojnu tocnost, da bi se smatralo nulom te bismo faktorizaciju trebali zavrsiti
u prethodnom koraku i dobiti da je rangA = 2.
Upravo zbog ove greske uveden je drugi kriterij za odredivanje treba li u k-tom koraku
stati s algoritmom.
Pretpostavimo da nakon k koraka imam sljedecu faktorizaciju
QT (k)AΠ(k) =
[ ]R
(k)11 R
(k)12 k
0 R(k)22 m− k
k n− k,
tada je zaustavni kriterij
||R(k)22 ||2 ≤ ε||A||2,
gdje je ε strojna tolerancija.
Stoga mozemo zakljuciti da bi smo dobili tocniji rezultat ranga, dovoljno je u algo-
ritmu 2 umjesto τ > 0 staviti ||R(r + 1 : m, r + 1 : n)||2 > ε||A||2, jer je R(k)22 isto sto i
R(r + 1 : m, r + 1 : n) u algoritmu 2.
Rang koji se racuna na ovakav nacin nazivamo numericki rang.
Ovom problemu moze se pristupiti i drugacije. Ukoliko odredimo singularne vrijednosti
matrice A, σ1, . . . , σn, tada matrica A ima numericki rang k ukoliko vrijedi sljedece:
σ1 ≥ · · · ≥ σk > ε > σk+1 ≥ · · · ≥ σn ≥ 0,
18
gdje je ε stojna tolerancija. Mozemo reci da ce matrica A imati rang k ukoliko nakon k
singularnih vrijednosti primijetimo znacajno opadanje.
Primjietimo, primijenimo li algoritam 2 s promijenjenim zaustavnim kriterijem, uz tole-
ranciju ε = e−6 dobit cemo da je rangA = 2, jer je nakon drugog koraka
ε||A||2 = e−6 · 28.2243 = 2.8224e−5,
||R(3 : 4, 3)||2 = 4.4720e−11.
Vidimo da vrijedi nejednakost:
ε||A||2 ≥ ||R(3 : 4, 3)||2
te algoritam staje.
Pogledajmo jos i sljedeci primjer:
Primjer 3.5. Kada za matricu
A =
10 0 0 0 0 00 9 0 0 0 00 0 8 0 0 00 0 0 e−10 0 00 0 0 0 e−1 00 0 0 0 0 e−9
ne bismo racunali numericki rang, rekli bismo da je rangA = 6, no racunamo li numericki
rang uz toleranciju ε = e−6 vrijediti ce sljedece rangA = 4.
U prilogu mozete pronaci Matlab funkciju (Prilog - Matlab kodovi (3.)) za racunanje QR
faktorizacije pomocu Givensovih rotacija s pivotiranjem koja racuna numericki rang matrice.
4 Upravljivost
U ovom poglavlju cemo objasniti sto je to upravljivost i navesti kriterije kako mozemo pro-
vjeriti je li neki sustav upravljiv ili nije. Takoder cemo navesti i numericki efikasan algoritam
za provjeru upravljivosti.
Definicija 4.1. Za sustav (LTI)
x(t) = Ax(t) +Bu(t), t ≥ t0, x(t0) = x0, (18)
y(t) = Cx(t) +Du(t), (19)
19
kazemo da je upravljiv, ukoliko pocevsi iz proizvoljnog stanja x0, sustav mozemo dovesti u
proizvoljno stanje x1 = x(t1) u nekom konacnom vremenu t1 tako da pravilno odaberemo
ulaz u(t), 0 ≤ t ≤ 1.
Rjesenje (LTI) sustava je dano s
x(t) = eA(t−t0)x0 +t∫
t0
eA(t−s)Bu(s) ds
y(t) = CeA(t−t0)x0 +t∫
t0
CeA(t−s)Bu(s) ds+Du(t).
(20)
Vise pogledati u [2].
Napomena 4.1. Kada je u pitanju upravljivost (LTI) sustava cesto se govori i upravljivost
para (A,B), sto objasnjava sljedeci teorem.
Iskazimo prvo teorem koji ce nam trebati u dokazu teorema o kriterijima upravljivosti.
Teorem 4.1. Hamilton - Cayley
Svaka matrica ponistava svoj karakteristicni polinom, κA(A) = 0.
Dokaz 4.1. Dokaz mozete vidjeti u [4].
Vidimo da vrijedi:
κA(A) = An + a1An−1 + · · ·+ anI = 0,
sto bi znacilo da se An moze zapisati kao linearna kombinacija od An−1, . . . , A0.
Teorem 4.2. Kriteriji upravljivosti
Neka je matrica A ∈ Rn×n, B ∈ Rn×m, m ≤ n. Sljedece tvrdnje su ekvivalentne:
1.) Sustav (LTI) je upravljiv.
2.) Kalmanov kriterij upravljivosti: Matrica dimenzije n× nm
CM = [B,AB,A2B, . . . , An−1B]
ima puni rang n .
3.) Matrica
WC =
∫ t1
0
eAtBBT eAT t dt
je regularna ∀ t1 > 0.
4.) Ako je (λ, x) svojstveni par od AT , tada xTB 6= 0.
20
5.) rang ([A− λI,B]) = n za svaku svojstvenu vrijednost od A.
6.) Svojstvene vrijednosti od A − BK mogu se proizvoljno pridruziti (uz pretpostavku da
svojstvene vrijednosti dolaze u konjugirano kompleksnim parovima) pomocu odgovarajuce
matrice K.
Dokaz 4.2. Pokazat cemo da vrijedi 1.) ⇒ 2.) ⇒ 3.) ⇒ 1.), a ostale ekvivalencije mozete
pronaci u [2].
Neka je B.S.O. t0 = 0 i x(0) = x0
1.) ⇒ 2.)
Pretpostavimo suprotno, neka je sustav upravljiv, a matrica CM nije punog ranga,
tj. rangCM < n.
Iz (20) vrijedi:
x(t1) = eAt1x0 +
t1∫0
eA(t1−t)Bu(t) dt
= eA(t1)x0 +
t1∫0
(I + A(t1 − t) +A2
2!(t1 − t)2 + · · · )Bu(t) dt
= eA(t1)x0 +B
t1∫0
u(t) dt+ AB
t1∫0
(t1 − t)u(t) dt+ A2B
t1∫0
(t1 − t)2
2!u(t) dt+ · · ·
Po Hamilton - Cayleyjevom teoremu vidimo da AnB mozemo izraziti pomocu matrica
B,AB, . . . , An−1B.
Takoder i AkB, za k ≥ n+ 1, mozemo izraziti pomocu matrica B,AB, . . . , An−1B. Tada
vrijedi da je x(t1) linearna kombinacija stupaca B,AB, . . . , An−1B.
Kako CM nije punog ranga, za neki t1, x(t1) se ne dostize te sustav nije upravljiv sto je
kontradikcija.
2.) ⇒ 3.)
Pretpostavimo suprotno, neka je matrica CM punog ranga, tj. rangCM = n, a matrica WC
je singularna, tj. ∃ v 6= 0 tako da WCv = 0, kako je WC simetricna tada je i vTWC = 0.
Pomnozimo li WC slijeva s vT i zdesna s v dobijemo:∫ t1
0
vT eAtBBT eAT tv dt = 0,
odnosno ∫ t1
0
cT (t)c(t) dt = 0,
21
gdje je c(t) = BT eAT tv. Tada vrijedi da je cT (t) = vT eAtB = 0, ∀ t, 0 ≤ t ≤ t1.
Uvrstimo li t = 0 vrijedi vTB = 0. Deriviramo li po t i uvrstimo t = 0 dobijamo: vTAB = 0.
Takoder ako dva puta deriviramo po t i uvrstimo t = 0 dobijamo vTA2B = 0. Na analogan
nacin dobijamo: vTAn−1B = 0.
Vidimo da smo nasli vektor v koji je okomit na sve stupce matrice CM koja je punog ranga.
To znaci da je v = 0, sto je kontradikcija s prepostavkom.
3.) ⇒ 1.)
Neka je WC regularna ∀ t. Pokazimo da je x(t1) = x1, za proizvoljan x1, tj. pronadimo u(t)
za koji ce to vrijediti. Uvrstimo li u (20)
u(t) = BT eAT (t1−t)W−1
C (−eAt1x0 + x1)
dobijamo:
x(t1) = eAt1x0 +
t1∫0
eA(t1−t)BBT eAT (t1−t)W−1
C (−eAt1x0 + x1) dt
= eAt1x0 +WCW−1C (−eAt1x0 + x1)
= eAt1x0 + (−eAt1x0 + x1)
= x1,
iz cega slijedi da je sustav upravljiv.
Definicija 4.2. Matricu
CM = [B,AB,A2B, . . . , An−1B]
zovemo matrica upravljivosti.
Napomena 4.2. Komponente upravljivosti
Uvjetovanost iz definicije 4.1 cesto nazivamo potpuna uvjetovanost, cime impliciramo da su
sva stanja upravljiva. Medutim, ukoliko imamo samo jedan ulaz iz u(t) = [u1(t), u2(t), . . . , um(t)]T ,
recimo uj(t), tada rang odgovarajuce n× n matrice upravljivosti CjM = [bj, Abj, . . . , A
n−1bj],
gdje je bj j-ti stupac od B, odgovara broju stanja koji su upravljivi koristeci ulaz uj(t).
Ilustrirajmo napomenu 4.2 primjerom. Razmotrimo primjer gibanja satelita, uz pripadnu
linearizaciju i d0 = 1.
Tada je
C1M = [b1, Ab1, A
2b1, A3b1] =
0 1 0 −3ω2
0 + 2α1 0 −3ω2
0 + 2α 00 0 −2ω0 10 −2ω0 0 6ω3
0 − 4ω0α
,
22
C2M = [b2, Ab2, A
2b2, A3b2] =
0 0 2ω0 00 2ω0 0 −6ω3
0 + 4αω0
0 1 0 −2ω0
1 0 −4ω20 0
,CM = [B,AB,A2B,A3B]
=
0 0 1 0 0 2ω0 −3ω2
0 + 2α 01 0 0 2ω0 −3ω2
0 + 2α 0 0 −6ω30 + 4αω0
0 0 0 1 −2ω0 0 1 −2ω0
0 1 −2ω0 0 0 −4ω20 6ω3 − 4ωα 0
.Vidimo da su matrice CM i C2
M ranga 4, sto znaci da su sva stanja upravljiva koristeci
obje sile (tj. oba ulaza) ili samo tangencijalnu silu, odnosno ulaz u2(t).
Matrica C1M je ranga 3, a to znaci da koristeci samo radijalnu silu, odnosno ulaz u1(t), jedno
od stanja nije upravljivo. Objasnimo ukratko sto je stabilnost sustava i zasto je ona vazna.
Definicija 4.3. Stanje ravnoteze dinamickog sustava
˙x(t) = Ax(t),
x(0) = x0
je vektor xe koje zadovoljava da je Axe = 0
Vidimo, ukoliko je matrica regularna jedino stanje ravnoteze je xe = 0.
Definicija 4.4. Kazemo da je stanje ravnoteze xe asmiptotski stabilno, ako za svako pocetno
stanje x0 vrijedi x(t)→ xe za t→∞.
Definicija 4.5. Za dinamicki sustav x = Ax kazemo da je stabilan ako su sve svojstvene
vrijednosti u otvorenoj lijevoj poluravnini, tj. Reλ(A) < 0. A matricu A koja zadovoljava
ovo svojstvo zovemo stabilna ili Hurwitzova matrica.
Takoder, mozemo reci da je sustav asimptotski stabilan ukoliko x(t)→ xe za t→∞
Primjer 4.1. Ukoliko u primjeru 2.1 stavimo da je
1.) m1 = 1,m2 = 0.5, k1 = 2, k2 = 0.5, k3 = 4, c1 = 1 i u2 = 0, dobit cemo sustav:
y = Ay =
0 0 1.0000 00 0 0 1.0000
−2.5000 0.5000 −0.1000 01.0000 −9.0000 0 0
y.Matrica A ima sljedece realne vrijednosti svojstvenih vrijednosti:
−0.0494,−0.0494,−0.0006,−0.0006.
Vidimo kako je ovako zadan sustav stabilan, a matrica A je Hurwitzova.
23
2.) m1 = 1,m2 = 0.5, k1 = 2, k2 = 0.5, k3 = 4, c1 = 0 i u2 = 0 sustav je sljedeci:
y = Ay =
0 0 1.0000 00 0 0 1.0000
−2.5000 0.5000 0 01.0000 −9.0000 0 0
y,a realne vrijednosti svojstvenih vrijednosti matrice A su:
0.0410e−15, 0.0410e−15,−0.2220e−15,−0.2220e−15
sto znaci da ovaj sustav nije stabilan.
Slika 4.1: Prikaz odstupanja masa od njihovog ravnoteznog polozaja
Takoder iz slike 4.1 vidimo kako se u slucaju 1.) sustav stabilizirao oko ravnoteznog
polozaja.
Vaznost stabilnosti sustava je upravo u tome sto ce neovisno o pocetnom polozaju sustav
s vremenom doci do ravnoteznog polozaja.
4.1 Dekompozicija neupravljivog sustava
Pretpostavimo da par (A,B) nije upravljiv. Neka je rang (CM) = k, k < n. Tada iduci
teorem opisuje dekompoziciju takvog sustava na upravljiv i neupravljiv dio.
Teorem 4.3. Dekompozicija neupravljivog sustava
Ako matrica upravljivosti CM ima rang k, tada postoji regularna matrica T takva da
A = TAT−1 =
[A11 A12
0 A22
], B = TB =
[B1
0
], (21)
24
gdje su matrice A11, A12, A22 redom matrice dimenzija k×k, k× (n−k) i (n−k)× (n−k),
B1 ima k redova. Nadalje par (A11, B1) je upravljiv.
Dokaz 4.3. Neka su q1, q2, . . . , qk linearno nezavisni stupci matrice CM . Nadopunimo ih do
baze sa qk+1, . . . , qn. Neka je T = [q1, q2, . . . , qn]−1, trebamo pokazati da su tada TAT−1 i
TB oblika kao u iskazu teorema.
Vrijedi:
AT−1 = [Aq1, . . . , Aqk, . . . , Aqn].
Znamo da ∀ i = 1, . . . , k se Aqi moze iskazati kao linearna kombinacija stupaca od CM , stoga
vrijedi:
AT−1 = [Aq1, . . . , Aqk, . . . , Aqn] = [q1, . . . , qk, . . . , qn]
[A11 A12
0 A22
]. (22)
Pomnozimo li jednakost (22) s T dobijamo sljedece:
TAT−1 =
[A11 A12
0 A22
].
Analogno vrijedi:
B = T−1[B1
0
], odnosno TB =
[B1
0
].
Treba jos pokazati da je par (A11, B1) upravljiv. Zapisimo matricu CM pomocu matrica A,B.
CM = [T−1B, T−1ATT−1B, . . . , T−1Ak−1
TT−1B, . . . T−1An−1
TT−1B] =
= T−1[B1 A11B1 · · · A
k−111 · · · A
n−111 B1
0 0 · · · 0 · · · 0
].
Kako po Hamilton-Cayleyjevom teoremu vrijedi da je ∀ j ≥ k, Aj
11 linearna kombincija od
Ai
11, i = 0, 1, . . . , (k − 1). Tada je
rang(B1, A11B1, · · · , Ak−111 ) = k,
sto po teoremu (4.2) znaci da je par (A11, B1) upravljiv.
Napomena 4.3. Za regularnu matricu T , (LTI) sustav mozemo supstitucijom x(t) = Tx(t)
svesti na oblik
x(t) = Ax+Bu(t),
y(t) = CT−1x(t) +Du(t).
25
Teorem 4.4. Neka je T regularna matrica takva da vrijedi A = TAT−1, B = TB. Par
(A,B) je upravljiv ako i samo ako je upravljiv i par (A,B).
Dokaz 4.4. Primijenimo teorem 4.2:
C(A,B)M = [B,AB, . . . , An−1B] = [T−1B, T−1ATT−1B, . . . , T−1A
n−1TT−1B]
= T−1[B,AB, . . . , An−1
B] = T−1C(A,B)M ,
kako je T 1 regularna matrica ona nece promjeniti rang matrice C(A,B)M , stoga vrijedi
rangC(A,B)M = rangC
(A,B)M .
Po Kalmanovom kriteriju upravljivosti, par (A,B) ce biti upravljiv ako i samo ako je upravljiv
i par (A,B).
Napomena 4.4. T mozemo odabrati da bude ortogonalna ukoliko napravimo QR dekompo-
ziciju matrice CM . Ukoliko je CM = QR, tada je T = QT .
4.2 Numericko provjeravanje upravljivosti
Prethodno navedeni teoretski vazni kriteriji upravljivosti, nazalost, ne povlace numericki
efikasne testove za provjeru upravljivosti. Provjeravanje svojstvenih vrijednosti i svojstvenih
vektora nije numericki pouzdano i stabilno, odredivanje numerickog ranga ne mora uvijek
biti pouzdan nacin za odredivanje upravljivosti, pogledajmo na primjeru.
Primjer 4.2. (Paige, 1981.)
Neka je par (A,B) zadan s
A =
1 0 · · · 00 2−1 · · · 0... 0
. . . 00 0 · · · 2−n+1
, B =
11...1
.Provjerite je li on upravljiv.
Rjesenje. Koristimo li 4. kriterij teorema 4.2 vidimo da je par (A,B) upravljiv, jer su
svojstveni vektori matrice AT lijevi svojstveni vektori matrice A, a svojstveni vektori matrice
A su vektori kanonske baze, te za sve vrijedi xTB = 1 6= 0. No, racunamo li numericki rang
matrice CM koja glasi
CM =
1 1 · · · 11 2−1 · · · 2−n+1
......
. . ....
1 2−n+1 · · · 2(−n+1)(n−1)
,26
za n = 12, uz strojnu toleranciju e−16, dobit cemo da je rang(CM) = 11 < 12. Vidimo da
kada bi gledali po ovom kriteriju par (A,B) ne bi bio upravljiv.
Stoga se u iducem potpoglavlju fokusiramo na algoritam koji daje pouzdanije, efikasnije
provjeravanje upravljivosti.
4.2.1 Numericki efikasnije provjeravanje upravljivosti
Definicija 4.6. Za matricu A ∈ Rn×n cemo reci da je u gornjoj Hessenbergovoj formi ako
vrijedi aij = 0, za i − j ≥ 2, tj. matrica A je gornje trokutasta i ima jos jednu sporednu
dijagonalu ispod glavne.
Numericki efikasno provjeravanje upravljivosti moze se dobiti redukcijom para (A,B) u
blok Hessenbergovu formu koristeci ortogonalnu transformaciju slicnosti. Primjenom algo-
ritma stvaramo ortogonalnu matricu P takvu da vrijedi
PAP T = H, gdje je H blok gornje Hessenbergova matrica
PB = B =
[B1
0
].
(23)
Forma (23) zove se upravljiva - Hessenbergova forma para (A,B), a par (H,B) zove se
upravljivi - Hessenberg par od para (A,B).
Redukcija se provodi koristeci QR faktorizaciju s pivotiranjem. Kako smo vec rekli u
ovom radu cemo za QR faktorizaciju s pivotiranjem koristiti Givensove rotacije.
Opisimo algoritam za single-input case, odnosno za slucaj kada je B vektor stupac. Neka
su A ∈ Rn×n i b ∈ Rn
1. Odredimo prvo matricu P1 koja ce u vektoru b ponistiti sve osim prvog elementa stupca,
te dobijemo
P1b =
±||b||...0
, P1APT1 =
a′11 a′12 · · · a′1n...
.... . .
...a′n1 a′n2 · · · a′nn
.2. Odredimo matricu
P2 =
1 · · · 0...
G20
,
27
gdje je G2 umnozak Givensovih rotacija koji ce ponistiti sve elemenate u prvom stupcu
matrice A, osim prva dva. Nakon ponistavanja dobijamo sljedece
P2P1APT1 P
T2 =
a′11 a′12 · · · a′1n±||a1|| a′′22 · · · a′′2n
......
. . ....
0 a′n2 · · · a′nn
.3. Analogno koraku 2. idemo na sljedeci stupac i vrsimo ponistavanja, sve dok ne do-
bijemo gornju Hessenbergovu formu. Primijetimo mnozenjem s lijeve strane radimo
ponistavanja, a zbog strukture matrice P2, mnozenjem zdesna necemo narusiti struk-
turu nula. Neka smo dosli do koraka k, odgovarajuca matrica Pk ce imati jedinice na
dijagonali prvih k − 1 stupaca, a upravo ti stupci su vec ponisteni.
Primijetimo da je matrica Pn−1 · · ·P2, zapravo matrica QT dobivena QR faktorizacijom ma-
trice A(2 : n, 1 : n), a matrica P = Pn−1 · · ·P2P1.
Sljedeci teorem povezuje prethodno opisani algoritam i upravljivost.
Teorem 4.5. Par (A, b), A ∈ Rn×n, b ∈ Rn, je upravljiv ako i samo ako je upravljiva -
Hessenbergova forma (H, b) takva da je H nereducirana gornje Hessenbergova forma, tj. ako
je hi,i−1 6= 0, i = 2, . . . , n i b1 6= 0.
Dokaz 4.5. Kako imamo transformaciju slicnosti, po teoremu (4.4), vrijedi
C(A,b)M = [b, Ab, . . . , An−1b] = [b,Hb, . . . , Hn−1b] = C
(H,b)M .
U Hessenbergovoj formi imat cemo sljedece:
H = PAP T =
h11 h12 · · · · · · h1nh21 h22 · · · · · · h2n
0 h32. . . · · · h3n
......
. . . . . ....
0 · · · 0 hn,n−1 hnn
, b = Pb =
b1...0
. (24)
Tada je
C(H,b)M =
b1 h11b1 c13 · · · c1n0 h21b1 · · · · · · c2n0 0 h21h32b1 · · · h3n...
.... . . . . .
...
0 0 0 0 h21 · · ·hn,n−1b1
.
28
Vidimo da je matrica C(H,b)M gornje trokutasta s dijagonalnim elementima b1, h21b1, h21h32b1,
. . . , h21 · · ·hn,n−1b1.
Sustav je upravljiv ako i samo ako je rangC(H,b)M = n, a rangC
(H,b)M = n ako i samo ako
je hi,i−1 6= 0, i = 2, . . . , n i b1 6= 0.
Zapisat cemo formalno algoritam za B ∈ Rm×n te iskazati teorem analogan teoremu 4.5
za B ∈ Rm×n .
Algoritam 3 (Staircase algoritam)
Ulaz: A ∈ Rn×n,B ∈ Rn×m, n ≥ mIzlaz: H ∈ Rn×n blok gornje Hessenbergova matrica, B ∈ Rn×m , P ∈ Rn×n ortogonalna
matrica1: izvrsiti QR faktorizaciju s pivotiranjem nad B, Π1 je permutacijska matrica i P1 ortogo-
nalna matrica takve da vrijedi
P1BΠ1 =
[B1
0
],
gdje je B1 ∈ Rn1×m gornje trokutasta matrica i n1 = rangB1 = rangB2: azuritati A i B
P1APT1 = H =
[H
(1)11 H
(1)12
H(1)21 H
(1)22
], B = P1B =
[B1
0
]ΠT
1 ,
gdje je H(1)21 ∈ R(n−n1)×n1 , n1 ≤ n.
3: if H(1)21 = 0 then
4: STOP5: end if6: izvrsiti QR faktorizaciju s pivotiranjem nad H
(1)21 , Π2 je permutacijska matrica i P2
ortogonalna matrica takve da vrijedi
P2H(1)21 Π2 =
[H
(∗)21
0
],
gdje je H(∗)21 ∈ Rn2×n1 gornje trokutasta matrica i n2 = rangH
(∗)21 = rangH
(1)21 , n2 ≤ n1.
7: if n1 + n2 = n then8: STOP9: end if
29
10: formiraj matricu P2 i azuriraj matricu P
P2 = diagIn1 , P2 =
[In1 0
0 P2
], P = P2P1
te azuriraj H
P2HPT2 = H =
H(1)11 H
(2)12 H
(2)13
H(2)21 H
(2)22 H
(2)23
0 H(2)32 H
(2)33
,gdje je H
(2)32 ∈ R(n−n1−n2)×n2 i H
(2)21 = H
(∗)21 ΠT
2 .
11: if H(2)32 = 0 then
12: STOP13: end if14: saH
(2)32 idi na korak 6. te nastavi analogno dalje dok jedan od if uvjeta ne bude zadovoljen
i algoritam se zavrsi
Napomena 4.5. U samoj implementaciji algortima necemo se pitati je li matrica H(k)ij = 0,
nego je li ||H(k)ij ||2 < ε||A||2, sto je vec ukljuceno u racunanje QR faktorizacije pomocu
Givensovih rotacija s pivotiranjem.
Algoritam staje u nekom koraku k ≤ n i dobijamo:
H = PAP T =
H11 H12 · · · · · · H1k
H21 H22 · · · · · · H2k
0 H32. . . · · · H3k
......
. . . . . ....
0 · · · 0 Hk,k−1 Hkk
, B = PB =
B1...0
. (25)
Matlab kod algoritma mozete pronaci u Prilogu - Matlab kodovi (4. funkcija).
Teorem 4.6. Upravljivi - Hessenberg
1. Neka je dan par (A,B), ortogonalna matrica P , konstruirana kako je prikazano u
algoritmu 3, je takva da vrijedi PAP T = H i PB = B, gdje su H i B dane s (25).
2. Ako je par (A,B) upravljiv, tada je Hk,k−1 punog ranga. U suprotnom Hk,k−1 = 0.
Dokaz 4.6. Dokaz slijedi iz konstrukcije prikazane u algoritmu 3, a detaljnije mozete vidjeti
u [2, str. 209].
30
4.2.2 Primjeri
Pokazimo jos sto se tocno dobije primjenom algoritma 3 nad primjerom 4.2 za n = 12 uz
toleranciju ε = e−6.
Matrice H i B su sljedeceg oblika:
H =
0.1666 0.2887 −0.0000 0.0000 −0.0000 0.0000 0.0000 · · ·0.2887 0.7539 −0.2664 0.0000 −0.0000 0.0000 0.0000 · · ·−0.0000 −0.2664 0.4693 −0.1774 −0.0000 −0.0000 0.0000 · · ·0.0000 −0.0000 −0.1774 0.2843 −0.1037 −0.0000 0.0000 · · ·−0.0000 0.0000 0.0000 −0.1037 0.1582 −0.0561 0.0000 · · ·0.0000 −0.0000 −0.0000 −0.0000 −0.0561 0.0834 −0.0291 · · ·0.0000 0.0000 0.0000 0.0000 0.0000 −0.0291 0.0427 · · ·0.0000 −0.0000 −0.0000 −0.0000 −0.0000 0.0000 −0.0147 · · ·−0.0000 0.0000 −0.0000 0.0000 0.0000 0.0000 0.0000 · · ·0.0000 −0.0000 0.0000 −0.0000 −0.0000 −0.0000 −0.0000 · · ·−0.0000 0.0000 −0.0000 −0.0000 −0.0000 0.0000 0.0000 · · ·0.0000 0.0000 −0.0000 0.0000 −0.0000 0.0000 −0.0000 · · ·
· · · 0.0000 −0.0000 0.0000 −0.0000 0.0000· · · 0.0000 −0.0000 0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 −0.0000 −0.0000· · · −0.0000 0.0000 −0.0000 0.0000 0.0000· · · −0.0147 −0.0000 −0.0000 0.0000 0.0000· · · 0.0214 −0.0072 −0.0000 0.0000 0.0000· · · −0.0072 0.0106 −0.0035 0.0000 0.0000· · · 0.0000 −0.0035 0.0052 −0.0016 0.0000· · · −0.0000 −0.0000 −0.0016 0.0025 0.0006· · · −0.00006 −0.0000 0.0000 0.0006 0.0012
B =
3.46410.0000−0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
.
31
Iz matrice H vidimo da cemo, primijenimo li algoritam 3 na primjer 4.2, dobiti elemente na
donjoj sporednoj dijagonali u rasponu od 10−1 do 10−4 te cemo na taj nacin dobiti da je
sustav upravljiv.
Pogledajmo primjer 2.1 uz m1 = 1, m2 = 25, k1 = 1, k2 = 0.5, k3 = 2, c1 = 1. Pripadne
matrice su
A =
0 0 1.0000 00 0 0 1.0000
−1.5000 0.5000 −0.1000 00.0200 −0.1000 0 0
, B =
0 00 0
1.0000 00 0.0400
.Primijenom algoritma 3 uz toleranciju ε = e−6 dobijamo sljedece matrice H i B:
H =
[H11 H12
H21 H22
]=
−0.1000 0 −1.5000 0.5000
0 0 0.0200 −0.10001.0000 0 0 0
0 1.0000 0 0
, B =
1.0000 0
0 0.04000 00 0
.Vidimo da je matrica
H21 =
[1.0000 0
0 1.0000
]punog ranga sto znaci da je ovako zadani sustav upravljiv.
Vec smo vidjeli da je primjer 2.2 upravljiv ukoliko u2 6= 0. No ukoliko stavimo da je
u2 = 0 te uzmemo ω0 = 2, d0 = 1 i α = 39, matrice A i B su sljedece:
A =
0 1 0 082 0 0 40 0 0 10 4 0 0
, B =
0 01 00 00 0
.Primjenom algoritma 3 uz ε = e−6 dobijamo sljedece matrice H i B:
H =
0 −23.7685 0 −78.5815
−4.1231 0 0 00 −0.9701 0 0.24250 0 0 0
, B =
−1 00 00 00 0
te vidimo kako je jedan od elemenata na sporednoj dijagonali jednak 0, sto znaci da je
sustav neupravljiv. U ovom slucaju imali smo jedan input, stoga smo gledali samo sporednu
dijagonalu, a ne blok sporednu dijagonalu, gdje su blok matrice i na dijagonali i na sporednoj
dijagonali.
32
4.3 Udaljenost do neupravljivosti
Bolja mjera od provjere upravljivosti sustava je informacija koliko je neki upravljivi sustav
udaljen od neupravljivog, tj. koliko trebamo perturbirati upravljiv sustav da bi on bio
neupravljiv. Naime, moguce je da je sustav upravljiv, ali da ce uz malu perturbaciju postati
neupravljiv.
Oznacimo mjeru udaljenosti do neupravljivosti s
µ(A,B) = min{||[∆A∆B]||2 tako da sustav (A+ ∆A,B + ∆B) nije upravljiv.}, (26)
gdje je [∆A∆B] matrica perturbacije redom matrica A i B.
Mjera µ(A,B) odreduje kolika je udaljenost upravljivog sustava (A,B) do najblizeg ne-
upravljivog sustava. Ukoliko je ta mjera mala, kazemo da je upravljivi sustav blizu ne-
upravljivog, u suprotnom, ukoliko je mjera velika, kazemo da je upravljivi sustav daleko od
neupravljivog.
Sljedeci teorem daje karakterizaciju udaljenosti do neupravljivosti.
Teorem 4.7. SVD karakterizacija udaljenosti do neupravljivosti
Udaljenost do neupravljivosti mozemo racunati na sljedeci nacin:
µ(A,B) = mins∈C
σmin(sI − A,B), gdje je σmin(sI − A,B)
najmanja singularna vrijednost matrice (sI − A,B).
Dokaz 4.7. Dokaz mozete vidjeti u [2, str. 217].
Ukoliko sustav primjenom algoritma 3 ima mali element na sporednoj dijagonali, dovoljno
ga je malo perturbitati i dobit cemo neupravljiv sustav, no obrat ne vrijedi. Ukoliko imamo
sve velike elemente na sporednoj dijagonali, sustav i dalje moze biti blizu neupravljivog.
Pogledajmo primjere:
Primjer 4.3. Neka je par (A, b) zadan s
A =
4 0.1 2 52 10 1 30 0 1 0.0001
0.01 0 2 2
, b =
1000
.Provjerite je li on upravljiv, te zatim za perturbaciju matrice A, matricu A′, provjerite je li
par (A′, b) upravljiv,
A′ =
4 0.1 2 52 10 1 30 0 1 0.0000001
0.01 0 2 2
.
33
Rjesenje.
Primjenom algortima 3 uz toleranciju ε = e−6 dobit cemo redom matrice H i H ′
H =
4 0.125 −4.9994e 2.00012 10.015− 2.9599 1.010 0.00401 1.9852 −1.9950 0 −1.1229e−4 1
,
H ′ =
4 0.125 −4.9994e 2.00012 10.015− 2.9599 1.010 0.00401 1.9852 −1.9950 0 −1.1229e−7 1
.Vidimo kako je matrica H imala mali element na sporednoj dijagonali te smo malom pertur-
bacijom matrice A, dobili matricu H ′ iz koje vidimo da par (A′, b) nije upravljiv. Takoder,
primjenom funkcije discntrl koja odreduje udaljenost do neupravljivosti dobili smo:
µ(A, b) = 5.0638e−5,
za pocetni upravljivi par (A, b) te i iz ovoga vidimo da je on blizu neupravljivog.
Vise o funkciji discntrl vidi u [2].
Primjer 4.4. Odredite udaljenost do neupravljivosti za upravljivi par (A, b).
A =
5 5 4 3 2 1
0.1 1 0 0 0 00 0.1 2 0 0 00 0 0.1 30 00 0 0 0.1 4 00 0 0 0 0.1 5
, b =
100000
.
Rjesenje. Vidimo da je par upravljiv te ne mozemo reci da ima male elemente na spored-
noj dijagonali, no primjenom funkcije discntrl koja odreduje udaljenost do neupravljivosti
dobili smo:
µ(A, b) = 4.1130e−7,
sto nam govori da je par (A, b) blizu neupravljivog.
34
5 Literatura
[1] K. Burazin, Z. Tomljanovic, I. Vuksanovic, Prigusivanje mehanickih vibracija, math.e,
Hrvatski matematicki elektronicki casopis, vol. 24
[2] B.N.Datta, Numerical methods for linear control systems, Department of Mathematical
Sciences, Northern Illinois University, 2003.
[3] J. W. Demmel, Applied Numerical Linear Algebra, SIAM, 1997.
[4] Z. Drmac, Numericka matematika, Zagreb, 2010.,
http://web.math.pmf.unizg.hr/~drmac/na001.pdf
[5] G.Golub, C.F.Van Loan, Matrix Computations, Johns Hopkins Univ Pr., 3rd edition,
1996.
[6] R. Scitovski, Numericka matematika, Sveuciliste J. J. Strossmayera u Osijeku, Odjel
za matematiku, Osijek, 2000.
[7] Z.Tomljanovic, M. Ugrica, QR dekompozicija koristeci Givensove rotacije i primjene,
Osjecki matematicki list, 14(2015), 117-141.
[8] N. Truhar, Numericka linearna algebra, Sveuciliste J. J. Strossmayera u Osijeku, Odjel
za matematiku, Osijek, 2010.
35
6 Prilog - Matlab kodovi
1. Funkcija za racunanje elemenata Givensove matrice
function [c,s] = Givens(a,b)
r = 0;
if b == 0
c = 1;
s = 0;
else if norm(b) > norm(a)
r = - a / b;
s = 1 / sqrt (1 + r * r);
c = s * r;
else r = - b / a;
c = 1 / sqrt ( 1 + r * r);
s = c * r;
end
end
2. Funkcija za odredivanje QR faktorizacije pomocu Givensovihrotacija
function [Q,A] = giv(A,b)
m = size(A,1);
n = size(A,2);
Q= eye(m);
for j = 1 : n
for i = m : -1 : j + 1
[c,s] = Givens ( A(i-1,j) , A(i,j) );
A(i-1 : i , j : n) = [c s ; -s c] ’ * A( i-1 : i, j : n);
Q(1 : m , i-1 : i) = Q(1 : m , i-1 : i)*[c s;-s c];
end
end
Q = Q( : , 1 : n)
A = A(1 : n , 1 : n)
36
3. Funkcija za odredivanje QR faktorizacije pomocu Givensovihrotacija s pivotiranjem
function [Q,A,E,r] = giv_qre(A,tol,nor)
m = size(A,1); n = size(A,2);
Q = eye(m); E = eye(n);
nv = zeros (n,1); piv = zeros(n,1);
r = 0;
for j = 1:n
nv(j) = A(1:m,j)’*A(1:m,j);
end
[tau,k] = max(nv(1:n))
while norm(A(r+1:m,r+1:n))>tol*nor
r = r+1; piv(r)=k;
tmp = E(1:n,r);
E(1:n,r) = E(1:n,k);
E(1:n,k) = tmp;
tmp = A(1:m,r);
A(1:m,r) = A(1:m,k);
A(1:m,k) = tmp;
tmp = nv(r);
nv(r) = nv(k);
nv(k) = tmp;
for i = m : -1 : r + 1
[c,s] = Givens ( A(i-1,r) , A(i,r) );
A(i-1 : i , r : n) = [c s ; -s c]’ * A( i-1 : i, r : n);
Q(1 : m , i-1 : i) = Q(1 : m , i-1 : i)*[c s;-s c];
end
for jj = r+1:n
nv(jj)=nv(jj)-A(r,jj)^2;
end
if r < n
[tau,k] = max(nv(r+1:n)); k=r+k;
else
tau=0;
end
end
end
37
4. Funkcija koja primjenjuje staricase algoritam
function [H,BB,P] = control_hessenberg_giv1 (A,B,tol)
[P1,B1,E1] = giv_qr1(B,tol,norm(B));
n = size(A,1);
BB = B1*E1’;
H1 = P1’*A*P1;
n1 = rank(BB);
n2 = n1;
H21 = H1(n1+1:n,1:n1);
P = P1’;
H = H1;
nor = norm(A);
while (norm(H21) >=nor*tol & n ~= n1)
[P22,H2,E2,r] = giv_qr1(H21,tol,nor);
n2=r;
P(n1+1:n,1:n) = P22’*P(n1+1:n,1:n);
H(n1+1:n,1:n1) = P22’*H(n1+1:n,1:n1);
H(1:n1,n1+1:n) = H(1:n1,n1+1:n)*P22;
H(n1+1:n,n1+1:n) = P22’* H(n1+1:n,n1+1:n)*P22;
H21 = H(n1+n2+1:n,n1+1:n1+n2);
n1 = n1 + n2;
end
end
38
7 Sazetak
Upravljivost linearnih vremenski neovisnih sustava bitna je u raznim granama fizike, po-
najvise u mehanici, titranju i elektricitetu. Postoje razni kriteriji za provjeravanje uprav-
ljivosti sustava, ali u ovom radu je koncentracija na numericki efikasnim provjerama uprav-
ljivosti. Koristen je i opisan staircase algoritam, a za njega je bilo potrebno napraviti nu-
mericku podlogu, koja se sastoji od QR faktorizacije s pivotiranjem te koncepta numerickog
ranga. U QR faktorizaciji su se koristile Givensove rotacije, te su i one u radu opisane.
Za kraj je opisana bolja mjera od provjere upravljivosti sustava, a to je informacija koliko
je neki upravljivi sustav udaljen od neupravljivog. Uz rad su prilozeni i Matlab kodovi za
odredivanje QR faktorizacije s pivotiranjem koristeci Givensove rotacije te implementacija
staircase algoritma.
39
8 Title and summary
Controllability of linear time-invariant system. Controllability of linear time indepen-
dent systems is essential in various branches of physics, especially in mechanics, oscillations
and electricity. There are various criteria for checking controllability of the system, but in
this case the concentration is on numerically efficient ways to check controllability. Staircase
algorithm is used and described in this paper, for which it has been necessary to make a
numerical basis, comprising the QR factorization with pivoting and concept of the numerical
rank. The QR factorization uses Givens matrices, so they are also described in the work.
In the end, we described a better measure for checking controllability of the system, and
that information gives us the distance to uncontrollability. In addition to the work there
are attached Matlab codes for determining the QR factorization with pivoting using Givens
rotations and implementation staircase algorithm .
40
9 Zivotopis
Rodena sam 2. srpnja 1991. godine u Osijeku. Zavrsila sam Osnovnu skolu Visnjevac u
Visnjevcu te III. gimnaziju u Osijeku. Tijekom osnovnoskoloskog i srednjoskolskog obrazo-
vanja sudjelovala sam na zupanijskim i drzavnim natjecanjima iz matematike, informatike
i logike. Nakon zavrsenog Sveucilisnog preddiplomskog studija matematike upisala sam
Sveucilisni diplomski studij matematike, smjer Matematika i racunarstvo.
Rektorovu nagradu za seminarski rad pod nazivom ”QR dekompozicija koristeci Given-
sove rotacije” dobila sam 2014. godine. Strucni rad u suradnji s doc. dr. sc. Zoranom
Tomljanovicem pod nazivom “QR dekompozicija koristeci Givensove rotacije i primjene”
objavljen je 2015. godine u Osjeckom matematickom listu.
Od listopada 2013. do lipnja 2015. radila sam kao demonstrator na Odjelu za matematiku
u Osijeku, a sudjelovala sam i u pripremama za natjecanje ucenika srednjih skola (2013. -
2014.).
41