<aside> <img src="https://prod-files-secure.s3.us-west-2.amazonaws.com/210d7c5e-add3-411d-874d-cbe1c9337448/d1be9419-eaa4-4493-8a0c-598000c6788c/Untitled.png" alt="https://prod-files-secure.s3.us-west-2.amazonaws.com/210d7c5e-add3-411d-874d-cbe1c9337448/d1be9419-eaa4-4493-8a0c-598000c6788c/Untitled.png" width="40px" /> Hi, I’m Eigen the owl! I will guide you through this NumCS journey.

Whenever I appear, I will provide further insight and additional information that might be helpful. Sometimes, it will be the cosmic cutie visiting you, they will point out things that are important to remember and revise.

Have fun!

</aside>


0.1 Before We Begin:

A lot of students struggle with this course in general. Based on the time taking this course myself and also TAing this course already once before, following are the few reasons I think why they do. Understanding these might be helpful in

  1. The course doesn’t seem to have much flow.

    This course is quite different from the other theoretical courses you have seen. Many times you will struggle to see where we use what we learn. This is because this course is about the methods. In a setting, what methods can we apply to solve our problem? What are the advantages and disadvantages of a certain method? We will not focus on the concrete settings. We will have abstract settings, identify in which settings we can apply our methods to get a desired result. This also means we will look at many different concrete settings as examples without paying much time into establishing their context. This leads to our second struggle.


  2. There are so many examples. Do we need to learn all of them?

    The focus should not be trying to know the examples and each setting inside out. Focus on what methods we are applying to each setting. How are we tailoring our problem into a setting where we can apply our methods? Even in complex settings, do not panic about how to memorize the setting, instead take a step back and identify the process of method application. Ideally you should be able to play around with settings that are similar, but not exactly identical to the ones we see in class. This should be your biggest focus.


  3. The script is too big. It is overwhelming.

    Yes, the size of the script is horrible. That is why I wrote this compact script of this course. Ideally all relevant materials should be covered in the lectures and this script. You can use the official script once you have gained a good understanding and want to dive deeper or want to compare the different explanations/proofs used. If there is any error in this script, please do not hesitate to point them out to me. ;)

I hope you can somewhat enjoy this course and my job is to facilitate that for you. Please jump in and ask!


0.1 Basic Linear Algebra

0.1.1 Welcome (Again) to the Matrix

When asked what a matrix is, one may say, “hey it’s a 2D-array”. My goal this chapter is to convince you it is not. Yes, we know that something like the following is a matrix:

$$ \begin{bmatrix}1&2&3\\4&5&6\end{bmatrix} $$

If we denote the set of $m\times n$ matrices with real entries as $\R^{m,n}$, the matrix above is an element of $\R^{2,3}$. Depending on the field we draw the elements from, we can also write $\mathbb{C}^{m,n}$ or $K^{m,n}$ for any field $K$.


Linear Maps

<aside> <img src="/icons/pen_gray.svg" alt="/icons/pen_gray.svg" width="40px" />

A map/function $f$ between two $K$-vector spaces $V,W$ is linear if:

  1. $f(v+w)=f(v)+f(w)$ for all $v,w\in V$ and
  2. $f(\lambda v)=\lambda f(v)$ for all $v\in V$ and $\lambda\in K$. </aside>

This is a very useful type of functions and probably one of the “prettiest”. It respects the structure of the vector space $V$.