# Notebook from florgf88/course-content
Path: tutorials/W0D3_LinearAlgebra/student/W0D3_Tutorial1.ipynb

_____no_output_____# Tutorial 1: Vectors
**Week 0, Day 3: Linear Algebra**

**By Neuromatch Academy**

__Content creator:__ Ella Batty

__Content reviewers:__ Keith van Antwerp, Pooya Pakarian, Anoop Kulkarni

__Production editors:__ Siddharth Suresh, Ella Batty  _____no_output_____**Our 2021 Sponsors, including Presenting Sponsor Facebook Reality Labs**

_____no_output_____---
# Tutorial Objectives
*Estimated timing of tutorial: 1 hour, 25 minutes*

During today, we will learn the basics of linear algebra, focusing on the topics that underlie the material on future days in the NMA Computational Neuroscience course. In this tutorial, we focus on vectors: their definition, their properties & operations, and how we can use them to define our coordinate system.

By the end of this tutorial, you will:
* Be able to provide an example of how linear algebra is used in computational neuroscience
* Be able to describe vectors, their properties (dimensionality/length), and their operations (scalar multiplication, vector addition, dot product) geometrically
* Be able to determine and explain the number of basis vectors necessary for a given vector space
_____no_output_____

# @title Video 1: Why do we care about linear algebra?
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1vf4y1b7mr", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="qsK7pHrJU5M", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

---
# Setup

Execute the following cells to set up the notebook environment_____no_output_____

# Imports

import numpy as np
import matplotlib.pyplot as plt_____no_output_____#@title Figure settings
import ipywidgets as widgets       # interactive display
from ipywidgets import fixed
%config InlineBackend.figure_format = 'retina'
plt.style.use("https://raw.githubusercontent.com/NeuromatchAcademy/course-content/master/nma.mplstyle")_____no_output_____# @title Plotting functions
def visualize_vectors(v, v_unit):
  """ Plots a 2D vector and the corresponding unit vector

  Args:
    v (ndarray): array of size (2,) with the vector coordinates
    v_unit (ndarray): array of size (2, ) with the unit vector coordinates

  """
  fig, ax = plt.subplots()

  # Set up plot aesthetics
  ax.spines['top'].set_color('none')
  ax.spines['bottom'].set_position('zero')
  ax.spines['left'].set_position('zero')
  ax.spines['right'].set_color('none')
  ax.set(xlim = [-6, 6], ylim = [-6, 6])
  ax.grid(True, alpha=.4, linewidth=1, zorder=0)

  # Plot vectors
  v_arr = ax.arrow(0, 0, v[0], v[1], width=0.08, color='#648FFF', length_includes_head = True, zorder = 2);
  v_unit_arr = ax.arrow(0, 0, v_unit[0], v_unit[1], width=0.08, color='#DC267F', length_includes_head = True, zorder = 3);
  ax.set(xlim = [-4, 4], ylim = [-4, 4]);

  # Add legend
  leg = ax.legend([v_arr, v_unit_arr], [r"Vector $\mathbf{v}$", r"Normalized vector $\tilde{\mathbf{v}}$"], handlelength = 0, fontsize = 20, loc = 'upper left')
  for handle, label in zip(leg.legendHandles, leg.texts):
    label.set_color(handle.get_facecolor())
    handle.set_visible(False)

from matplotlib.patches import FancyArrowPatch
from mpl_toolkits.mplot3d import proj3d

class Arrow3D(FancyArrowPatch):
    def __init__(self, xs, ys, zs, *args, **kwargs):
        FancyArrowPatch.__init__(self, (0,0), (0,0), *args, **kwargs)
        self._verts3d = xs, ys, zs

    def draw(self, renderer):
        xs3d, ys3d, zs3d = self._verts3d
        xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M)
        self.set_positions((xs[0],ys[0]),(xs[1],ys[1]))
        FancyArrowPatch.draw(self, renderer)_____no_output_____

---

# Section 1: Intro to vectors_____no_output_____## Section 1.1: What is a vector?

_____no_output_____

# @title Video 2: Vector Definition & Properties
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1sX4y1P7wT", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="Vi6L9fBk2Uc", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers the definition of vectors, the dimensionality and length of vectors, and zero/unit vectors.

 Click here for text recap of video

A vector $\mathbf{x}$ can be considered from at least two perspectives: as an ordered list of numbers or as an arrow with the base at the origin of a coordinate system. These are two ways of looking at a single thing: in the arrow case, the tip of the arrow is defined by a coordinate (which can be represented by the ordered list).

The **dimensionality of a vector** is determined by the number of components in the ordered list (or the dimensionality of the space in which the arrow exists).  For example, $\mathbf{x} = \begin{bmatrix}
4 \\
2 \\
1 \\
\end{bmatrix}$ is a 3 dimensional vector. We can refer to components by $\mathbf{x}_i$ where i indicates the position of the component. In this vector, $\mathbf{x_1} = 4$, $\mathbf{x_2} = 2$, and $\mathbf{x_3} = 1$.

One defining property of a vector is its length: $||\mathbf{x}||$. This is the length of the arrow and can be computed as the square root of the sum of all components squared:
$$||\mathbf{x}|| = \sqrt{\sum_{i=1}^N \mathbf{x}_i^2} $$

We have two special types of vectors with specific names. **Zero vectors** have length 0 (and all components equal 0). **Unit vectors** have length 1. You can normalize a vector and create a unit vector, $\tilde{\mathbf{x}}$, by dividing by its length,$||\mathbf{x}||$ :

$$\tilde{\mathbf{x}} = \frac{\mathbf{x}}{||\mathbf{x}||} $$

_____no_output_____### Coding Exercise 1.1: Normalizing vectors

In this exercise, you will first create the below vector, $\mathbf{v}$, using a numpy array. You will then implement a function, `normalize_vector`, that outputs a normalized version of the input vector (by dividing each component by the vector length).  You will then visualize both the original vector and the unit vector.

First think: how do you think the normalized unit vector will compare to the original vector in terms of direction and length?

$$\mathbf{v} = \begin{bmatrix} 4 \\ 1 \\ \end{bmatrix} $$
_____no_output_____

def normalize_vector(input_vector):
  """ Normalizes a vector to length 1

  Inputs:
    input_vector (ndarray): array of shape (n_dim, ) where n_dim is the
        dimensionality of the vector

  Outputs:
    (ndarray): normalized vector of length 1
  """

  #################################################################################
  ## TODO for students: complete normalize_vector function ##
  # Fill out function and remove
  #raise NotImplementedError("Student exercise: complete normalize_vector function")
  #################################################################################

  # Compute vector length (use np.linalg.norm)
  vector_length = np.linalg.norm(input_vector)

  # Create normalized vector
  normalized_vector = input_vector / vector_length

  return normalized_vector

# Create vector v from above (use np.array)
v = np.array([4,1])

# Call the function
v_unit = normalize_vector(v)

# Visualize the vectors
visualize_vectors(v, v_unit)_____no_output_____

[*Click for solution*](https://github.com/NeuromatchAcademy/course-content/tree/master//tutorials/W0D3_LinearAlgebra/solutions/W0D3_Tutorial1_Solution_121dde78.py)

*Example output:*

_____no_output_____

Note that the unit vector still points in the same direction as the original (it overlays it). Dividing each component by a constant (the length) does not change the direction. The only change is the length - the normalized vector has a length of 1. _____no_output_____## Section 1.2: Vector operations

*Estimated timing to here from start of tutorial: 20 min*_____no_output_____

# @title Video 3: Linear Combinations of Vectors
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1rL411p7iR", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="e8Y6kNICH-8", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers vector operations: scalar multiplication, vector addition, and linear combinations.

 Click here for text recap of video

We have several mathematical operations we perform on or with vectors. **Scalar multiplication** of a vector changes its length but not its direction (except for sometimes reversing by 180 degrees as we'll see in the next demo). When we multiply a vector, $\mathbf{x}$,  by a scalar, $a$, we multiply each individual component by the scalar:

$$ a\mathbf{x} = \begin{bmatrix}
    a\mathbf{x}_1 \\ a\mathbf{x}_2 \\ \vdots \\ a\mathbf{x}_N
\end{bmatrix}$$

You can visualize **vector addition** as the stacking of the two arrows head to tail. In essence, you are moving the second vector so its base is at the tip of the first, without changing its direction. The tip of this stacked second vector is the new added vector's tip. In order words, if you visualize two vectors as sides of a parallelogram, adding them will create a vector with the 4th vertex of that parallelogram as its tip. Numerically, this means that we add the corresponding components of each vector:

 $$\mathbf{x} + \mathbf{y} = \begin{bmatrix}
           \mathbf{x}_{1} + \mathbf{y}_1 \\ \mathbf{x}_{2} + \mathbf{y}_2\\ \vdots \\ \mathbf{x}_{N} + \mathbf{y}_N
\end{bmatrix}$$

We call a group of 2 or more vectors a **set of vectors**. A **linear combination** of a set of vectors is a combination of the set using scalar multiplication and vector addition. Essentially, we are multiplying each vector in the set by a scalar and then adding all the scalar multiplied vectors together: the output of this (another vector) is a linear combination of the set. More formally defined, a vector, $\mathbf{u}$, is a linear combination of a set of vectors $\mathbf{v}^1, \mathbf{v}^2, ..., \mathbf{v}^N$ with (scalar) weights $c_1, c_2, ...c_N$ if:

$$\mathbf{u} = c_1\mathbf{v}^1 + c_2\mathbf{v}^2 + ... + c_n\mathbf{v}^N $$.

_____no_output_____### Interactive Demo: Linear combination of vectors
In the following demo, we will demonstrate a linear combination of two vectors, $\mathbf{x}$ and $\mathbf{y}$.

$$\mathbf{z} = a\mathbf{x} + b\mathbf{y}$$

where $\mathbf{x} = \begin{bmatrix}3 \\ 1 \\\end{bmatrix}$ and $\mathbf{y} = \begin{bmatrix}-1 \\ 2 \\\end{bmatrix}$.

You will play with the scalar multiples $a$ and $b$ to visualize both scalar multiplication and vector addition. Think and talk through the following questions:

1.   How does $a\mathbf{x}$ compare to $\mathbf{x}$ when $a$ is negative?
2.   How does $a\mathbf{x}$ compare to $\mathbf{x}$ when $a$ is a fraction?
3.  Can you get $\mathbf{z}$ to point to anywhere in the 2D space with combinations of $a$ and $b$?
4.  Would this be the case no matter what $\mathbf{x}$ and $\mathbf{y}$ are, as long as they are both 2D vectors?
_____no_output_____

 #@markdown Make sure you execute this cell to enable the widget! Move the sliders for “a” and “b”. After releasing the slider, be patient for a couple of seconds to see the desired change.

def plot_arrows(x, y, a_times_x, b_times_y):
  fig, ax = plt.subplots(figsize=(10, 7))

  ax.spines['top'].set_color('none')
  ax.spines['bottom'].set_position('zero')
  ax.spines['left'].set_position('zero')
  ax.spines['right'].set_color('none')

  ax.set_aspect('equal', adjustable='box')
  ax.set(xlim = [-10, 10], ylim = [-10, 10], xticks = np.arange(-10, 10), yticks = np.arange(-10, 10), xticklabels = [], yticklabels = [])

  ax.grid(alpha=.4)

  z = a_times_x + b_times_y
  z_arr = ax.arrow(0, 0, z[0], z[1], width=.08, color='k', length_includes_head = True);

  x_orig, = ax.plot([0, x[0]], [0, x[1]], '--', color='#648FFF')
  y_orig, = ax.plot([0, y[0]], [0, y[1]], '--',  color='#DC267F')

  ax_arr = ax.arrow(0, 0, a_times_x[0], a_times_x[1], width=.08, color='#648FFF', length_includes_head = True);
  by_arr = ax.arrow(0, 0, b_times_y[0], b_times_y[1], width=.08, color='#DC267F', length_includes_head = True);

  ax.plot([a_times_x[0], z[0]], [a_times_x[1], z[1]], '--k')
  ax.plot([b_times_y[0], z[0]], [b_times_y[1], z[1]], '--k')

  leg = ax.legend([x_orig, y_orig, ax_arr, by_arr, z_arr], [r"$\mathbf{x}$", r"$\mathbf{y}$", r"$a\mathbf{x}$", r"$b\mathbf{y}$", r"$\mathbf{z} = a\mathbf{x} + b\mathbf{y}$"], handlelength = 2, fontsize = 25, loc = 'center left', bbox_to_anchor=(1.05, .5))
  for handle, label in zip(leg.legendHandles, leg.texts):
      try:
          label.set_color(handle.get_facecolor())
      except:
          label.set_color(handle.get_color())
      #handle.set_visible(False)

@widgets.interact(a = widgets.FloatSlider(value=1.0, min=-2, max=2, step=0.1), b = widgets.FloatSlider(value=1.0, min=-2, max=2, step=0.1))
def plot_linear_combination(a, b):
  x = np.array([3, 1])
  y = np.array([-1, 2])

  plot_arrows(x, y, a*x, b*y)_____no_output_____

[*Click for solution*](https://github.com/NeuromatchAcademy/course-content/tree/master//tutorials/W0D3_LinearAlgebra/solutions/W0D3_Tutorial1_Solution_5ec18248.py)

_____no_output_____---
# Section 2: Defining space through vectors_____no_output_____## Section 2.1: Span & Linear Independence

*Estimated timing to here from start of tutorial: 35 min*_____no_output_____

# @title Video 4: Span and Linear Independence
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1iv411H7bK", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="g7DoHnZkUlw", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers the span of a set of vectors and when a set of vectors is linearly independent.

 Click here for text recap of video

The **span of a set of vectors** is the set of all possible linear combinations of those vectors. In the last demo, you saw that the vector $\mathbf{x}$ and the vector $\mathbf{y}$ spanned 2D space (${\rm I\!R}^2$). This means you can get to any point in 2D space (corresponding to vector $\mathbf{v}$ with some combination of $a$ and $b$, the scalar multiples in a linear combination of $\mathbf{x}$ and $\mathbf{y}$:

$$\mathbf{v} = a\mathbf{x} + b\mathbf{y}$$

Even more specifically, in this situation, each point in 2D space is identified by a unique and single combination of $a$ and $b$: if you know the point, you know what $a$ and $b$ are.

A set of vectors is linearly dependent if one can be written as a linear combination of the others. If this is not the case, the set of vectors is linearly independent.
_____no_output_____### Think! 2.1: Determing dependence

Let's say we have four vectors:

$$ \mathbf{a} = \begin{bmatrix}
    4 \\ 2 \\ 0
\end{bmatrix},  \mathbf{b} = \begin{bmatrix}
    1 \\ 0 \\ 3,
\end{bmatrix}, \mathbf{c} = \begin{bmatrix}
    5 \\ 2 \\ 3
\end{bmatrix}, \mathbf{d} = \begin{bmatrix}
    3 \\ 3 \\ 2
\end{bmatrix}$$

1. Are these vectors linearly independent or dependent? Why?
2. What is the span of the set of vectors $\{\mathbf{a}, \mathbf{b}, \mathbf{c}, \mathbf{d}\}$?
3. What is the span of the set of vectors $\{\mathbf{a}, \mathbf{b}, \mathbf{c}\}$?
4. What is the span of a set just consisting of vector $\{\mathbf{a}$} (in general terms)?
5. What is the span of the set of vectors $\{\mathbf{a}, \mathbf{b}$} (in general terms)?_____no_output_____

# @markdown Execute this cell to visualize vectors

fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
a = Arrow3D([0, 4], [0, 2],
                [0, 0], mutation_scale=20,
                lw=3, arrowstyle="-|>", color="#648FFF")

ax.add_artist(a)
b = Arrow3D([0, 1], [0, 0],
                [0, 3], mutation_scale=20,
                lw=3, arrowstyle="-|>", color="#785EF0")

ax.add_artist(b)
c = Arrow3D([0, 5], [0, 2],
                [0, 3], mutation_scale=20,
                lw=3, arrowstyle="-|>", color="#DC267F")

ax.add_artist(c)
d = Arrow3D([0, 3], [0, 3],
                [0, 2], mutation_scale=20,
                lw=3, arrowstyle="-|>", color="#FFB000")

ax.add_artist(d)

leg = ax.legend([a, b, c, d], ['a', 'b', 'c', 'd'], handlelength = 0, fontsize = 20, loc = 'upper left')
for handle, label in zip(leg.legendHandles, leg.texts):
  label.set_color(handle.get_facecolor())
  handle.set_visible(False)
ax.set(xlim = [0, 5], ylim = [5, 0], zlim = [0, 5]); #, xlabel = 'Neuron 1 Firing Rate',  ylabel = 'Neuron 2 Firing Rate', zlabel = 'Neuron 3 Firing Rate');_____no_output_____

Check out this visualization prepared by Oğul Can Yurdakul to better see the vectors: https://www.geogebra.org/3d/hherq78z!_____no_output_____[*Click for solution*](https://github.com/NeuromatchAcademy/course-content/tree/master//tutorials/W0D3_LinearAlgebra/solutions/W0D3_Tutorial1_Solution_556934c8.py)

_____no_output_____## Section 2.2: Basis vectors

*Estimated timing to here from start of tutorial: 50 min*
_____no_output_____

# @title Video 5: Basis vectors
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1Wh411h7qZ", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="kgjwmHZH-So", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers what a basis is, the standard basis, and the properties of basis vectors.

 Click here for text recap of video

If a set of vectors spans 2D space are linearly independent, they form a **basis** for 2D space.  This means that we can identify all points in 2D space with reference to these two vectors, instead of to the traditional x-axis and y-axis coordinates. In fact, you've been using a basis all along when you identify points by their x-axis and y-axis coordinates: the **standard basis**! In 2D space, the standard basis vectors ($\tilde{\mathbf{e}}_1$ and $\tilde{\mathbf{e}}_2$) are the unit vectors corresponding to the x and y axes:

$$\tilde{\mathbf{e}}_1 = \begin{bmatrix} 1\\ 0\\ \end{bmatrix} ,\tilde{\mathbf{e}}_2 = \begin{bmatrix} 0\\ 1\\ \end{bmatrix} $$

When you refer to a point on a 2D plot as (4, 2), you are really identifying the scalar multiples to get to that point as a linear combination of the standard basis. The standard basis is convenient - and what we're used to - but it is essential for a variety of applications of linear algebra (including some we'll encounter in this course) to be able to switch our frame of reference to a different basis. In this example, we can now refer to points as (a, b) where a and b are the scalar multiples to get to that point as a linear combination of $\mathbf{x}$ and $\mathbf{y}$.

Let's return to this idea of linear independence of vectors.

I've been referring to 2D space a lot but there are lots of **vector spaces** for which we can use basis vectors. We'll leave the formal definition of vector spaces to the bonus material as it's a little unwieldy but basically it's a set of vectors where all linear combinations of all vectors are included in the set. 1D space (${\rm I\!R}^1$), 2D space (${\rm I\!R}^2$), 3D space (${\rm I\!R}^3$), and so on are all vector spaces. These are not the only ones though: subsets of these vector spaces can also be vector spaces themselves. For example, a 1D line through a 2D plane is a vector space.  And we have even more unusual vector spaces - I give an example of one in the bonus material.

_____no_output_____### Think! 2.2: Figuring out a basis

Let's say we are looking at the firing rates of 3 neurons. We can represent their activity in a 3D plot, as below. It turns out that due to their tightly-linked interactions, they always fire in such a way that the point in 3D space falls along a 2D plane (that passes through the origin). Basically, every single data point we record of the firing rates of the 3 neurons falls on that plane. This is represented by the blue plane in the figure below. This 2D plane is a subspace of all of 3-D space (R3).

1) How many basis vectors would you need for the 2D plane? How many components would each basic vector have?

2) How many numbers would you need to be able to fully describe the state of the 3 neuron population at a given time?

_____no_output_____

# @markdown Execute this cell to see figure

fig = plt.figure()

# add axes
ax = fig.add_subplot(111,projection='3d')

xx, yy = np.meshgrid(range(-4, 4), range(-4, 4))
z = .7*xx + -.2*yy

# plot the plane
ax.plot_surface(xx, yy, z, alpha=0.5)

ax.set(xlim = [0, 5], ylim = [5, 0], zlim = [0, 5], xlabel = 'Neuron 1 Firing Rate',  ylabel = 'Neuron 2 Firing Rate', zlabel = 'Neuron 3 Firing Rate');
#ax.invert_xaxis()_____no_output_____

[*Click for solution*](https://github.com/NeuromatchAcademy/course-content/tree/master//tutorials/W0D3_LinearAlgebra/solutions/W0D3_Tutorial1_Solution_c3a2c8db.py)

_____no_output_____# Section 3: The dot product_____no_output_____## Section 3.1: Neural modeling using the dot product

*Estimated timing to here from start of tutorial: 1 hr, 10 min*_____no_output_____

# @title Video 6: The dot product
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1Wh411h7KM", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="Ene_TYyTdNM", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers the dot product by setting up a simple neural model of an LGN neuron where the activity is the dot product of a weights vector and a retinal firing rates vector.

 Click here for text recap of video

The dot product between two vectors is a scalar value computed as the sum of element-wise multiplication of vector components.
$$\text{Dot product of } \mathbf{x} \text{ and } \mathbf{y} = \mathbf{x} \cdot \mathbf{y} = \sum_{i=1}^{N} \mathbf{x}_i\mathbf{y}_i $$

If we have vector $\mathbf{x} = \begin{bmatrix}2\\ 3\\\end{bmatrix}$ and $\mathbf{y} = \begin{bmatrix}1\\ 4\\\end{bmatrix}$, then:
$$\mathbf{x} \cdot \mathbf{y} = 2*1 + 3*4 = 14$$.

 We will discuss more about what the dot product represents geometrically after the next demo.

We are using the dot product to model neural firing. Specifically, we have multiple retinal neurons connected to a LGN neuron. The LGN neuron response is a weighted sum of the retinal firing rates (where the weights are the strengths of the synapses). We can capture this as the dot product between a vector of retinal firing rates and a vector of weights from each retinal neuron.

In code, we can compute the dot product between two vectors represented by numpy arrays using `np.dot`:

```
x = np.array([2, 3])
y = np.array([1, 4])
dot_prod = np.dot(x, y)
```

In the following demo, we have two retinal neurons with varying firing rates ($r_1$ and $r_2$). We will allow our firing rates to be negative in this example. We can represent our retinal firing rates with the vector $\mathbf{r} = \begin{bmatrix} r_1\\ r_2\\ \end{bmatrix}$.

We have weights from each of these to an LGN neuron: the weight of the connection from the first retinal neuron is 1 and the weight from the second is 2. See the circuit below. We can represent our weights with the vector $\mathbf{w} = \begin{bmatrix} 1\\ 2\\ \end{bmatrix}$.

The LGN firing rate is the dot product of the retinal firing rate vector and the weight vector:

$$g = \mathbf{w}\cdot\mathbf{r} = w_1r_1 + w_2r_2$$
_____no_output_____![Screen Shot 2021-06-29 at 7.52.23 AM.png](data:image/png;base64,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)_____no_output_____### Interactive Demo 3.1: LGN firing

In the following demo you will try various combinations of firing rates of the retinal neurons (thus moving the vector that corresponds to the firing rates).  When you move the retinal firing rates around, you will see the heatmap in that area appear, which shows the corresponding LGN neuron firing rate (for that combo of retina firing). Remember that this value is computed as the dot product between the retinal firing rate vector and the weight vector.

Play with the following demo and then discuss these questions:

1.   For a given length of the retinal firing rate vector, what direction maximally excites the LGN neuron (highest postsynaptic firing rate)? How does it relate to the weights vector?
2.   For a given length of the retinal firing rate vector, what direction minimally excites the LGN neuron?
3.   When does the LGN neuron have 0 firing rate? What is the relationship between the weights and retinal firing rate vector?
4.   For a given direction, how does the LGN firing rate vary with length of the retinal firing rate vector?
5.   Let's say the retinal neurons are tightly linked and the length of the retinal firing rate vector has to be 1. In other words, it has to be a unit vector. How would you find the retinal firing rates that maximally excite the LGN neuron?_____no_output_____

#@markdown Make sure you execute this cell to enable the widget!

step = .1
x_vec = np.arange(-4, 4.001, step)
y_vec = np.arange(-4, 4.001, step)
n_pixels = x_vec.shape[0]

heatmap = np.zeros((n_pixels, n_pixels))
y = np.array([1, 3])
for i, coord1 in enumerate(x_vec):
  for j, coord2 in enumerate(x_vec):
    heatmap[i, j] = np.dot(np.array([coord1, coord2]), y)
circle_mask = np.zeros((n_pixels, n_pixels))

for i, coord_i in enumerate(x_vec):
  for j, coord_j in enumerate(y_vec):
    circle_mask[i, j] = np.sqrt(coord_i**2 + coord_j**2)

circle_mask = circle_mask < 4

heatmap = heatmap * circle_mask
mask = np.zeros((n_pixels, n_pixels))

def plot_heatmap(x, y, mask):

  fig, ax = plt.subplots()

  ax.spines['top'].set_color('none')
  ax.spines['bottom'].set_position('zero')
  ax.spines['left'].set_position('zero')
  ax.spines['right'].set_color('none')

  heatmap[np.where(x_vec == x[0])[0], np.where(x_vec == x[1])[0]] = np.dot(x, y)

  masked_x = np.abs(x_vec - x[0]) < 1
  masked_y = np.abs(y_vec - x[1]) < 1
  mask += np.outer(masked_x, masked_y)
  mask = np.minimum(mask, 1)

  im = ax.imshow((heatmap * mask).T, vmin = -15, vmax = 15, origin = 'lower', alpha = .5, extent=[-n_pixels/2., n_pixels/2., -n_pixels/2., n_pixels/2. ], cmap = 'bwr')
  cbar = plt.colorbar(im, ax = ax)
  cbar.set_label('Response of LGN neuron (g)', rotation=270, labelpad=20)
  ax.set(xticklabels = [], yticklabels = [], xlabel = '$\mathbf{r}_1$')
  ax.set_ylabel('$\mathbf{r}_2$', rotation=0)

  ax.xaxis.set_label_coords(0, .45)
  ax.yaxis.set_label_coords(.5, 1)
  fr_arr = ax.arrow(0, 0, (1/step)*x[0], (1/step)*x[1], width=.5, color='#40B0A6', length_includes_head = True);
  we_arr = ax.arrow(0, 0, (1/step)*y[0], (1/step)*y[1], width=.5, color='k', length_includes_head = True);

  leg = ax.legend([fr_arr, we_arr], ['Retina firing rate vector', 'Weight vector'],
                  handlelength = 0, frameon=False, fontsize = 17,loc = 'center',
                  bbox_to_anchor=(.5, -.1))
  for handle, label in zip(leg.legendHandles, leg.texts):
        label.set_color(handle.get_facecolor())
        handle.set_visible(False)

  return mask

style = {'description_width': 'initial'}

@widgets.interact(neuron1_firing = widgets.FloatSlider(value=1.0, min=-4, max=4, step=1, style=style), neuron2_firing = widgets.FloatSlider(value=1.0, min=-4, max=4, step=1, style=style), mask = fixed(mask),  heatmap = fixed(heatmap))
def plot_linear_combination(neuron1_firing, neuron2_firing, mask):
  firing_rates = np.array([neuron1_firing, neuron2_firing])
  weights = np.array([1, 2])
  mask = plot_heatmap(firing_rates, weights, mask)_____no_output_____

[*Click for solution*](https://github.com/NeuromatchAcademy/course-content/tree/master//tutorials/W0D3_LinearAlgebra/solutions/W0D3_Tutorial1_Solution_7d994e93.py)

_____no_output_____## Section 3.2: The geometry of the dot product

*Estimated timing to here from start of tutorial: 1 hr, 20 min*_____no_output_____

# @title Video 7: The geometry of the dot product
from ipywidgets import widgets

out2 = widgets.Output()
with out2:
  from IPython.display import IFrame
  class BiliVideo(IFrame):
      def __init__(self, id, page=1, width=400, height=300, **kwargs):
          self.id=id
          src = 'https://player.bilibili.com/player.html?bvid={0}&page={1}'.format(id, page)
          super(BiliVideo, self).__init__(src, width, height, **kwargs)

  video = BiliVideo(id="BV1bo4y1C7JL", width=854, height=480, fs=1)
  print('Video available at https://www.bilibili.com/video/{0}'.format(video.id))
  display(video)

out1 = widgets.Output()
with out1:
  from IPython.display import YouTubeVideo
  video = YouTubeVideo(id="S2wKFY5iWUM", width=854, height=480, fs=1, rel=0)
  print('Video available at https://youtube.com/watch?v=' + video.id)
  display(video)

out = widgets.Tab([out1, out2])
out.set_title(0, 'Youtube')
out.set_title(1, 'Bilibili')

display(out)_____no_output_____

This video covers the geometry of the dot product: how it relates to the length of the vectors and the angle between them.

 Click here for text recap of video

An alternate way of defining the dot product is as the multiple of the lengths of the two vectors and the angle between them 𝜃:

$𝐱⋅𝐲=||𝐱||||𝐲||𝑐𝑜𝑠(𝜃)$.

This means that:

- the dot product is largest when the vectors are the same direction (angle 0)

- the dot product is smallest when the vectors are the opposite direction (angle 180)

- the dot product is 0 when the vectors are perpendicular (angle 90)

- for fixed vector lengths, the dot product is a measure of similarity between the vectors_____no_output_____---
# Summary

*Estimated timing of tutorial: 1 hour, 25 minutes*

Hopefully, this tutorial has helped you better understand the world of vectors. Specifically, you learned:

* A geometrical view of vectors, their properties, and their operations

* How we can define space in terms of basis vectors

We will build on this knowledge in the next tutorial when we tackle matrices.
_____no_output_____---
# Bonus
_____no_output_____---
## Bonus Section 1: Vector space_____no_output_____## Bonus Section 1.1: Definition of vector space

A vector space is formally defined as a collection of vectors that satisfy the below axioms for every vector.

Let $\mathbf{x}$, $\mathbf{y}$, and $\mathbf{z}$ be vectors in a vector space $V$, and $c$ and $d$ be scalars.

1.   $\mathbf{x}$ + $\mathbf{y}$ in $V$
2.   $\mathbf{x}$ + $\mathbf{y}$ = $\mathbf{y}$ + $\mathbf{x}$
3.   ($\mathbf{x}$ + $\mathbf{y}$) + $\mathbf{z}$ = $\mathbf{x}$ + ($\mathbf{y}$ + $\mathbf{z}$)
4. Zero vector ($\mathbf{0}$) exists in $V$ such that $\mathbf{x} + \mathbf{0} = \mathbf{x}$
5.  Inverse $-\mathbf{x}$ exists in $V$ such that $\mathbf{x} + -\mathbf{x} = \mathbf{0}$
6.  $c\mathbf{x}$ in $V$
7.  $c(\mathbf{x}+\mathbf{y}) = c\mathbf{x} + c\mathbf{y})$
8. $(c + d)\mathbf{x} = c\mathbf{x}+d\mathbf{x}$
9. $c(d\mathbf{x}) = (cd)\mathbf{x}$
10. $1\mathbf{x} = \mathbf{x}$_____no_output_____## Bonus Section 1.2: Polynomial vector space example

We will mostly work with the vector spaces you've seen in this tutorial: different N-dimensional spaces of real numbers or subspaces within those. Other things can also be vector spaces though! As an example, one vector space is the set of all polynomials of degree 3 ($P_3$).

Remember that a polynomial of degree 3 is:
$$p(x) = c_o + c_1x + c_2x^2 + c_3x^3 $$

We can have the basis for this vector space be:
$$\text{Basis: } \{1, x, x^2, x^3\} $$

The components of a vector representing a specific polynomial would then be:
$$\mathbf{x} = \begin{bmatrix} c_0 \\c_1\\c_2\\c_3\end{bmatrix} $$

These vectors obey all of the axioms in the previous section as you add polynomials, multiple them with a scalar, etc!_____no_output_____---
## Bonus Section 2: Proof of dot product equivalent definitions

Let's prove that our two definitions of a dot product are equivalent:

\begin{align*}
\mathbf{x}\cdot\mathbf{y} &= \sum_{i=1}^N \mathbf{x}_i\mathbf{y}_i  \\
&= ||\mathbf{x}||||\mathbf{y}||cos(\theta)
\end{align*}
where $\mathbf{x}$ and $\mathbf{y}$ are vectors, and $\theta$ is the angle between them._____no_output_____![vector_diagram.png](data:image/png;base64,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)_____no_output_____We start by using the law of cosines to write out the formula for $||\mathbf{a}||$, where $\mathbf{a}$ is defined in the figure above.

$$ \begin{align*}
 \|\mathbf{a}\|^2 &= \color{blue}{\|\mathbf{x}\|^2 + \|\mathbf{y}\|^2 -2\|\mathbf{x}\|\|\mathbf{y}\|cos(\theta)}
 \end{align*} $$

We can then write $\mathbf{a}$ as a vector subtraction of $\mathbf{x}$ and $\mathbf{y}$. Technically, $\mathbf{a}$ is pictured above not starting at the origin but we ultimately only care about it's length and direction.

$$ \begin{align*}
 \mathbf{a} &= \mathbf{y} - \mathbf{x} \\
 \|\mathbf{a}\| &= \|\mathbf{y} - \mathbf{x}\| \\
  \end{align*} $$
One key fact we will use is that the squared length of a vector is the sum of each component squared, which is equivalent to the dot product of a vector with itself. We can now write $||a||^2$ in terms of the dot product. We can substitute in our definition from above for $\mathbf{a}$ in terms of $\mathbf{x}$ and $\mathbf{y}$.

\begin{align*}
 \|\mathbf{a}\|^2 &= \mathbf{a}\cdot\mathbf{a} \\
 &= (\mathbf{y} - \mathbf{x})\cdot(\mathbf{y} - \mathbf{x}) \\
 &= \mathbf{y}\cdot\mathbf{y} - 2(\mathbf{x}\cdot\mathbf{y}) + \mathbf{x}\cdot\mathbf{x} \\
&= \color{green}{\|\mathbf{y}\|^2 - 2(\mathbf{x}\cdot\mathbf{y}) + \|\mathbf{x}\|^2}\\
\end{align*}

We can now equate our two definitions for $||a||^2$ from above and solve for the dot product!

\begin{align*}
\color{blue}{\|\mathbf{x}\|^2 + \|\mathbf{y}\|^2 -2\|\mathbf{x}\|\|\mathbf{y}\|cos(\theta)} &= \color{green}{\|\mathbf{y}\|^2 - 2(\mathbf{x}\cdot\mathbf{y}) + \|\mathbf{x}\|^2}\\
 -2\|\mathbf{x}\|\|\mathbf{y}\|cos(\theta) &= - 2(\mathbf{x}\cdot\mathbf{y}) \\
\|\mathbf{x}\|\|\mathbf{y}\|cos(\theta) &= \mathbf{x}\cdot\mathbf{y} \\
\end{align*}

We see our geometrical definition of the dot product!_____no_output_____