blob: 8f82b6d5d6e76e2ca6fccc502d17a8ffc56a0974 (
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
layout: true
---
# Why understanding of basic math is imporant for computer programing
September 21, 2018
[@mitjafelicijan](https://twitter.com/mitjafelicijan)
---
### "We Cannot Solve Our Problems With The Same Thinking We Used When We Created Them."
#### — Albert Einstein
---
## How we usually find solutions and why this is problematic?
- We search for code example instead of algorithms.
- We copy and paste and do testing on trial&error principle.
- We don't take enough time to properly understand problem we a re trying to solve.
- Brute force solutions we make are usually not optimized
---
## Math is horrible and I don't need it!
- Well, YES :) Math can be horrible but also beautiful to implement.
- Disregarding math is disregarding thousands of years of knowledge.
- Math is not only for scientists.
- Good algorithm is as optimized as your code is when you are done with it.
- Math is the search for patterns and anti-patterns in natural universe and making these findings into tools accessible to ordinary people.
---
## Coordinate Geometry
A coordinate geometry is a branch of geometry where the position of the points on the plane is defined with the help of an ordered pair of numbers also known as coordinates.

---
## Distance formula

---
## Linear Algebra
Linear algebra is the branch of mathematics concerning linear equations such as. linear functions such as. and their representations through matrices and vector spaces.

- [Graphical Linear Algebra](https://graphicallinearalgebra.net/)
- [Linear Relations](https://graphicallinearalgebra.net/2015/12/26/27-linear-relations/)
- [Diagrams in charts](https://graphicallinearalgebra.files.wordpress.com/2015/11/ih.gif)
---
## Vectors and spaces
- Space vector also called linear vector
- Vector = magnitude + direction
- Example: velocity vector (5kmh/west)

---
## Shortest path problem
In graph theory, the shortest path problem is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized.
Shortest path (A, C, E, D, F) between vertices A and F in the weighted directed graph


[Wiki: Shortest path problem](https://en.wikipedia.org/wiki/Shortest_path_problem)
---
## Dijkstra's shortest path algorithm




---
## HTML5 Canvas
- [HTML5 Canvas : Matrix Transforms](https://www.w3resource.com/html5-canvas/html5-canvas-matrix-transforms.php)
- [Visualizing linear algebra using the html5
canvas: matrices and quaternions](http://archives.math.utk.edu/ICTCM/VOL28/A007/paper.pdf)
- [Matrix rain animation using HTML5 canvas and javascript](https://codepen.io/riazxrazor/pen/Gjomdp)
- [Convoluton matrix](https://www.phpied.com/canvas-pixels-2-convolution-matrix/)
---
## Going further
- [Basic Linear Algebra for Deep Learning](https://towardsdatascience.com/linear-algebra-for-deep-learning-f21d7e7d7f23)
- [Deep learning book](https://www.deeplearningbook.org/contents/linear_algebra.html)
|