由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - lapack如何求解XA=B
相关主题
求救:2个dense matrix的乘法C++里用Blas/Lapack的问题 (转载)
Matrix calculation in C++搞矩阵的竟然没有人提BLAS
do you use blas/lapack?为啥matlab一直用列优先存储来存储array?
Linux下运行lapack和blas的问题nv的显卡能战胜intel的CPU么
How to use multi-core to speed Python program有没有觉得scipy很稀烂的?
请推荐好的c++下的matrix库发现版上没有聊fortran的
C++ 做线性代数,方便使用的库?弱问 blas 该怎么在Visual studio调用
gnu c++ 自带的库能解矩阵方程吗?这偏语言分析的文章很好
相关话题的讨论汇总
话题: lapack话题: 求解话题: dgetrs话题: dgetrf话题: dtrsm
进入Programming版参与讨论
1 (共1页)
p*****e
发帖数: 310
1
【 以下文字转载自 Computation 讨论区 】
发信人: pinacle (大石头), 信区: Computation
标 题: lapack如何求解XA=B
发信站: BBS 未名空间站 (Fri Jun 12 07:33:51 2009, 美东)
我用lapack的dgetrf把A进行LU分解,也发现用blas的dtrsm可以进行右边求解,但是发
现dgetrf里的iPiv,即pivoting得信息没法在dtrsm里体现出来。而lapack中的dgetrs没
用右边求解的功能。
我现在只好先用A的LU分解,用dgetri得到逆然后B*A^(-1),这样效率太低了。
另外的方法是用dtrsm求解完以后在对解进行列变换,即X*(PLU)=B => X*P = Y, 可是
发现lapack只提供dlaswp来进行行变换。
另外我还想到因为X*P=Y => P'X'=Y', 这样可以用行变换得到X转置再转置回来,但是这
也太麻烦了,而且还得知道inv(P'),效率如何也不清楚。
不知道有没有好办法?
z*****a
发帖数: 3809
2
Why don't you just solve for A'X' = B'?

dgetrs没
可是
是这

【在 p*****e 的大作中提到】
: 【 以下文字转载自 Computation 讨论区 】
: 发信人: pinacle (大石头), 信区: Computation
: 标 题: lapack如何求解XA=B
: 发信站: BBS 未名空间站 (Fri Jun 12 07:33:51 2009, 美东)
: 我用lapack的dgetrf把A进行LU分解,也发现用blas的dtrsm可以进行右边求解,但是发
: 现dgetrf里的iPiv,即pivoting得信息没法在dtrsm里体现出来。而lapack中的dgetrs没
: 用右边求解的功能。
: 我现在只好先用A的LU分解,用dgetri得到逆然后B*A^(-1),这样效率太低了。
: 另外的方法是用dtrsm求解完以后在对解进行列变换,即X*(PLU)=B => X*P = Y, 可是
: 发现lapack只提供dlaswp来进行行变换。

p*****e
发帖数: 310
3
因为我已经有了A的PLU,用于主要的计算,这个XA=B就是为了解另一个矩阵,它的出现
次数要比主要的计算频率少。
如果我单独为了它重新进行A的LU分解,那么和从A的PLU求inv(A)时间差不多了,除非A
'的PLU能方便的从A的PLU得到。

是发

【在 z*****a 的大作中提到】
: Why don't you just solve for A'X' = B'?
:
: dgetrs没
: 可是
: 是这

z*****a
发帖数: 3809
4
dgetrs can be used to solve both AX=B and A'X=B when given the factorization
of A computed by dgetrf, you just need to pass the right flag.

非A

【在 p*****e 的大作中提到】
: 因为我已经有了A的PLU,用于主要的计算,这个XA=B就是为了解另一个矩阵,它的出现
: 次数要比主要的计算频率少。
: 如果我单独为了它重新进行A的LU分解,那么和从A的PLU求inv(A)时间差不多了,除非A
: '的PLU能方便的从A的PLU得到。
:
: 是发

p*****e
发帖数: 310
5
多谢!blas/lapack貌似没有矩阵转置的函数吧?

factorization
出现

【在 z*****a 的大作中提到】
: dgetrs can be used to solve both AX=B and A'X=B when given the factorization
: of A computed by dgetrf, you just need to pass the right flag.
:
: 非A

1 (共1页)
进入Programming版参与讨论
相关主题
这偏语言分析的文章很好How to use multi-core to speed Python program
大家推荐clojure几个重要的库?请推荐好的c++下的matrix库
pandas 作者:Apache Arrow and the "10 Things I Hate About pandas"C++ 做线性代数,方便使用的库?
150行 F# 做矩阵运算比MKL还快gnu c++ 自带的库能解矩阵方程吗?
求救:2个dense matrix的乘法C++里用Blas/Lapack的问题 (转载)
Matrix calculation in C++搞矩阵的竟然没有人提BLAS
do you use blas/lapack?为啥matlab一直用列优先存储来存储array?
Linux下运行lapack和blas的问题nv的显卡能战胜intel的CPU么
相关话题的讨论汇总
话题: lapack话题: 求解话题: dgetrs话题: dgetrf话题: dtrsm