Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我写了这段代码:app和cova是矩阵,维度等于代码中的变量dim和gsingle。
dim=32; gfor q=1:256 app(:,:,q)=cova(:,:,q)\geye(dim,dim,'single'); gend
如果我尝试增加 dim 的维度,结果会非常慢。如果我用 for 循环和 cpu 变量编写等效代码会更快。为什么会这样?
Jacket 为线性代数使用上游库。不幸的是,它针对大型矩阵而不是许多小型矩阵进行了优化。因此,我们为宽度高达 32(或 64,具体取决于精度)的矩阵实现了一个快速版本。不幸的是,之后的任何内容都使用慢速版本。这就是您所看到的行为的原因。我是上述功能的开发人员。