update solutions
This commit is contained in:
parent
a0d996cbdc
commit
047410d149
250
assignment 2/iml_assignment2a_solved.ipynb
Normal file
250
assignment 2/iml_assignment2a_solved.ipynb
Normal file
File diff suppressed because one or more lines are too long
394
assignment 2/iml_assignment2b_solved.ipynb
Normal file
394
assignment 2/iml_assignment2b_solved.ipynb
Normal file
@ -0,0 +1,394 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import numpy as np"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Create a 10x50 matrix with random numbers using numpy"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"(10, 50)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"x = np.random.rand(10,50)\n",
|
||||
"# Print the shape of the matrix\n",
|
||||
"print(x.shape)"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[0.23987495 0.91661312 0.86479877 0.97246676 0.2996044 0.19370428\n",
|
||||
" 0.38302033 0.45876654 0.23953333 0.88275397 0.39823726 0.68814433\n",
|
||||
" 0.69320487 0.87894669 0.12043348 0.56381261 0.41057224 0.44619567\n",
|
||||
" 0.83936425 0.11512131 0.10305665 0.30666838 0.10695437 0.77828681\n",
|
||||
" 0.26825193 0.88529244 0.13623807 0.85569497 0.56312584 0.83247308\n",
|
||||
" 0.4950099 0.66125172 0.45603826 0.41389193 0.04471278 0.74099649\n",
|
||||
" 0.82862858 0.73879875 0.10928491 0.47473116 0.1124304 0.02034965\n",
|
||||
" 0.3651702 0.24298615 0.02315607 0.63034624 0.86772443 0.45138212\n",
|
||||
" 0.68984731 0.45618784]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# Ask from the user for a row number and print the row given\n",
|
||||
"row = int(input(\"Enter a row number: \"))\n",
|
||||
"print(x[row])\n",
|
||||
"# Do the same for a column\n",
|
||||
"col = int(input(\"Enter a column number: \"))\n",
|
||||
"print(x[:,col])"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Create the following arrays and calculate their dot product\n",
|
||||
"| 5 | 1 | 3 |\n",
|
||||
"| 1 | 2 | 1 |\n",
|
||||
"| 1 | 2 | 1 |\n",
|
||||
"\n",
|
||||
"| 1 | 2 | 3 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[5 1 3]\n",
|
||||
" [1 2 1]\n",
|
||||
" [1 2 1]]\n",
|
||||
"[[1 2 3]]\n",
|
||||
"[[16]\n",
|
||||
" [ 8]\n",
|
||||
" [ 8]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.array([[5,1,3],[1,2,1],[1,2,1]])\n",
|
||||
"tmp_array2 = np.array([[1,2,3]])\n",
|
||||
"print(tmp_array)\n",
|
||||
"print(tmp_array2)\n",
|
||||
"print(np.dot(tmp_array,tmp_array2.T))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Given the following matrices calculate their (matrix) multiplication\n",
|
||||
"A = | 1 | 0 |\n",
|
||||
"| 0 | 1 |\n",
|
||||
"\n",
|
||||
"B = | 4 | 1 |\n",
|
||||
"| 2 | 2 |\n",
|
||||
"\n",
|
||||
"c = | 1 | 2 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[4 1]\n",
|
||||
" [2 2]]\n",
|
||||
"[[1]\n",
|
||||
" [2]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# A*B\n",
|
||||
"A = np.array([[1,0],[0,1]])\n",
|
||||
"B = np.array([[4,1],[2,2]])\n",
|
||||
"print(np.dot(A,B))\n",
|
||||
"# A*c\n",
|
||||
"c = np.array([[1,2]])\n",
|
||||
"print(np.dot(A,c.T))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Find the third power of this matrix\n",
|
||||
"\n",
|
||||
"| 0 | 1 |\n",
|
||||
"| -1 | 0 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"tmp_array = np.array([[0,1],[-1,0]])\n",
|
||||
"print(np.linalg.matrix_power(tmp_array,3))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Find the determinant of this matrix\n",
|
||||
"\n",
|
||||
"| 1 | 2 |\n",
|
||||
"| 3 | 4 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"-2.0000000000000004\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.array([[1,2],[3,4]])\n",
|
||||
"print(np.linalg.det(tmp_array))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Use the functions ‘eye’ and ‘ones’ from numpy to create 4x4 matrices. Find their ranks."
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[1. 0. 0. 0.]\n",
|
||||
" [0. 1. 0. 0.]\n",
|
||||
" [0. 0. 1. 0.]\n",
|
||||
" [0. 0. 0. 1.]]\n",
|
||||
"4\n",
|
||||
"[[1. 1. 1. 1.]\n",
|
||||
" [1. 1. 1. 1.]\n",
|
||||
" [1. 1. 1. 1.]\n",
|
||||
" [1. 1. 1. 1.]]\n",
|
||||
"1\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.eye(4)\n",
|
||||
"print(tmp_array)\n",
|
||||
"print(np.linalg.matrix_rank(tmp_array))\n",
|
||||
"tmp_array = np.ones((4,4))\n",
|
||||
"print(tmp_array)\n",
|
||||
"print(np.linalg.matrix_rank(tmp_array))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Find the inverse of this matrix\n",
|
||||
"\n",
|
||||
"| 2 | 2 | 1 |\n",
|
||||
"| 1 | 3 | 1 |\n",
|
||||
"| 1 | 2 | 2 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 13,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[ 0.8 -0.4 -0.2]\n",
|
||||
" [-0.2 0.6 -0.2]\n",
|
||||
" [-0.2 -0.4 0.8]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.array([[2,2,1],[1,3,1],[1,2,2]])\n",
|
||||
"print(np.linalg.inv(tmp_array))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Find the pseudo inverse of this matrix\n",
|
||||
"\n",
|
||||
"| 2 | 8 |\n",
|
||||
"| 1 | 4 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[0.02352941 0.01176471]\n",
|
||||
" [0.09411765 0.04705882]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.array([[2,8],[1,4]])\n",
|
||||
"print(np.linalg.pinv(tmp_array))"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [
|
||||
"Find the eigenvalues and eigenvectors of this matrix\n",
|
||||
"\n",
|
||||
"| 1 | -1 |\n",
|
||||
"| 1 | 1 |"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[1.+1.j 1.-1.j]\n",
|
||||
"[[0.70710678+0.j 0.70710678-0.j ]\n",
|
||||
" [0. -0.70710678j 0. +0.70710678j]]\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"tmp_array = np.array([[1,-1],[1,1]])\n",
|
||||
"eigenvalues, eigenvectors = np.linalg.eig(tmp_array)\n",
|
||||
"print(eigenvalues)\n",
|
||||
"print(eigenvectors)\n"
|
||||
],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"source": [],
|
||||
"metadata": {
|
||||
"collapsed": false
|
||||
}
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 2
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython2",
|
||||
"version": "2.7.6"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 0
|
||||
}
|
Loading…
Reference in New Issue
Block a user