blob: 959eb97678f2bb981b86a8b22c8f63a2762dc969 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# Opgave 1.3.1
## Del. 2
Ud fra matrix vektor muliplication kan man sige at der ganges N^2 gange.
Også vil man i hver række plus N-1 gang.
Så der plus'ses `(N-1)*N` gange.
Derfor er der
`2N^2 - N`
Floating point operationer.
## Del. 2
Her vil man bruge output buffer som intermediate variabler.
Derfor vil der være
```
A x y
N^2*s + N*s + N*s = (N^2 + 2N) * s
```
# Opgave 1.3.3
```
1.
1 3 5
2 4 6
2.
1 2
3 4
5 6
3.
1 4
2 5
3 6
4.
1 2 3
4 5 6
```
# Opgave 1.3.4
## Del 1.
m er row count B
A * B = C
```
for column c in B index i:
for row r in A index j:
i = c' * r // ' means transponere
C[j,c] = sum(i)
end
end
```
# Del 2.
A bliver addresset via kolonner, så det er bedst at bruge column major.
B bliver via rows så det er bedst at bruge row major.
# Del 3.
Yes because we multiply vektors together.
|