Learn

The core of using NumPy effectively for linear algebra is using NumPy arrays. NumPy arrays are n-dimensional array data structures that can be used to represent both vectors (1-dimensional array) and matrices (2-dimensional arrays).

A NumPy array is initialized using the np.array() function, and including a Python list argument or Python nested list argument for arrays with more than one dimension.

For example, the following creates a NumPy array representation of a vector:

v = np.array([1, 2, 3, 4, 5, 6])

We can also create a matrix, which is the equivalent of a two-dimensional NumPy array, using a nested Python list:

A = np.array([[1,2],[3,4]])

If we print this NumPy array, it will look like the following:

[[1 2]
[3 4]]

Matrices can also be created by combining existing vectors using the np.column_stack() function:

v = np.array([-2,-2,-2,-2])
u = np.array([0,0,0,0])
w = np.array([3,3,3,3])

A = np.column_stack((v, u, w))
print(A)

Output:

[[-2  0  3]
[-2  0  3]
[-2  0  3]
[-2  0  3]]

To access the shape of a matrix or vector once it’s been created as a NumPy array, we call the .shape attribute of the array variable:

A = np.array([[1,2],[3,4]])
print(A.shape)

Here, the output will be:

(2, 2)

since there are two rows and two columns.

To access individual elements in a NumPy array, we can index the array using square brackets. Unlike regular Python lists, we can index into all dimensions in a single square bracket, separating the dimension indices with commas.

Thus in order to index the element equal to 2 in matrix A, we can do the following:

A = np.array([[1,2],[3,4]])
print(A[0,1])

The first index accesses the specific row, while the second index accesses the specific column. Note that rows and columns are zero-indexed. In this example, the output will be the following:

2

We can also select a subset or entire dimension of a NumPy array using a colon. For example, if we want the entire second column of a matrix, we can index the second column and use an empty colon to select every row as such:

A = np.array([[1,2],[3,4]])
print(A[:,1])

Output:

[2 4]

Note: [2 4] is a column vector, but it outputs in the terminal horizontally.

### Instructions

1.

In script.py, three NumPy arrays are preloaded in for you: vector_1, vector_2, and vector_3. Use .column_stack() to combine these three arrays into a 4x3 matrix. Save this value to a variable called matrix.

• vector_1 should be the first column.
• vector_2 should be the second column.
• vector_3 should be the third column.

Print out matrix as well so you see its output in the terminal.

2.

Print out the shape of matrix into the output terminal.

3.

Use array indexing to print out the third column of matrix in the output terminal.