aboutsummaryrefslogtreecommitdiff
path: root/sem4/hpp/m1/opgaver.md
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.