假设我有一个非常快的子程序用于固定大小的酉矩阵乘法。 (子程序可能涉及硬件加速)比如,一个名为quantum_unmm_256(A, U, m)
的函数右移m
乘以256矩阵A和256乘256单位矩阵U.
现在我想用一个单位矩阵乘以大小为256的倍数,例如1280x1280的酉矩阵。 哪种快速算法可以充分利用快速子程序?
假设所有矩阵都是密集的,具有64或128位浮点复数类型。
答案 0 :(得分:0)
答案 1 :(得分:-1)
这不是一个完整的答案,但评论时间太长了:
如果将(1280x1280)
重新转换为(4, 256, 4, 256)
,然后转置为(4,4,256,256)
,则可能更容易使用copy()
。但即使这样也需要var addZeroes = function(num) {
var numberAsString = num.toString();
if(numberAsString.indexOf('.') === -1) {
num = num.toFixed(2);
numberAsString = num.toString();
} else if (numberAsString.split(".")[1].length < 3) {
num = num.toFixed(2);
numberAsString = num.toString();
}
return numberAsString
};
来确保最内部的块(numpy term)是连续的。
它甚至可以被转换为(4,4)对象dtype数组,其中每个元素都是你的快速&#39;单一阵列。
如果需要,我可以详细说明这些行动,但我怀疑你有足够的numpy技能去做。
有很多事情都不清楚这个问题。