Какова соответствующая функция LAPACK за функцией Matlab sum(A,2)
, в которой A
является матрицей?Какова соответствующая функция LAPACK за суммой Matlab (A, 2), в которой A является матрицей?
0
A
ответ
2
Я только что посмотрел на LAPACK documentation. Я также посмотрел this post on Computational Science beta. Оказывается, нет никакой внутренней функции LAPACK, которая будет вычислять сумму матрицы в заданной размерности. Таким образом, MATLAB, вероятно, написал что-то обычай, чтобы таким образом облегчить сумму по заданному размеру матрицы.
Есть несколько способов обойти это, хотя:
- Compute матрично-векторное умножение с вектором всех 1s. Поскольку вы делаете
sum(A,2)
, это означает, что вы хотите суммировать все столбцы для каждой строки. Вы можете инкапсулировать это поведение, выполнивy = A*x
, гдеA
- соответствующая матрица, аx
- вектор всех 1s.y
- это вывод, в котором вы должны получить сумму по всем столбцам для каждой строки в матрице. Таким образом, вы можете использоватьsgemv
и тщательно выбирать правильные входы так, чтобы векторx
состоял из всех 1s, а матрицаA
является рассматриваемой матрицей. Вам необходимо установить постояннуюbeta
равным 0 и поставить векторy
равным нулю. Вам также необходимо установитьalpha
, равный 1. - Вы можете выбрать собственный код, который перебирает все столбцы для каждой строки в вашей матрице и объединяет все элементы. Если вы попытаетесь выполнить вариант №1, эта операция не позволяет повторного использования кеша. Таким образом, большинство компиляторов должны иметь возможность оптимизировать код до максимальной производительности при написании собственного цикла.
- Другим методом является извлечение каждой строки вашей матрицы в виде вектора и вычисление точечного произведения этой строкой с вектором всех 1s. Возможно, использование чего-то вроде
sdsdot
сделало бы трюк.
Однако, если ваш код не тратит много времени на выполнение сумм, вы можете выбрать вариант №1. Если вы повторно делаете вычисления sum(A,2)
, тогда лучше всего написать свой собственный цикл (например, варианты № 2 или № 3).
Удачи вам!
Смежные вопросы
- 1. plot a нелинейная функция matlab
- 2. Matlab script a (n) = a (n-1) + a (n-2)
- 3. Как векторизовать матрицу, индекс которой является матрицей в MATLAB?
- 4. Какова функция префикса «a» параметра в java?
- 5. Какова соответствующая функция для corrmtx (в MATLAB) в Python?
- 6. Соответствующая статья (a/an) в String.Format
- 7. Найти обратную матрицу в MATLAB, является ли inv (A) или A \ eye (size (A)) более точным?
- 8. Как вернуть `A ** n` в python с A матрицей?
- 9. Напишите программу, которая вычисляет сумму (a/1) + (a/2) + (a/3) + (a/4) + .......... + (a/n)
- 10. Является самоинициализацией 'A a = a;' позволил?
- 11. Функция A, вызванная функцией A?
- 12. Почему (A - B).^2 не равно (B - A).^2 в MATLAB?
- 13. Matlab - find (x == a), когда a - матрица
- 14. C++: & a [2] - & a [1] ==?
- 15. В C++, A + = B предпочтительнее A = A + B таким же образом ++ A является A ++?
- 16. Расчет функции рекурсивного C++: Bn (a) = Bn-1 (a) × Bn-2 (a), где B1 (a) = B2 (a) = a
- 17. Является ли `f(). A [0]` a xvalue?
- 18. Что это за функция (* MARK: A)/regex?
- 19. Java - 2 Way 'A A Relationship
- 20. Какова цель & in (a & 1)
- 21. MATLAB: secure share a
- 22. Как ускорить A * x, если A не является плотной матрицей с элементами без нуля, равными +1 или -1?
- 23. Соответствующая буква, за которой следует определенный числовой диапазон
- 24. Создать post_category для публикации a a a a a a a a a a a a a post_category
- 25. Аппликационная матрица A с матрицей B
- 26. Может `функция a() {}` рассматриваться как сокращенное выражение `a = function a() {}`?
- 27. Множественная матрица (a x a) матрицей (a x c x d)
- 28. В чем разница между $ a == 2 и 2 == $ a?
- 29. Проверьте, является ли матрица единичной матрицей в Matlab
- 30. Что происходит быстрее? (a + a vs 2 * a и более)