回 帖 发 新 帖 刷新版面

主题:关于调用IMSL中函数dlsarg进行LU分解时的问题

请较大家一个算法问题,我用在IVF中调用IMSL中的函数dlsarg来求解Ax=B的问题,但是提示说在对A进行LU分解时由于上三角阵U的某些对角元接近于零了,因此算不下去了,不知道碰到这种情况,大家是如何解决的,有什么其它更好的办法吗,相对应的在IMSL中的函数是什么,谢谢。

回复列表 (共4个回复)

沙发

半正定啊,貌似只能自己寫程序搞定了。
IMSL里貌似沒有這樣的東東。
主要是因為不同的應用有不同的處理辦法,你可以置0他可以置1:)

板凳

LU分解也不是很高深的算法,对角元为0可以互换主元啊,最后结果也只是-1的几次方而已

3 楼

[quote]半正定啊,貌似只能自己寫程序搞定了。
IMSL里貌似沒有這樣的東東。
主要是因為不同的應用有不同的處理辦法,你可以置0他可以置1:)[/quote]
那请教一下对于这种半正定的问题,有什么比较好的算法吗?我现在主要是不知道算法,有算法自己写程序也无所谓的。

4 楼

正如董兄所说,如果仅是对角出现0元素在一部分情况下互换主元就可以解决。
不过有些时候换了还是算不过去,就拿我最熟悉的结构力学来说吧,当这种现象出现时,往往是因为把梁单元当做二力杆单元计算时会出现的,从结构方程上来说,有些节点会被允许任意大小的位移,但实际上却不是这样的,所以在这里我们就需要限制其部分位移了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册