Skip to content

Instantly share code, notes, and snippets.

@ischurov
Created October 8, 2017 08:47
Show Gist options
  • Save ischurov/d9d6e31d98e92b3c8c8131804abf6f13 to your computer and use it in GitHub Desktop.
Save ischurov/d9d6e31d98e92b3c8c8131804abf6f13 to your computer and use it in GitHub Desktop.
hw python numpy
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "## ДЗ про Python"
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Задача 1\nС помощью `numpy` найти собственные векторы и собственные значения следующей симметричной матрицы. Убедиться в том, что собственные векторы, соответствующие разным собственным значениям, ортогональны.\n\n$$\nB = \\begin{pmatrix}\n1 & 2 & 3 \\\\\n2 & 5 & 1 \\\\\n3 & 1 & 8 \\\\\n\\end{pmatrix}\n$$"
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# впишите решение сюда",
"execution_count": 1,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Задача 2\n\nНаписать код, который для заданной матрицы 2×2 $A$ рисует образ единичной окружности под действием оператора, заданного этой матрицей, и два собственных вектора матрицы $AA^T$. Убедиться в том, что оси получающегося эллипса совпадают с этими собственными векторами."
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# впишите решение сюда",
"execution_count": 2,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Задача 3\n\nДан вектор $v\\in \\mathbb R^n$ (в виде одномерного `np.array`). Требуется написать программу, строящую матрицу, строками которой являются векторы $t v$ для $t = -1 + k/10,\\ k = 0, \\ldots, 20$ (то есть $t$ пробегает значения от $-1$ до $1$ с шагом $1/10$, всего $21$ значение). Получающаяся матрица должна иметь $21$ строку и $n$ столбцов. \n\n**Подсказка.** Для решения задачи вам нужно использовать матричное умножение, а для этого придётся делать из векторов матрицы (вектор-столбцы или вектор-строки). Это можно сделать, например, с помощью метода `reshape()`."
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# впишите решение сюда",
"execution_count": null,
"outputs": []
},
{
"metadata": {},
"cell_type": "markdown",
"source": "### Задача 4\nНа занятиях мы построили гистограммы средних для множества выборок из одной и той же генеральной совокупности, и увидели, что с ростом выборки эти гистограммы становятся всё более и более узкими — значения среднего по выборке становятся всё ближе к среднему по генеральной совокупности. Постройте аналогичную гистограмму для значения так называемой $Z$-статистики, которая определяется следующим образом:\n\n$$Z = \\frac{\\bar x - EX}{\\sqrt{DX}}\\sqrt{n},$$\n\nгде $X$ — случайная величина, из которой берутся выборки (она же — генеральная совокупность), $EX$ — её матожидание, $DX$ — дисперсия, $n$ — размер выборки.\n\nДля случайной величины, которая принимает значение $1$ с вероятностью $p$ и $0$ с вероятностью $(1-p)$ дисперсия равна $p(1-p)$.\n\nПри построении гистограммы используйте опцию `normed=True`.\n\nНа том же графике постройте график плотности стандартного нормального распределения (это можно сделать с помощью функции `scipy.stats.norm.pdf`; сначала нужно сделать `import scipy.stats`)."
},
{
"metadata": {
"trusted": true,
"collapsed": true
},
"cell_type": "code",
"source": "# впишите решение сюда",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.1",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "",
"data": {
"description": "hw python numpy",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment