polyvalm2——更快的矩阵多项式求值程序

polyvalm2评估一个多项式矩阵参数的速度比polyvalm MATLAB函数。

682下载

更新2009年11月11日

查看许可协议

polyvalm2评估一个多项式与一个方阵参数超过了MATLAB内置函数polyvalm或mpower。

X), Y = polyvalm2 (P, P是一个向量的长度N + 1的元素是一个多项式的系数,是多项式的价值评估矩阵参数X X必须一个方阵。

Y = P (1) * X X ^ ^ N + P (2) * (N - 1) +…+ P (N) * X + P (N + 1) *我

类支持输入P金宝app, X:
浮:双、单

polyvalm2速度的改进来自以下:

1)MATLAB内置函数polyvalm使用霍纳氏方法。polyvalm2使用二进制矩阵的分解权力更有效地计算,减少矩阵乘法的总数计算答案。

2)polyvalm计算标量乘以一个矩阵的乘积作为诊断接头的产品(标量*(等))*矩阵……即一个矩阵相乘。polyvalm2将更有效地计算这个产品简单的标量*矩阵。

3)polyvalm上面所有的计算,即使系数P (i)为零。polyvalm2不做计算P (i)系数为零。

4)polyvalm稀疏矩阵的输入转换成完整的矩阵计算,而polyvalm2保持中间计算答案稀疏。

权衡是polyvalm2比polyvalm为中间变量使用更多的内存,所以对于非常大的矩阵polyvalm2可以耗尽内存。在这些情况下polyvalm2将放弃高效的计算方法和内置polyvalm打电话来。然而,对于稀疏矩阵的输入,polyvalm2通常会更多的内存效率比MATLAB polyvalm函数。

注意:由于polyvalm2使用不同的计算矩阵的权力形式,最终的结果可能不匹配polyvalm没错。还为例子,只有领先的系数是零,polyvalm2可能不完全匹配mpower。但答案一样准确。如果有正或南的参与,那么最终的结果将不是,一般来说,匹配polyvalm或mpower的结果。这不应该是一个很好的使用polyvalm2缺点,然而,由于甚至MATLAB内置函数polyvalm mpower不会相互匹配在这些情况下。(通过重新排序计算,NaN的传播不同)

引用作为

詹姆斯Tursa (2023)。polyvalm2——更快的矩阵多项式求值程序(//www.tatmou.com/matlabcentral/fileexchange/25780-polyvalm2-a-faster-matrix-polynomial-evaluator), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建R2007a
兼容任何释放
平台的兼容性
窗户 macOS Linux
类别
找到更多的在多项式帮助中心MATLAB的答案

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!
版本 发表 发布说明
1.1.0.0

修改了代码,如果输入矩阵是稀疏的,中间计算和最终的答案也将稀疏。注意,这是MATLAB内在polyvalm不同的行为。

1.0.0.0