由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Mathematics版 - 一个求和的计算复杂度
相关主题
请教一个随机矩阵的特征值分布问题问一个求jacobian的问题
请问对称矩阵英文叫啥?(zz)Heroes in My Heart (36)
弱问:symmetrized tensor product 的定义是什么?(zz)Heroes in My Heart (37) 献给未名Science的版聚
来一道题(zz)Heroes in My Heart (59)
求助:Matlab里面如何分解矩阵?HOw to numerically integrate noisy data
block tridiagonal matrix的本征值问题ZZsome tales of mathematicans(2)
请教一个矩阵基本运算复杂度的问题(急)优化问题:看上去很简单,却没有找到好的算法
能帮忙化简一个矩阵乘法么?help on orthogonal sequence generator
相关话题的讨论汇总
话题: sum话题: 复杂度话题: 计算话题: 矩阵话题: endfor
进入Mathematics版参与讨论
1 (共1页)
i******e
发帖数: 58
1
\sum_{i, j, k=1}^n {X(i,j)*X(j,k)*X(i,k), where X is a symmetric n by n
matrix.
计算复杂度能 < O(n^3) 么?
谢谢!!!
e**o
发帖数: 6038
2
复杂度定义是什么?
好奇,问问

【在 i******e 的大作中提到】
: \sum_{i, j, k=1}^n {X(i,j)*X(j,k)*X(i,k), where X is a symmetric n by n
: matrix.
: 计算复杂度能 < O(n^3) 么?
: 谢谢!!!

i******e
发帖数: 58
3
O(n^3) means that the calculation can be bounded by M*n^3, for a
sufficiently large constant M.

【在 e**o 的大作中提到】
: 复杂度定义是什么?
: 好奇,问问

e**o
发帖数: 6038
4
那不是只要 X_ij 一致有界不就是自然的结果了吗

【在 i******e 的大作中提到】
: O(n^3) means that the calculation can be bounded by M*n^3, for a
: sufficiently large constant M.

i******e
发帖数: 58
5
忘记了一个条件, 矩阵X 的 每一个元素都是有限的.
这个求和 简单计算 的计算量 是 n^3, 想问一下有没有更快的算法, 或者不存在更快
的算法?
谢谢!!!

【在 e**o 的大作中提到】
: 那不是只要 X_ij 一致有界不就是自然的结果了吗
c*******h
发帖数: 1096
6
相当于做一次矩阵乘法和一次hadamard积
hadamard积是O(n^2)的
矩阵乘法用Strassen可以从O(n^3)降到O(n^2.807),用Coppersmith–Winograd
可以降到O(n^2.376),这是理论上现在知道最快的了
如果要一个practical而且numerically stable的方法,还得回到原始的O(n^3)
的方法

【在 i******e 的大作中提到】
: \sum_{i, j, k=1}^n {X(i,j)*X(j,k)*X(i,k), where X is a symmetric n by n
: matrix.
: 计算复杂度能 < O(n^3) 么?
: 谢谢!!!

i******e
发帖数: 58
7
你说的都对。
但是,这个求和不像矩阵乘法, 矩阵乘法需要知道结果矩阵的每一个元素。
如果求和\sum_{i, j, k=1}^n {X(i,j)*X(j,k)},相当于做一次矩阵乘法, 然后再把
结果矩阵的每一个元素相加, 但是计算量是O(n^2), 因为可以先对 i 或 k 求和。
\sum_{i, j, k=1}^n {X(i,j)*X(j,k)*X(i,k) 不一样,i, j, k 相互耦合, 先对任何
一个先求和也绕不开另外两个。
谢谢。

【在 c*******h 的大作中提到】
: 相当于做一次矩阵乘法和一次hadamard积
: hadamard积是O(n^2)的
: 矩阵乘法用Strassen可以从O(n^3)降到O(n^2.807),用Coppersmith–Winograd
: 可以降到O(n^2.376),这是理论上现在知道最快的了
: 如果要一个practical而且numerically stable的方法,还得回到原始的O(n^3)
: 的方法

c*******h
发帖数: 1096
8
i suggest you do the following:
1. compute Y(i,k) = \sum_j X(i,j)*X(j,k) for all i,k in whatever nasty way
2. sum = 0
3. for i = 1:n
4. for k = 1:n
5. sum += Y(i,k)*X(i,k)
6. endfor
7. endfor
the bottleneck is line 1

【在 i******e 的大作中提到】
: 你说的都对。
: 但是,这个求和不像矩阵乘法, 矩阵乘法需要知道结果矩阵的每一个元素。
: 如果求和\sum_{i, j, k=1}^n {X(i,j)*X(j,k)},相当于做一次矩阵乘法, 然后再把
: 结果矩阵的每一个元素相加, 但是计算量是O(n^2), 因为可以先对 i 或 k 求和。
: \sum_{i, j, k=1}^n {X(i,j)*X(j,k)*X(i,k) 不一样,i, j, k 相互耦合, 先对任何
: 一个先求和也绕不开另外两个。
: 谢谢。

i******e
发帖数: 58
9
Thank you for your suggestion.
But as you pointed out, the computation cost for line 1 is already n^3.
Any improvement?

【在 c*******h 的大作中提到】
: i suggest you do the following:
: 1. compute Y(i,k) = \sum_j X(i,j)*X(j,k) for all i,k in whatever nasty way
: 2. sum = 0
: 3. for i = 1:n
: 4. for k = 1:n
: 5. sum += Y(i,k)*X(i,k)
: 6. endfor
: 7. endfor
: the bottleneck is line 1

c*******h
发帖数: 1096
10
Strassen, or Coppersmith-Winograd

【在 i******e 的大作中提到】
: Thank you for your suggestion.
: But as you pointed out, the computation cost for line 1 is already n^3.
: Any improvement?

i******e
发帖数: 58
11
Thank you. I will read their papers.

【在 c*******h 的大作中提到】
: Strassen, or Coppersmith-Winograd
1 (共1页)
进入Mathematics版参与讨论
相关主题
help on orthogonal sequence generator求助:Matlab里面如何分解矩阵?
活得最长的数学家是谁?block tridiagonal matrix的本征值问题
Definition of Hadamard's Inequality???请教一个矩阵基本运算复杂度的问题(急)
两个对称正定矩阵的乘积也正定吗?能帮忙化简一个矩阵乘法么?
请教一个随机矩阵的特征值分布问题问一个求jacobian的问题
请问对称矩阵英文叫啥?(zz)Heroes in My Heart (36)
弱问:symmetrized tensor product 的定义是什么?(zz)Heroes in My Heart (37) 献给未名Science的版聚
来一道题(zz)Heroes in My Heart (59)
相关话题的讨论汇总
话题: sum话题: 复杂度话题: 计算话题: 矩阵话题: endfor