如果我使用了typed memoryviews,想要对用该memoryview表示的两个向量进行加法、点积或其他向量操作,Cython是否期望我自己实现这些函数?
我不反对这样做,但我想知道如果我忙于编写向量加法/标量乘法/点积等操作,是否做错了什么。感觉这是一种反模式,但我不确定。
正确的方法是什么?
我不反对这样做,但我想知道如果我忙于编写向量加法/标量乘法/点积等操作,是否做错了什么。感觉这是一种反模式,但我不确定。
正确的方法是什么?
话虽如此,可以通过将指向数组中第一个元素的指针传递给类型化的memoryview直接调用BLAS或LAPACK函数(请参见这里和这里以获取一些示例)。
cdef double[:,:] A
# ... initialize A ...
x = np.sum(A)