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 介绍了科学计算的基础知识和解决物理、生物和工程问题的数值方法。该作品集发布于此:

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,以便开放源码参考与复现。希望他可以成为解决需要大量计算和可视化的科学问题的便利参考。

Two eyed monster
Nonlinear pendulum
Spring-mass-damper system phase portrait
Spring-mass-damper system over time
Stability of ODE and integration methods
Stiffness of ODEs
Image compression by singular value decomposition (SVD)
Order of numerical integration methods
Population dynamics phase portrait
Population dynamics over time
Noise filtering by FFT
Image compression by FFT

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 进行数值编程、计算和可视化。