Från laborationen
Beräkningsvetenskap KF
En matris/vektor kan vara
Informationsteknologi
Vektorer, matriser och
Gausselimination
n 
n 
ett matematiskt/fysikaliskt objekt


dv
a = lim
Δt→0 dt
Vissa räkneregler definierade,
t ex skalärprodukt, matrismultiplikation etc
en datastruktur – ett sätt att lagra data.
Kallas även array
3
5
7 1D-array
2D-array
Institutionen för informationsteknologi | www.it.uu.se
Från laborationen
Från laborationen
n 
n 
I Matlab och i beräkningsvetenskap
använder vi begreppen både som
datastruktur och som matematiskt objekt
Matriser kan härröra ur lösning av linjära
ekvationssystem
Räkneregler för matriser/vektorer
inbyggda i Matlab och stämmer överens
med matematiken
Beteckningar och syntax
Matematiskt objekt
Informationsteknologi
Informationsteknologi
n 
Institutionen för informationsteknologi | www.it.uu.se
Addition/subtraktion av vektorer och
matriser sker elementvis – förutsätter att
storlekar stämmer överens
Multiplikation kan ske på olika sätt
vT u =
(
v1  vn
⎛ v1 ⎞
⎜
⎟
vuT = ⎜  ⎟
⎜ vn ⎟
⎝
⎠
(u
1
Institutionen för informationsteknologi | www.it.uu.se
vT =
v1  vn
(
⎛ a11  a1n
⎜
A=⎜  
⎜ am1  amn
⎝
I Matlab
v(i) ger det i:te elementet
i vektorn v!
v(i) = 3; i:te elementet
tilldelas värdet 3
)
⎞
⎟
⎟
⎟
⎠
A(i,j) ger elementet på
rad i kolonn j i A
A(i,j)= 4; tilldelar detta
element värdet 4
⎛ u1 ⎞
Skalärprodukt
⎜
⎟
⋅ ⎜  ⎟ = v1u1 + + vn un
⎜ un ⎟
⎝
⎠
Yttre produkt
⎛ v1u1  v1un ⎞
⎜
⎟
 un ⋅ = ⎜    ⎟
⎜ vn u1  vn un ⎟
⎝
⎠
)
)
Från laborationen
n 
Informationsteknologi
Informationsteknologi
n 
v1 ⎞
⎟
v2 ⎟
 ⎟
⎟
vn ⎠
Institutionen för informationsteknologi | www.it.uu.se
Från laborationen
n 
⎛
⎜
v=⎜
⎜
⎜
⎝
Matrismultiplikation A*B och A*v bygger på
skalärprodukter
⎛
⎜
⎜
A⋅B = ⎜
⎜
⎜⎝
⎛
⎜
⎜
A⋅v = ⎜
⎜
⎜⎝
– a1T – ⎞
⎛ aT ⋅ b  aT ⋅ b
⎟ ⎛ |
1
1
1
n
|
| ⎞
⎜
– aT2 – ⎟ ⎜
⎟



⎟ ⋅ ⎜ b1 b2  bn ⎟ = ⎜

T
T
⎟ ⎜⎝ |
| ⎟⎠ ⎜⎝ a n ⋅ b1  a n ⋅ bn
– aTn – ⎠⎟
⎛ aT ⋅ v
– a1T – ⎞
1
⎟ ⎛ | ⎞ ⎜ T
T
– a2 – ⎟ ⎜
⎜ a2 ⋅ v
⎟
⎟ ⋅⎜ v ⎟ = ⎜

⎟ ⎜⎝ | ⎟⎠ ⎜ 
⎜⎝ aTn ⋅ v
– aTn – ⎟⎠
⎞
⎟
⎟
⎟
⎠
⎞
⎟
⎟
⎟
⎟
⎟⎠
Kommutativa regler gäller ej för matriser:A*B ≠ B*A
Institutionen för informationsteknologi | www.it.uu.se
1
Från laborationen
n 
Längden (storleken) av en vektor v
beräknas med v (kallas normen av v)
2
2
2
Euklidisk norm v = v1 + v2 + + vn
n 
Finns även andra normer, dvs andra sätt
att mäta längd (senare i kursen)
n 
Absolutbeloppet av vektor inte väldefinierat. I Matlab ger det elementvist
absolutbelopp
n 
Informationsteknologi
Informationsteknologi
n 
Från laborationen
Institutionen för informationsteknologi | www.it.uu.se
Lösning av ekvationssystem
Ax = b ⇒ x = A −1b
(jfr skalärer t ex 3x = 2 => x = 3−1 ⋅ 2 )
Institutionen för informationsteknologi | www.it.uu.se
n 
n 
1 0  0 ⎞
0 1
 ⎟
⎟

 0 ⎟
0  0 1 ⎟⎠
Enhetsmatrisen motsvarar talet 1 hos
skalärer, I ⋅ B = B ⋅ I = B
För matrisinvers gäller A ⋅ A −1 = A −1 ⋅ A = I
Från laborationen
n 
Informationsteknologi
Informationsteknologi
n 
Linjära ekvationsystem kan skrivas på
matris-vektorform ⎧
3x1 − x2 + 2x3 = 8
⎪
− x3 = −1 ⇒
⎨ x1
⎪ 4x + 2x − 3x = −4
1
2
3
⎩⎪
⎛
⎞
x
⎛ 3 −1 2 ⎞
⎛ 8 ⎞
1
⎜ 1 0 −1 ⎟ ⎜ x ⎟ = ⎜ −1 ⎟ ⇒ Ax = b
⎜
⎟⎜ 2 ⎟ ⎜
⎟
⎜⎝ 4 2 −3 ⎟⎠ ⎜ x ⎟ ⎜⎝ −4 ⎟⎠
⎝ 3 ⎠
⎛
⎜
I =⎜
⎜
⎜⎝
Institutionen för informationsteknologi | www.it.uu.se
Från laborationen
n 
Enhetsmatrisen (betecknas ofta I)
Tidsåtgång vid lösning av ekvationssystem (datorberoende)
Storlek n
A-1b
\ (Gaussel.)
1000
2000
5000
10000
0.16
0.95
11.3
89.7
0.35 s
2.4 s
31.1 s
245.6 s = 4.1 min
s
s
s
s = 1.5 min
Slutsats: Beräkning med invers inte
effektiv metod – dålig algoritm
Vi ska titta på vad som döljer sig bakom \
i nästa moment i kursen
Institutionen för informationsteknologi | www.it.uu.se
2