【发布时间】:2014-02-07 06:45:42
【问题描述】:
我尝试使用scipy.linalg.toeplitz(c, r=None) 在 Python 中构造一个托普利兹矩阵。虽然我成功了,但我无法维持 Fortran 顺序。我需要确保正在构造的 toeplitz 数组保持 Fortran 排序,因为我正在调用 BLAS 函数。
有什么办法可以做到吗?
【问题讨论】:
标签: python numpy fortran cublas numba
我尝试使用scipy.linalg.toeplitz(c, r=None) 在 Python 中构造一个托普利兹矩阵。虽然我成功了,但我无法维持 Fortran 顺序。我需要确保正在构造的 toeplitz 数组保持 Fortran 排序,因为我正在调用 BLAS 函数。
有什么办法可以做到吗?
【问题讨论】:
标签: python numpy fortran cublas numba
在 Fortran 排序中制作副本是最简单的。 toeplitz 创建一个新数组,但不能让您控制排序。
例如
x = scipy.linalg.toeplitz([1, 2, 3, 4])
x = np.asfortranarray(x)
如果您想节省内存,也可以就地执行此操作。例如
x[:] = x.T
x = x.T
【讨论】: