前言
本书从编程基础开始讲解SageMath,内容涵盖Python、Cython和C++语言等多种前置技术,讲解全面,可以当作入门书使用。此外,本书更以数学思维讲解SageMath,按照群、环和域的分类提供了大量的实际用例,使读者可以轻松地对照书中的用例解决理工类学科的问题,可以当作工具书使用。
第1章和第2章讲解了SageMath的概述内容和安装相关的知识,读者可以根据自己的硬件环境确定自己的安装方式。
SageMath本身就是一款非常优秀的科学计算软件,本书提供了其丰富的用例,并且覆盖面广,内容涵盖多个领域,适合初学者和研究人员使用。
第3章讲解了运算符与输入/输出。由于SageMath是一款面向科学计算的编程工具,所以SageMath支持更多的运算符号(如左除号),这对没有进入科学计算领域的程序员而言可以说是一个不小的挑战,而对于输入/输出而言,SageMath依托于Python的扩展性,拥有十余种输入/输出方式,用户可以在合适的场合中调用适当的输入/输出函数。
第4章讲解了基本数据结构。本章主要讲解在Python级别的数据结构,对于每种数据结构更配有相应的功能函数,读者可以配合不同种类的数据结构快速学会SageMath的基本数据处理。
第5章讲解了如何编写脚本。脚本有多种运行方式,主要分为在SageMath软件内运行和在操作系统的终端直接运行,更有spyx等需要编译的脚本,运行方式多样,读者可以根据实际的应用场景,使用不同的编写方式编写相应的脚本。脚本还支持传参,因此可以在运行脚本时增加相应的参数,编写功能更丰富的脚本。
第6章讲解了如何编写控制语句。控制语句决定了程序的运行流程,读者可以理解判断语句和循环语句等控制语句的编写方式。
第7章讲解了函数的相关知识。本章的顺序从创建函数开始,确保读者可以设计一个可用的函数。本章还包含函数的设计方法,真正教会读者如何设计函数逻辑。
第8章讲解了类的相关知识,读者可以学会如何创建并使用类。本章帮助读者使用面向对象的方式进行程序设计。本章还讲解了类的继承和方法重载,这些内容将帮助读者创建复用性强的类,使程序的可维护性进一步增强。
第9~13章讲解了常用向量、常用矩阵、常用群、常用环和常用域,读者可以根据数学学科的思维学习这几章,这也和SageMath的设计理念是一致的。读者可以根据数学中的变量特性直接创建对应的SageMath变量,用这种方式即可方便地使用相应的算法。
第14章讲解了绘图相关知识。本章讲解各种绘图函数的用法。SageMath还支持先进的three.js三维绘图库,可以轻松地实现三维图像的可视化,并且具有优秀的显示效果。
第15章讲解了SageMath用例,主要讲解理工科的实际用例,配合实际的代码,方便读者快速上手对应领域内的科学计算知识。
扫描目录上方的二维码可下载本书源码。
限于本人的水平和经验,书中难免存在疏漏之处,恳请专家与读者批评指正。
于红博2025年1月于哈尔滨