|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/science_by_python/
课程评论:没有评论
## Python科学技術計算入门课程总结 本课程是为希望使用Python进行科学技术计算和数值模拟的学习者量身打造的入门课程。尽管C语言和Fortran在科学计算领域仍占主导地位,但考虑到Python在中长期(5-10年)的潜力,它将越来越多地取代C语言和Fortran成为科学计算的首选语言。 **课程目标人群:** * 即将进入大学实验室,需要编写数值计算代码的学生。 * 曾使用C/Fortran进行数值计算的年轻研究者和工程师。 * 负责开发企业内部求解器的研究者和技术人员。 **对人事/管理者:** * 希望将制造等行业使用的商业软件部分或全部内制化,并培养相关软件人才。 * 在大学研究室从事数值计算,正考虑从Fortran/C语言转向Python,以更好地结合机器学习等领域的研究。 **Python进行数值计算的优势:** 有人可能认为Python作为解释型语言,在计算速度上不如编译型C/Fortran。然而,Python拥有众多加速数值计算的库,如**Numpy**,其运算速度几乎可与C语言媲美。此外,还有**Scipy**、**Numba**(CPU加速库)以及**Cupy**(GPU加速库),这些库有效地克服了Python在计算速度上的劣势。 **Python与数值计算的结合:** Python不仅拥有强大的数值计算库,还具备充実的文件输入输出和可视化库,无需从零开始编写程序即可处理计算结果。这使得Python能够全面支持科学技术计算,通过丰富的库实现简洁而强大的功能,从而减少代码编写量、降低bug风险,并加快获得计算结果的速度。 **课程内容概要:** 本课程将教授科学技术计算和数值计算所需的全部Python编程知识,具体包括: * **Python基础知识:** 从四则运算到面向对象编程。 * **集成开发环境(IDE)使用:** PyCharm的用法与调试基础。 * **代码管理:** Git的使用。 * **核心数值计算库:** Numpy、Scipy、Matplotlib的基础知识。 * **文件输入输出:** 用于数据预处理和后处理。 * **数值计算加速:** Numba、Cupy的基础知识。 * **可视化工具:** ParaView的可能用途。 本课程旨在推广Python在科学技术计算领域的应用,填补目前相关教材相对较少的空白。
【このコースは誰に向けたものか?】本コースは、Pythonで科学技術計算や数値シミュレーションに取り組みたいという方に向けたPythonの入門講座です。科学技術計算や数値シミュレーションといえば、今でもよく使われていますが、C言語やFortranというコンパイル型の言語がメインでした。しかしながら、今後のプログラミング言語としてのポテンシャルを考えると、今後は5 ~ 10年という中長期的な視点で、科学技術計算でもC言語やFortranの代わりにPythonを使うという機会が増えてくる事は間違いないでしょう。この為、これから大学の研究室に配属されて数値計算のコードを書く学生さん今までC言語・Fortranで数値計算コードを書かれていた若手の研究者・エンジニア企業で内製ソルバーの開発担当を任された研究者・技術者の方この講座はそういった方々に向けて作られた講座です。【人事の方/マネージャークラスの方へ】本コースは次のような使い方が可能です。・製造業などで市販のソフトウェアを使っているが、今後、社内でソフトウェアの内製化を検討しており、ソフトウェア人材を育成したい・大学の研究室で数値計算に取り組んでおり、今までFortran / C言語を使っていたが機械学習などとの相性も考え、研究室全体の方針としてPythonに乗り換えたい【Pythonで数値計算なんて大丈夫か?】結論から申し上げますと大丈夫です。Pythonはインタプリタ型の言語だから計算速度が要求される科学技術計算には向かない、やっぱりコンパイル型の言語であるC言語やFortranの方が望ましい、そう考える人もいるかもしれません。しかしながら、Pythonは数値計算を高速化するライブラリが数多くあります。例えば、代表的なライブラリがNumpyです。Numpyの演算は基本的にC言語と同じくらいの速度が出ると考えていただいても、そんなに大きな間違いではありません。またNumpyの他にScipy, NumbaといったCPUベースの高速化ライブラリもありますし、CupyというGPUによる演算をサポートしたライブラリもあります。これらのライブラリのおかげで、Pythonの最大の欠点である計算が遅いという欠点はほぼ克服されていると考えてOKです。【Python x 数値計算の組み合わせ】Pythonは数値計算のライブラリだけでなく、ファイル入出力や可視化のライブラリも充実しています。この為、計算結果を読みだしたり、吐き出したりするのにいちいち自分でゼロからプログラムを書く必要はありません。つまり、Pythonを使うことで科学技術計算をトータル的にカバー可能です。ライブラリのお陰で短く、そして強力な機能を実装できます。コードをたくさん書く必要がないおかげでバグも少ないし、成果(計算結果)が出始めるまでも早いという、いいことづくめだと思います。私は日本で科学技術計算向けのコードをPythonで書くということがもっと普及したらいいなと思っています。こういうモチベーションで、この講座を作成しました。Python x 科学技術計算という組み合わせの教材はまだそこまで多くありません。【何が学べる?】科学技術計算や数値計算で必要となってくるプログラミングの知識全般です。具体的にはコースの概要を見ていただきたいですが、以下にも挙げておきます・数値計算で必要となってくるPythonの基礎知識(四則演算 ~ オブジェクト指向まで)・シミュレーションコード開発時に使う統合開発環境(PyCharm)の使い方とデバッグの基礎・Gitによるコードの管理・数値計算で非常によく使うNumpy, Scipy, Matplotlibの基礎知識・前処理、後処理などで使うことになる種々のファイル入出力・数値計算を高速化するためのNumba, Cupyの基礎・可視化ツールとして使う可能性の高いParaViewの使い方など