没有.对于Fortran,它与实现无关 - 在Fortran中,它打破了语言标准,为任何子程序设置别名的实际参数,因为它打破了语言标准,除非那些参数是Intent(In).因此,如果接口具有Intent(Out),Intent(InOut)或没有Intent的伪参数,则在调用子程序时应始终对相应的实际参数使用单独的变量.
不。
输出的每个元素取决于输入向量的所有元素x
例如:如果x
是输入y
, 是输出A
, 是矩阵,i
的第 个元素y
将按以下方式生成。
y_i = A_i1*x_1 + A_i2 * x_2 ... + A_in * x_n
x_i
因此,如果您用上面的结果覆盖,则其他x_r
依赖项x_i
将无法收到正确的输入并产生不正确的结果。
编辑
我本来想对此发表评论,但它变得太大了。这就是为什么上述推理也适用于并行实现的解释。
除非每个并行组/线程都制作原始数据的本地副本(在这种情况下可以破坏原始数据),否则这一推理成立。
然而,这样做(制作本地副本)仅在以下情况下才实用且有益:
笔记: