- spanning, it connects all vertices
- acylic, it's a tree
- minimal, the sum of all edge weights in the Tree is minimal
Note 1: ETH::A&D
Note Type: Horvath Cloze
GUID:
DhNROhdDaL
Before
Front
Back
- spanning, it connects all vertices
- acylic, it's a tree
- minimal, the sum of all edge weights in the Tree is minimal
After
Front
- spanning, it connects all vertices
- acylic, it's a tree
- minimal, the sum of all edge weights in the Tree is minimal
Back
- spanning, it connects all vertices
- acylic, it's a tree
- minimal, the sum of all edge weights in the Tree is minimal
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | A <b>Minimum Spanning Tree</b> is a subgraph of a {{c1:: connected, undirected, weighted}} |
A <b>Minimum Spanning Tree</b> is a subgraph of a {{c1:: connected, undirected, weighted}} graph that fullfills:<br><ul><li>{{c2:: spanning, it connects all vertices}}</li><li>{{c3:: acylic, it's a tree}}</li><li>{{c4:: minimal, the sum of all edge weights in the Tree is minimal}}</li></ul> |
Note 2: ETH::A&D
Note Type: Algorithms
GUID:
t:15}v~LmN
Before
Front
Back
We iterate over all edges in the "relaxation" thus the time complexity of that step is \(O(m)\) (the actual check is \(O(1)\)).
As we relax \(n - 1\) (or \(n\) for negative cycle check) times, the total runtime is \(O(n \cdot m)\).
After
Front
Back
We iterate over all edges in the "relaxation" thus the time complexity of that step is \(O(m)\) (the actual check is \(O(1)\)).
As we relax \(n - 1\) (or \(n\) for negative cycle check) times, the total runtime is \(O(n \cdot m)\).
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Approach | <ol>
<li><b>Initialize</b>:<br>Set the distance to the source vertex as 0 and to all other vertices as infinity.</li>
<li><b>Relax Edges</b>: <br>Repeat for V − 1 iterations (where V is the number of vertices):<br>For each edge, update the distance to its destination vertex if the distance through the edge
is smaller than the current distance.</li>
<li><b>Check for Negative Cycles</b>: <br>Check all edges to see if a shorter path can still be found. If so, the graph contains a negative- |
<ol> <li><b>Initialize</b>:<br>Set the distance to the source vertex as 0 and to all other vertices as infinity.</li> <li><b>Relax Edges</b>: <br>Repeat for V − 1 iterations (where V is the number of vertices):<br>For each edge, update the distance to its destination vertex if the distance through the edge is smaller than the current distance.</li> <li><b>Check for Negative Cycles</b>: <br>Check all edges to see if a shorter path can still be found. If so, the graph contains a negative-weight cycle.</li> <li><b>End</b>: <br>If no negative-weight cycle is found, the algorithm outputs the shortest paths.</li></ol><img src="paste-95017d19365697a9f94b52394c6bdb999dfc81d1.jpg"><br><br>(quicker to implement the edge-based approach, but there's also a vertex based approach) |
Note 3: ETH::A&D
Note Type: Algorithms
GUID:
z{8WPibSbC
Before
Front
Back
The runtime is calculated from \(O(n + (\#\text{extract-min} + \#\text{decrease-key}) \cdot \log n)\) which gives \(O((n + m) \cdot \log n)\).
After
Front
Back
The runtime is calculated from \(O(n + (\#\text{extract-min} + \#\text{decrease-key}) \cdot \log n)\) which gives \(O((n + m) \cdot \log n)\).
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Use Case | Cheapest |
Cheapest path in weighted graph with non-negative edge costs. |
Note 4: ETH::DiskMat
Note Type: Horvath Classic
GUID:
q]nbKvbP{^
Before
Front
In a field, you can:
Back
In a field, you can:
- add
- subtract
- multiply
- divide by any nonzero element.
You can divide as in a field, the multiplicative monoid is also a group (without \(0\), thus \(0\) cannot be divided by - no inverse).
After
Front
In a field, you can:
Back
In a field, you can:
- add
- subtract
- multiply
- divide by any nonzero element.
You can divide, because in a field the multiplicative monoid is also a group (without \(0\), thus \(0\) cannot be divided by - no inverse).
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Back | <ul>
<li>add</li>
<li>subtract</li>
<li>multiply</li>
<li><em>divide</em> by any nonzero element.</li>
</ul>
<p>You can divide |
<ul> <li>add</li> <li>subtract</li> <li>multiply</li> <li><em>divide</em> by any nonzero element.</li> </ul> <p>You can divide, because in a field the multiplicative monoid is also a <em>group</em> (without \(0\), thus \(0\) cannot be divided by - no inverse).</p> |
Note 5: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
FjSbP7PsTQ
Before
Front
Back
After
Front
Back
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | \(A^\dagger A\) is |
\(A^\dagger A\) is the projection matrix onto {{c1::\(C(A^\top)\)}}. |
Note 6: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
P+IBIpS^<+
Before
Front
Back
After
Front
Back
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | \(A^\dagger A\) is {{c1:: |
\(A^\dagger A\) is {{c1::symmetric::property?}}. |
Note 7: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
PCBMoNL{vn
Before
Front
Back
Thus anything in \(C(A)^\bot = N(A^\top)\) is projected to \(0\). In other words, \(\forall x \in C(A^\top)^\bot = N(A^\top)\) we have \(A^\dagger x = 0\).
We conclude that \(N(A) = C(A^\top)^\bot = N(A^\dagger)\).
After
Front
Back
Thus anything in \(C(A)^\bot = N(A^\top)\) is projected to \(0\). In other words, \(\forall x \in C(A^\top)^\bot = N(A^\top)\) we have \(A^\dagger x = 0\).
We conclude that \(N(A) = C(A^\top)^\bot = N(A^\dagger)\).
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | The <b>nullspace of </b>\( |
The <b>nullspace of </b>\(N(A) \) is equal to {{c1:: the nullspace of \(N(A^\dagger)\)}}. <i>Proof Included</i> |
Note 8: ETH::LinAlg
Note Type: Horvath Classic
GUID:
Q&0Jp*eAqN
Before
Front
Back
We are allowed to use:
- Row addition / substraction
- Exchanging rows (change sign)
- Multiply rows (multiply the determinant at the end)
After
Front
Back
We are allowed to use:
- Row addition / substraction
- Exchanging rows (change sign)
- Multiply rows (multiply the determinant at the end)
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Back | We can use G |
We can use Gauss-Jordan to make any matrix upper triangular (then the determinant is the product of the diagonals).<br><br>We are allowed to use:<br><ul><li>Row addition / substraction</li><li>Exchanging rows (change sign)</li><li>Multiply rows (multiply the determinant at the end)</li></ul> |
Note 9: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
hy_&_By5dp
Before
Front
- \(\det(A) = \det(A^T)\)
- \(\det(I) = 1\)
- \(\det(A) = 0\) if linearly dependent columns.
- Exchanging two rows flips the sign of the determinant.
- Subtracting two rows does not change the \(\det\). (we can use G-J (only row substractions) to simplify calculations…)
Back
- \(\det(A) = \det(A^T)\)
- \(\det(I) = 1\)
- \(\det(A) = 0\) if linearly dependent columns.
- Exchanging two rows flips the sign of the determinant.
- Subtracting two rows does not change the \(\det\). (we can use G-J (only row substractions) to simplify calculations…)
After
Front
- \(\det(A) = \det(A^T)\)
- \(\det(I) = 1\)
- \(\det(A) = 0\) if linearly dependent columns.
- Exchanging two rows flips the sign of the determinant.
- Subtracting two rows does not change the \(\det\). (we can use Gauss-Jordan (only row substractions) to simplify calculations…)
Back
- \(\det(A) = \det(A^T)\)
- \(\det(I) = 1\)
- \(\det(A) = 0\) if linearly dependent columns.
- Exchanging two rows flips the sign of the determinant.
- Subtracting two rows does not change the \(\det\). (we can use Gauss-Jordan (only row substractions) to simplify calculations…)
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | <ol>
<li>{{c1::\(\det(A) = \det(A^T)\)}}</li><li> |
<ol> <li>{{c1::\(\det(A) = \det(A^T)\)}}</li><li>\(\det(I) = {{c2::1}}\)</li><li>{{c3::\(\det(A) = 0\) if linearly dependent columns.}}</li><li>{{c4::Exchanging two rows flips the sign of the determinant.::Effect of row exchange?}}</li><li>{{c5::Subtracting two rows does not change the \(\det\). (we can use Gauss-Jordan (only row substractions) to simplify calculations…)::Subtraction}}</li></ol> |
Note 10: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
tjub=34aze
Before
Front
Back
After
Front
Back
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | \(AA^\dagger\) is{{c1:: |
\(AA^\dagger\) is {{c1::symmetric::property?}}. |
Note 11: ETH::LinAlg
Note Type: Horvath Cloze
GUID:
x|?8Eu84o6
Before
Front
Back
After
Front
Back
Field-by-field Comparison
| Field | Before | After |
|---|---|---|
| Text | \(AA^\dagger\) is |
\(AA^\dagger\) is the projection matrix on {{c1::\(C(A)\)}}. |