虽然数值分析属于数学课程,但它与我们以往所熟悉的数学课程是完全不同的,从基本的思想方法和思维方式到课程的学习方式都有很大的差异。我们所熟悉的数学课程的共同特点是抽象和严格的演绎、严密和清晰的逻辑思维,但对于数值分析课程来说,除了上述特点之外,“归纳”将成为不容忽视的思维方法,这里讨论的核心问题是“误差”这个在数学上似乎根本不存在的东西。在以往的数学课程中,教师可能会强调阅读教科书和做习题,但在数值分析课程中,除了读书和做习题之外,用计算机计算也是同样重要的。
数值分析是培养学生算法意识和能力的基本课程,应从培养学生科学计算能力出发,但这一点绝不能靠单纯讲授来解决,必须在计算机环境下通过实验完成,从这一点上来说,数值分析方面的书籍应该更多地面向实际应用,或许是数值分析所涉及的范围太广,大多数数值分析教材特别是国内的教材都侧重于基本算法的推导和理论分析的细节,其目的在于给读者打下一个较为坚实的理论基础,在此基础上设计和编写自己的算法和程序,但实际上在过去的十几年中,数值分析的实践和教学已经发生了巨大的变化,人们不必再去书写那些繁杂的代码和程序,可以更多的依赖像MATLAB这样的软件包,同时人们所解决的问题的规模也越来越大,因而对计算机硬件的要求也越来越高。这种新的形势要求我们不仅要了解算法的基本思想及推导过程,还要进一步了解怎样才能更好地使用这些算法,其中包括如何使算法在合理的时间内收敛,如何选择适当的初值、如何对各种方法进行结合等等,从这一点上说科学计算更加重要。
Jeffery J. Leader教授的这本教材采用数值分析与科学计算并重的思想,很好地解决了大部分现有教材没有很好解决的问题。书中没有过多地进行枯燥的定理论述,也没有过多地分析算法的细节,重点介绍了方法基本思想以及在MATLAB平台上的使用,其目的在于通过数值实验提高学生对算法的“鉴赏”能力,使学生熟练使用标准的计算机软件,了解各种算法的优缺点,最终能“拥有”这些算法。
本书每小节后面的习题可以使读者加深理解本小节所介绍的基本问题,这些问题一般不需要其他的附加资源;MATLAB部分介绍了与本小节内容相关的MATLAB命令以及相应的数值实验,这部分的内容可以使读者逐渐认识这个软件并有机会通过数值实验获得对科学计算的直观认识,这些内容即使不在教学中讲授也可以作为自学MATLAB的参考书,在翻译此书的过程中译者就曾在数学建模培训中以这部分内容作为教材介绍过MATLAB软件,收到了很好的效果;附加问题特别是序号10以后的附加题可能完成起来要有一定的难度,可有选择的完成。
本书结构合理,可读性强,除了可以作为本科高年级或研究生的“数值分析”教材,对以科学计算为工具的科技人员也有很大的参考价值。
数值分析与科学计算翻译过程中我们力求忠实、准确地反映原著的内容和风格,但由于水平所限,难免会有疏漏及不妥之处,恳请读者批评指正。