我尝试使用scipy.linalg.toeplitz(c, r=None)
在Python中构建一个toeplitz矩阵。虽然我成功了,但我无法维护Fortran订购。我需要确保构造的toeplitz数组保持Fortran排序,因为我正在调用BLAS函数。
我有办法做到这一点吗?
答案 0 :(得分:1)
最简单的方法就是在Fortran订购中制作副本。 toeplitz
创建一个新数组,但不会让您控制排序。
E.g。
x = scipy.linalg.toeplitz([1, 2, 3, 4])
x = np.asfortranarray(x)
如果您想节省内存,也可以就地执行此操作。 E.g。
x[:] = x.T
x = x.T