Great Deal! Get Instant $10 FREE in Account on First Order + 10% Cashback on Every Order Order Now

Theory (40 points/10 points each) 1. We have three vectors, v1=(1, 2, 5), v2=(4, 2, 7), and v3=(6, 6, 17). Please check that these vectors are linearly independent or not. If these three vectors are...

1 answer below »
Theory (40 points/10 points each)
1. We have three vectors, v1=(1, 2, 5), v2=(4, 2, 7), and v3=(6, 6, 17). Please check that these vectors are linearly independent or not. If these three vectors are linearly dependent, present v3 as a linear combination of v1 and v2. (you can use python code for checking linear dependency).
2. We have two vectors, v1=(2, 4, 1) and v2=(3, -1, -3). Please check that these vectors are orthogonal or not. If they are not orthogonal, please find the projected vector of v1 onto v2 (Pv2(v1)). (Do not use a python code).
3. We have a matrix, . Using rank, please check that this matrix is a singular matrix or not. If this is a singular matrix, find coefficients a and b, which satisfies this equation with 1st row (v1) and 2nd row (v2) of the matrix: av1 + bv2 = 0. (you can use a python code)
4. We have a matrix, . Calculate the inverse matrix and check this is a singular matrix or not. (you can use a python code)
Practice (60 points)
1. Least-squares (30 points) (U: uniform distribution, N: normal distribution)
a. Make 1,000 noise data by x ~ U[0, 1], y = 2+ 3x + 0.1e (e ~N(0, XXXXXXXXXXpoints)
. Do least-squares method by solving linear equation (refer to our lecture slide) and find an approximated linear function. (10 points)
c. Draw scatter plot for (x,y) and the approximated linear function on the same graph. (10 points)
2. Singular Value Decomposition (30 points) (U: uniform distribution, N: normal distribution
a. Using same data (x,y) in practice problem #1.
. Do SVD (refer to our lecture slide) and reduce a noise. (10 points)
c. Do least-squares method for denoised data from b and find an approximated linear function (10 points)
d. Draw scatter plot for denoised (x,y) and the approximated linear function on the same graph. (10 points)
Answered Same Day Oct 13, 2021

Solution

Abr Writing answered on Oct 15 2021
152 Votes
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Importing the necessary li
aries"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import sys\n",
"import matplotlib.pyplot as plt\n",
"import scipy.optimize as optimization"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Theory"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question 1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Linear Independence"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2.13798760e+01 1.70320365e+00 1.17478406e-15]\n",
"3\n"
]
}
],
"source": [
"v1 = [1,2,5]\n",
"v2 = [4,2,7]\n",
"v3 = [6,6,17]\n",
"\n",
"A = np.row_stack([v1, v2, v3])\n",
"\n",
"# MATLAB definition of tolerance\n",
"eps = np.finfo(np.linalg.norm(A).dtype).eps\n",
"TOLERANCE = max(eps * np.a
ay(A.shape))\n",
"\n",
"U, s, V = np.linalg.svd(A)\n",
"print(s)\n",
"print(np.sum(s > TOLERANCE))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2\n"
]
}
],
"source": [
"TOLERANCE = 1e-14\n",
"print(np.sum(s > TOLERANCE))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see if you choose too small a TOLERANCE, nothing looks like zero. T he finding with TOLERANCE=1e-14 implies the rows are not linearly independent. Let's see that one row can be represented as the other rows' linear combination."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The number of rows is greater than the rank, so these vectors are not independent. Let's demonstrate that one vector can be defined as a linear combination of the other two vectors. Mathematically we represent this as:\n",
"\n",
"$x_1 \\mathit{v_1} + x_2 \\mathit{v_2} = v_3$\n",
"\n",
"or\n",
"\n",
"$[x_1 x_2][v_1; v_2] = v_3$\n",
"\n",
"This is not the usual linear alge
a form of Ax = b. To get there, we transpose each side of the equation to get:\n",
"\n",
"$[v_1^T v_2^T][x_1; x_2] = v_3^T$\n",
"\n",
"which is the form Ax = b. We solve it in a least-squares sense."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[2. 1.]\n"
]
}
],
"source": [
"A = np.column_stack([v1, v2])\n",
"x = np.linalg.lstsq(A, v3, rcond=1)\n",
"print(x[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This shows that $v_3=2v_1+v_2$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We say that 2 vectors are orthogonal if they are perpendicular\n",
"to each other. i.e. the dot product of the two vectors is zero\n",
"\n",
"$(2,4,1).(3,-1,-3)=6-4-3=-1$\n",
"\n",
"Therefore, the two vectors are not orthogonal to each other. Now finding the project of $v_1$ on $v_2$.\n",
"\n",
"$Proj_{v_2}(v_1)=\\frac{v_1.u_1}{|v_2|^2}v_2=\\frac{-1}{\\sqrt{19}}(3,-1,-3)$"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question 3"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Matrix is Singular\n"
]
}
],
"source": [
"A = [[1,3],[2,6]]\n",
"if np.linalg.cond(A) < 1/sys.float_info.epsilon:\n",
" B = np.linalg.inv(A)\n",
"else:\n",
" print('Matrix is Singular')"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
jVtY8tYY
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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(-5,5,100)\n",
"y = -1/3*x\n",
"plt.plot(x, y, '-r', label='x+3y=0')\n",
"plt.plot(x, y, 'og', label='2x+6y=0')\n",
"plt.xlabel('x', color='#1C2833')\n",
"plt.ylabel('y', color='#1C2833')\n",
"plt.legend(loc='upper left')\n",
"plt.grid()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"There are infinte many solutions, since we know that Matrix is Singular. The coefficients (a, b), which satisfies this equation with 1st row ($v_1$) and 2nd row ($v_2$) of the matrix: $av_1 + bv_2 = 0$ are (2, -1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question 4"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Matrix is Singular\n"
]
}
],
"source": [
"A=[[1,4,-1],[3,2,7],[2,5,1]]\n",
"if np.linalg.cond(A) < 1/sys.float_info.epsilon:\n",
" B = np.linalg.inv(A)\n",
" print(B)\n",
"else:\n",
" print('Matrix is Singular')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Practice"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Question 1"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"x = np.sort(np.random.uniform(0,1,1000))\n",
"e = np.random.normal(0,1,1000)\n",
"y = 2+3*x+e"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"x0 = np.a
ay([0.0, 0.0])\n",
"def opt(x, a, b):\n",
" return a + b*x\n",
"\n",
"sol = optimization.curve_fit(opt, x, y, x0, [1.0]*1000)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"y2 = sol[0][0] + sol[0][1]*x"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"image/png":...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here