{"id":31754708,"url":"https://github.com/fuodorov/computational-physics","last_synced_at":"2025-10-09T18:23:03.325Z","repository":{"id":277655007,"uuid":"686221294","full_name":"fuodorov/computational-physics","owner":"fuodorov","description":"Solving problems from the course on the basics of computational physics","archived":false,"fork":false,"pushed_at":"2025-05-09T06:13:40.000Z","size":2253,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-09T07:26:25.686Z","etag":null,"topics":["computational-physics","crank-nicolson","eigenvalues","eigenvectors","fourier","machine-epsilon","newton-method","numerical-methods","python","runge-kutta","tridiagonal-matrix-algorithm"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fuodorov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-09-02T04:34:05.000Z","updated_at":"2025-05-09T06:13:44.000Z","dependencies_parsed_at":"2025-02-15T08:19:13.684Z","dependency_job_id":"7d557fee-56ef-454d-b24f-a905831b3f80","html_url":"https://github.com/fuodorov/computational-physics","commit_stats":null,"previous_names":["fuodorov/computational-physics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fuodorov/computational-physics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuodorov%2Fcomputational-physics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuodorov%2Fcomputational-physics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuodorov%2Fcomputational-physics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuodorov%2Fcomputational-physics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fuodorov","download_url":"https://codeload.github.com/fuodorov/computational-physics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fuodorov%2Fcomputational-physics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001941,"owners_count":26083226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computational-physics","crank-nicolson","eigenvalues","eigenvectors","fourier","machine-epsilon","newton-method","numerical-methods","python","runge-kutta","tridiagonal-matrix-algorithm"],"created_at":"2025-10-09T18:22:44.007Z","updated_at":"2025-10-09T18:23:03.314Z","avatar_url":"https://github.com/fuodorov.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Основы вычислительной физики\n\nРешение задач из курса по основам вычислительной физики.\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eНайти эпсилон (\u003ca href=\"lesson_1/ulp.py\"\u003eulp.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\n*Машинным* $\\epsilon$ называется такое число, что 1 + $\\epsilon/2 = 1$, но $1 + \\epsilon \\not ={1}$. (Также часто используется обозначение ULP - *unit in the last place*, или *unit of least precision*, единица в младшем разряде.) Найти машинное $\\epsilon$, число разрядов в мантиссе, максимальную и минимальную степени, при вычислениях с обычной и двойной точностью. Сравнить друг с другом четыре числа: $1, 1 + \\frac{\\epsilon}{2},1+\\epsilon,1+\\epsilon+\\frac{\\epsilon}{2}$, объяснить результат. \n\n#### Указания\n\nПри использовании Python воспользуйтесь типами np.float32 и np.float64.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eРешить уравнение (\u003ca href=\"lesson_2/solve.py\"\u003esolve.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nИспользуя методы дихотомии, простых итераций и Ньютона, найти уровень энергии $E$ основного состояния квантовой частицы в прямоугольной потенциальной яме.\n\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eВычислить интегралы (\u003ca href=\"lesson_3/int.py\"\u003eint.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nВычислить интегралы методом трапеций и Симпсона:\n\n1) $\\int\\frac{1}{1+x^2}dx$\n\n2) $\\int x^3e^{\\sin(x)}dx$\n\nКак убывает погрешность численного интегрирования с ростом числа интервалов?\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eВычислить производную (\u003ca href=\"lesson_4/diff.py\"\u003eint.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nИспользуя интегральное представление для функции Бесселя целового индекса $m$ и \nвычисляю производную с помощью конечной разности в тех же точках, что и сам интеграл,\nпродемонстрировать выполнение равенства $J_0'(x) + J_1(x) = 0$ с точностью не хуже $10^{-10}$ на отрезке $[0, 2\\pi]$.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eПровести интерполяционный полином (\u003ca href=\"lesson_5/polynom.py\"\u003epolynom.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nПровести интерполяционный полином $P_n(x)$ для $n = 4, ..., 15$ через точки $x_k = -5 + k*\\frac{10}{n}$, $y_k = \\frac{1}{1 + x_k^2}$, $k = 0, ..., n$. Построить графики полиномов.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eРешить задачу Коши (\u003ca href=\"lesson_6/cauchy.py\"\u003ecauchy.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nРешить задачу Коши методом Эйлера первого порядка точности и методоами Рунге-Кутты второго и четвертого порядка точности.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eРешить систему уравнений хищник-жертва (\u003ca href=\"lesson_7/lotka_volterra.py\"\u003elotka_volterra.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nРешить систему уравнений хищник-жертва методом Рунге-Кутте второго порядка точности. Нарисовать фазовые траектории.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eРешить жесткую систему уравнений (\u003ca href=\"lesson_8/rigid1.py\"\u003erigid1.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nРешить жесткую систему уравнений.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eМетодом прогонки решить разностный аналог граничной задачи (\u003ca href=\"lesson_9/run1.py\"\u003erun1.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nМетодом прогонки решить разностный аналог граничной задачи для уравнения $y'' = \\cos(x)$\nна промежутке $(-\\pi/2, \\pi/2)$\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eРешить задачу Коши для одномерного уравнения теплопроводности (\u003ca href=\"lesson_10/crank.py\"\u003ecrank.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nРешить задачу Коши для одномерного уравнения теплопроводности методом Кранка-Николсон.\nНа каждом шаге по времени найти максимальное значение температуры и нарисовать зависимость максимальной температуры от времени.\nПоказать, что на больших временах она убывает экспоненциально. Исследовать сходимость схемы Кранка-Николсон.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eНайти уровень энергии и волновую функцию основного состояния в потенциальной яме (\u003ca href=\"lesson_11/schrodinger.py\"\u003eschrodinger.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nНайти уровень энергии и волновую функцию основного состояния в потенциальной яме, \nрешая конечномерный аналог спектральной задачи для одномерного стационарного уравнения Шредингера.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eВычислить график спектра мощности (\u003ca href=\"lesson_12/fourier.py\"\u003efourier.py\u003c/a\u003e)\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nВычислить и построить график спектра мощности. Сравнить спектры, полученные с прямоугольным окном и окном Ханна.\n\n\u003c/details\u003e\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eКурсовая работа\u003c/b\u003e\n\u003c/summary\u003e\n\n#### Условие\n\nВ качестве итоговой курсовой работы взят код [redpic](https://github.com/fuodorov/redpic).\n\n\u003c/details\u003e\n\n---\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuodorov%2Fcomputational-physics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffuodorov%2Fcomputational-physics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffuodorov%2Fcomputational-physics/lists"}