# scientific-computing-algorithm-portfolio **Repository Path**: Particle_Physics2002/scientific-computing-algorithm-portfolio ## Basic Information - **Project Name**: scientific-computing-algorithm-portfolio - **Description**: 个人科学计算与算法实践项目集,涵盖数值方法、物理仿真、OpenMP 并行、图像特征与组合优化、信号处理和随机算法。项目按主题组织,提供源码、运行说明、结果分析与适用范围。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-01 - **Last Updated**: 2026-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 科学计算与算法实践集 个人科学计算与算法实践项目集,涵盖数值方法、物理仿真、并行计算、图像重构、信号处理、随机算法与科学机器学习入门。项目按主题独立组织,提供模型说明、算法思路、构建或运行方式,并记录结果适用范围与已知局限。 > **Gitee 仓库简介:** 科学计算与算法实践项目集,包含有限差分与稀疏求解、常微分方程积分、物理仿真与 OpenMP 并行、图像特征与组合优化、信号处理、随机算法及 PINN 入门实验。 ## 项目导航 | 方向 | 项目 | 方法与内容 | |---|---|---| | 图像处理与组合优化 | [2013B 碎片图像重构](projects/image_processing/2013b_jigsaw/README.md) | 从像素边缘、文字带与字形几何提取候选接缝特征,再以混合整数线性规划联合求解横向路径;不使用 OCR 语义。结果和误差评估见项目说明。 | | 数值方法 | [一维 Poisson 方程](projects/numerical_methods/poisson_1d/README.md) | 中心有限差分、稀疏矩阵组装、共轭梯度法,并与解析解对照。 | | 数值方法 | [谐振子积分](projects/numerical_methods/harmonic_oscillator/README.md) | 比较经典 RK4 与 Velocity-Verlet 的长期能量行为。 | | 数值方法 | [量子谐振子](projects/numerical_methods/quantum_oscillator/README.md) | 在截断粒子数(Fock)基中构造哈密顿量并计算本征能级。 | | 物理仿真与并行 | [二维 FDTD](projects/physics_simulation/fdtd_2d/README.md) | 电磁场网格更新、吸收层与 OpenMP 并行。 | | 物理仿真与并行 | [二维 Ising 模型](projects/physics_simulation/ising_2d/README.md) | Metropolis 更新、周期边界与红黑棋盘并行。 | | 物理仿真 | [Boris 推进器](projects/physics_simulation/boris_pusher/README.md) | 比较 Boris 与显式 Euler 的带电粒子轨道推进。 | | 并行计算 | [OpenMP 同步开销](projects/parallel_computing/openmp_barrier/README.md) | 测量不同线程数下 barrier 与循环同步的本机运行时间。 | | 信号处理与估计 | [FIR 滤波器](projects/signal_processing/fir_filter/README.md)、[Kalman filter](projects/signal_processing/kalman_filter/README.md) | FIR 平滑演示,以及一维、二维状态估计示例。 | | 随机计算 | [Metropolis–Hastings](projects/stochastic_computing/metropolis_hastings/README.md) | 对称与非对称提议分布、多条独立采样链。 | | 科学机器学习 | [PINN Poisson](projects/scientific_ml/pinn_poisson/README.md) | 通过自动微分构造方程残差与边界损失的入门示例。 | | 科学机器学习 | [Ising surrogate](projects/physics_simulation/ising_2d/README.md) | 基于 Ising 模拟数据的小型回归演示,见 Ising 项目目录中的 predict_ising.py。 | ## 构建与运行 ### C++ 项目 需要 CMake 3.20 以上版本、C++17 编译器;Eigen3 与 OpenMP 按当前环境启用。使用 Ninja 时: ~~~powershell cmake -G Ninja -S . -B build cmake --build build ~~~ 依赖 Eigen3 或 OpenMP 的目标会在缺少对应依赖时跳过。各项目 README 说明目标名称、运行方式和输出位置。请在 build/ 或项目指定的输出目录中运行,避免生成文件混入源码。 ### Python 项目 基础依赖: ~~~powershell python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -r requirements.txt ~~~ PINN 和 Ising surrogate 需要额外安装 requirements-ml.txt 中的 PyTorch 依赖。部分绘图和拼图项目还要求 NumPy、Matplotlib、Pillow、SciPy;请以对应项目说明为准。 ## 结果与适用范围 - 这些目录是相互独立的练习与数值实验,不是一个产品化软件;参数、网格、随机种子、硬件与运行库都会影响结果。 - 2013B 碎片重构是基于像素和几何特征的算法探索,不读取文字语义。项目说明保留位置、左右邻接、上下邻接的独立评估和失败分析;优化目标更优不等于真实拼接正确。 - FDTD、Ising、PINN、滤波与同步计时等示例均说明了当前验证范围。用于定量结论前,应按各自 README 补充网格/步长收敛、随机种子、误差或性能测试。 ## 代码来源与复现说明 部分练习代码曾由大语言模型协助起草或改写。作者的实际参与包括问题建模、物理或数学推导、逐段理解、修改和结果检查;不同项目的代码起草比例不同,展示时应据实说明。 2013B 原始题目 BMP 与完整迭代档案保存在本机归档目录,没有复制到本仓库。复现碎片重构时,需自行准备原题输入,并按项目 README 指定输入目录。仓库保留精选源码、必要说明和代表性结果,不包含本机原始归档及中间文件。