找回密码
 欢迎注册
查看: 25791|回复: 16

[求助] 计算精度属于哪个学科的问题?

[复制链接]
发表于 2021-9-8 13:09:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?欢迎注册

×
在matlab中计算希尔伯特矩阵的逆矩阵使用两种不同的方法,结果差别很大。
1、inv(hilb(6))
2、invhilb(6)
方法2比方法1更加精准。但是在n大于等于15的时候方法2还是会出现误差。

在使用各种计算机软件进行计算时会出现误差,隐隐感觉类似问题时一些潜在的大坑,因此想学习一下这方面的知识。有没有专门讲类似问题的入门书籍推荐?或者类似问题是否有专门归属的学科类别?像据此按图索骥去收集一些好书。

补充,不是具体讲matlab R 如何使用。而是具体讲计算误差,和在使用计算机进行计算时如何规避或减少误差。至少要知道哪些计算结果存在误差。避免出现沉默错误。当然,讲解可以以某种常用数学软件为基础。

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-8 23:37:04 | 显示全部楼层
计算的中间过程可能会 整型溢出,精度丢失,导致矩阵虽可逆但计算病态、奇异。
一般解决办法就是 高精度计算。或者应该有某些特别的数值算法。

不过,针对希尔伯特矩阵,其逆矩阵是可以 精确表达的。一个$n\times n$的希尔伯特矩阵的逆矩阵的系数为:
\[(H^{-1})_{ij}=(-1)^{i+j}(i+j-1){n+i-1 \choose n-j}{n+j-1 \choose n-i}{i+j-2 \choose i-1}^{2}\]
参考来源:https://zh.wikipedia.org/wiki/希尔伯特矩阵
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-9-9 14:29:01 | 显示全部楼层
wayne 发表于 2021-9-8 23:37
计算的中间过程可能会 整型溢出,精度丢失,导致矩阵虽可逆但计算病态、奇异。
一般解决办法就是 高精度计 ...

是的,你说的对。
请问你是通过什么途径学习这方面知识的?有什么好书推荐么?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-12 08:58:25 | 显示全部楼层
计算精度问题是由于用二进制方法表示整数或浮点数的结果,属于计算机领域的问题,32位系统下使用4个字节32位表示一个浮点数,在64位系统下使用8个字节64位表示一个浮点数,浮点数的精度就是根据其在系统中使用的位数来确定的。更具体的可以看关于机器指令的相关书籍一般都会有这方面的详细说明。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-9-12 11:51:44 | 显示全部楼层
灵树 发表于 2021-9-12 08:58
计算精度问题是由于用二进制方法表示整数或浮点数的结果,属于计算机领域的问题,32位系统下使用4个字节32 ...

谢谢指路,我去看看这方面的书。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-12 17:19:41 来自手机 | 显示全部楼层
这些都应该是计算数学方向的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2021-9-12 20:00:29 | 显示全部楼层
mathe 发表于 2021-9-12 17:19
这些都应该是计算数学方向的

谢谢回复。我在豆瓣搜了一下计算数学,同时还出现了数值分析,数值计算的书。所以计算数学和数值分析,数值计算是不同学科?还是同一学科的不同叫法?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-12 21:01:30 | 显示全部楼层
不太一样,计算数学 内涵更广,涉及到具体东西的计算的都可以叫做 计算数学,可以涉及很多领域,几何,组合,数论,分析
数值分析 主要是 数学分析领域。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-13 13:05:41 | 显示全部楼层
计算精度只是计算机编码问题,和计算过程无关。比如在32位系统中一个浮点数用32位表示,这32位二进制数占用了4个字节的存储空间,这32位被分成了两部分,前一部分第一位用01代表正负,其它部分保存数的小数部分,第二部分存储数的指数部分,同样第一位代表正负,其它部分为指数。在系统中这两部分都是固定大小的,所有在计算时结果的精度也就是固定的,64位系统下精度会成倍的提高,但还是有限精度。还有一种编码形式就是按十进制的位进行编码,每4位代表十进制的一位,每个字节记录两位十进制位。但这种编码没有硬件实现,所以用来计算求值的话速度会慢很多很多。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-9-14 13:39:40 | 显示全部楼层
百度百科上的信息:
数值分析(numerical analysis),为数学的一个分支,是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科。它以数字计算机求解数学问题的理论和方法为研究对象,为计算数学的主体部分

点评

谢谢解答。  发表于 2021-9-14 14:06
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2024-12-22 20:42 , Processed in 0.027800 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表