登 录
註 冊
论坛
微波仿真网
注册
登录论坛可查看更多信息
微波仿真论坛
>
仿真区 实验田
>
Clapack包使用中数据类型的问题
发帖
回复
1920
阅读
1
回复
Clapack包使用中数据类型的问题
离线
wanggong
UID :24183
注册:
2009-01-06
登录:
2010-03-31
发帖:
5
等级:
旁观者
0楼
发表于: 2010-03-31 17:07:36
Clapack包是求解线性方程组的常用工具,根据要处理的数据类型不同,很多函数提供多种实现。
&XTd[_VW!
例如,对于线性最小二乘问题,min||Ax-b||,每种函数都有单精度、双精度的实现,如:Sgels/Dgels、Sgelsy/Dgelsy、Sgelss/Dgelss等,其中前缀S说明处理数据是单精度(float),前缀D说明处理数据是双精度(Double)。
~=]@],{
经过使用发现,对于同样的数据,采用单精度、双精度表示后,使用对应的函数来计算,得到的结果有时不一样,不知道是什么原因。
b6M)qt9R
对于这个问题,在其它地方也发现有问题,例如,清华大学出版社,徐士良编写的《C常用算法程序集(第二版)》里面介绍的很多算法,对应的代码都是double型,如果改为float类型后,即使方程规模很小(3、4个未知数),好多计算结果都不相同,某些结果甚至是错误的。
QL!+.y%
采用 ..
6#63D>OWp
%iFIY=W
未注册仅能浏览
部分内容
,查看
全部内容及附件
请先
登录
或
注册
共
条评分
离线
xmuwhb1987
UID :67180
注册:
2010-09-29
登录:
2010-11-08
发帖:
14
等级:
仿真新人
1楼
发表于: 2010-09-30 00:23:24
你用它的c++版 lapackpp会好一点
cYS+XBz
共
条评分
发帖
回复