В моем приложении A и jj даны как плоские, 1-мерные массивы. У jj нет строго регулярного паттерна. Мы можем адресовать ломтик JJ из A с помощью:
A = np.arange(10)
jj = np.array([3,5,6])
A[jj]
Это называется «причудливой нарезкой» и называется медленным. Есть ли способ ускорить доступ с чем-то вроде
A = np.arange(10)
jj = np.array([3,5,6])
ii = slice(jj)
A[ii]
Этот пример не работает, но, возможно, есть еще один простой способ. Команда slice быстрая и привлекательная . Есть ли способ превратить jj-numpy-array
в slice(jj)
с остаточным приростом эффективности?
(Contex: построить многократную матрицу большой системы в вычислительной гидродинамике с переменными коэффициентами). Спасибо за некоторые подсказки!