Introduction to Scientific Computing Portfolio: AMATH 301
Portfolio Repository 作品集发布
AMATH 301 introduces fundamentals of scientific computing and numerical methods for solving physical, biological, and engineering problems. The portfolio is available here:
AMATH 301 介绍了科学计算的基础知识和解决物理、生物和工程问题的数值方法。该作品集发布于此:
https://github.com/tengjuilin/intro-sci-computing
Content is transcribed from MATLAB (originally taught in the course) to Python for open source reference. I hope this could be a great reference for scientific problem solving that requires large amount of computations and visualizations.
内容由在课程中教授的 MATLAB 重写为 Python,以便开放源码参考与复现。希望他可以成为解决需要大量计算和可视化的科学问题的便利参考。
Visualization Gallery 可视化图集
Topics 主题
Scientific computing makes use of python scipy
library, with topics of
科学计算使用了 Python 的 scipy
库,主题包括
- Root-finding and optimization 求根和优化
- Root finding algorithms 求根算法
- Unconstrained optimization 无约束优化
- Constrained optimization 有约束优化
- Curve fitting and interpolation 曲线拟合和插值
- Linear algebra 线性代数
- Matrix operations in python 矩阵运算
- Solving linear systems with direct methods 用直接方法求解线性系统
- Solving linear systems with iterative methods 用迭代法求解线性系统
- Singular value decomposition (SVD) (Principle component analysis, PCA) 奇异值分解/主成分分析
- Numerical calculus 数值微积分
- Numerical differentiation 数值微分
- Numerical integration 数值积分
- Ordinary differential equations (ODEs) 常微分方程
- Solving first-order ODEs 求解一阶常微分方程
- Solving higher-order ODEs 求解高阶常微分方程
- Stability and stiffness of ODEs 常微分方程的稳定性和刚性
- Phase portrait 相图
- Spring-mass-damper system 弹簧-质量-阻尼器系统
- Linear, nonlinear pendulum 线性、非线性摆
- Two-eyed monster “双眼怪物”
- Population dynamics 人口动态
- Chaotic systems 混沌系统
- Lorenz system 洛伦兹系统
- Fourier transform 傅里叶变换
- Fourier transform 傅里叶变换
Course Description 课程描述
Introduction to the use of computers to solve problems arising in the physical, biological, and engineering sciences. Application of mathematical judgment, programming architecture, and flow control in solving scientific problems. Introduction to MATLAB or Python routines for numerical programming, computation, and visualization.
使用计算机来解决物理、生物和工程科学中出现的问题。在解决科学问题中应用数学、编程和流程控制,并使用 Matlab 或 Python 进行数值编程、计算和可视化。
附录
本文也发于微信公众号。