一、矩阵结构与算法复杂性
- 基于浮点运算次数的复杂性分析
- 基本的矩阵-向量运算成本
求解线性方程组,A为系数矩阵,b为右边项。求解该方程组的一般性彼岸准方法所需要的计算量大约和
成比例。但如果A具有特殊的结构,比如对称矩阵,对角矩阵,系数矩阵等,可以大大减少计算量。
基于浮点运算次数的复杂性分析
数值线性代数算法的成本经常表示为完成算法所需要的浮点运算次数关于各种问题维数的函数。
浮点运算次数是对算法复杂度的较粗略的估计,但是也很有用。
基本的矩阵-向量运算成本
向量运算
考虑n维向量,内积运算需要n次乘法运算,n-1次加法运算共为2n-1次运算,只保留主导项,,则内积需要2n次运算,更近似地说需要次数为n的浮点运算。
矩阵-向量运算
y=Ax,,运算成本:m个n维向量的内积,共m(2n-1)次运算,如果n很大,则可记成2mn。
如果A是稀疏矩阵,仅有N个非零项,此时只需要2N次浮点运算即可。
如果将A分解成A=UV,,y=Ax=UVx=U(Vx),(Vx)需要p(2n-1),U(Vx)需要m(2p-1),共需要2p(m+n)-p-m。
矩阵-矩阵相乘
C=AB,,C=AB相当于计算p次
,故需要计算pm(2n-1),如果n很大,则记为2mnp。
如果A和B是稀疏矩阵则需要的计算量更小。
如果m=p,且已知C是对称的,只需要计算下三角的个元素,于是需要
来源:https://blog.youkuaiyun.com/wangchy29/article/details/87902460