Описание тега strassen

Набор алгоритмов (co), созданных Фолькером Штрассеном для ускорения числового (алгоритм Шёнхаге – Штрассена) и матричного (алгоритм Штрассена) умножения.
4 ответа

Как использовать этот код C для умножения двух матриц с использованием алгоритма Штрассена?

Я искал реализацию алгоритма Штрассена в C, и я нашел этот код в конце. Чтобы использовать multiply функция: void multiply(int n, matrix a, matrix b, matrix c, matrix d); который умножает две матрицы a, b и помещает результат в c (d является промежу…
02 мар '12 в 19:19
3 ответа

Алгоритм Штрассена для умножения матриц

Может кто-нибудь объяснить, пожалуйста, алгоритм Штрассена для умножения матриц интуитивно понятным способом? Я прошел (ну, пытался пройти) объяснение в книге и вики, но оно не щелкнуло наверху. Любые ссылки в Интернете, которые используют много анг…
17 дек '09 в 07:23
1 ответ

Управление памятью для умножения матрицы Штрассена

Как часть задания, я пытаюсь найти точку пересечения для алгоритмов умножения матрицы Штрассена и наивного умножения. Но для того же, я не могу продолжить, когда матрица становится 256x256. Может кто-нибудь предложить мне подходящую технику управлен…
12 янв '15 в 18:43
0 ответов

Алгоритм Штрассена - возможно ли сделать pxq матричное умножение?

Я пытаюсь найти реализацию умножения матрицы pxq в c, используя алгоритм Штрассена. Я не уверен, что это возможно. В википедии алгоритм написан так: M1 = (A + D) * (E + H) = AE + AH + DE + DH M2 = (A + B) * H = AH + BH но это не будет работать для м…
07 мар '14 в 14:40
1 ответ

Некорректная выходная матрица с использованием алгоритма Штрассена с пустыми матрицами

Я пытаюсь реализовать алгоритм умножения матриц Штрассена, как описано в CLRS, используя Python 3 и пустые матрицы. Проблема заключается в том, что выходная матрица C возвращается в виде нулевой матрицы вместо правильного продукта. Я не уверен, поче…
2 ответа

Доказательство алгоритма Штрассена

Я читал об алгоритме Штрассена для умножения матриц. Как упомянуто во введении к алгоритмам Кормена, алгоритм не является интуитивно понятным. Однако мне любопытно узнать, существует ли какое-либо строгое математическое доказательство алгоритма и чт…
07 окт '13 в 16:03
5 ответов

Умножение матриц: Штрассен против Стандарта

Я пытался реализовать алгоритм Штрассена для умножения матриц с помощью C++, но результат оказался не таким, как я ожидал. Как вы можете видеть, strassen всегда занимает больше времени, чем стандартная реализация, и только с измерением от степени 2 …
1 ответ

Алгоритм умножения булевых матриц

Это мой первый вопрос по stackru. Я решал некоторые упражнения из "Алгоритм проектирования" Гудрича, Тамассия. Тем не менее, я совершенно не в курсе этой проблемы. Unusre, с чего начать и как продолжить. Будем признательны любому совету. Вот проблем…
12 апр '15 в 10:26
1 ответ

Вызывая рекурсию самой функции

У меня есть проблема с моей функцией cxx в R. И я хотел бы вызвать это сам, к сожалению, компилятор выдает мне это сообщение об ошибке: Matmult2 не объявлен в этой области Проблема также в том, чтобы позвонить Matmult2 в функции. Моя первоначальная …
24 окт '17 в 13:54
2 ответа

Рекурсия в алгоритме Штрассена

Мне интересно, как вы будете делать рекурсивные вызовы в алгоритме Штрассена, и где именно они требуются. Я понимаю, что 7 множителей более эффективны, чем 8, которые мы имели бы в противном случае, но я запутался в том, как эти множители вычисляютс…
07 авг '12 в 03:26
1 ответ

Сложность в реализации алгоритма Штрассена в Python

Я не понимаю, как вызвать мой код рекурсивно. Вот мой код до сих пор: import numpy B = [[5,5,5,5,5,5,5,5],[6,6,6,6,6,6,6,6],[7,7,7,7,7,7,7,7],[8,8,8,8,8,8,8,8], [9,9,9,9,9,9,9,9], [10,10,10,10,10,10,10,10],[11,11,11,11,11,11,11,11], [12,12,12,12,12,…
0 ответов

Алгоритм Штрассена Параллельная реализация в Java

Я пытаюсь реализовать алгоритм умножения матрицы Штрассена как в последовательном, так и в параллельном режиме. Я хочу, чтобы следующий код работал параллельно, но у меня нет опыта параллельного программирования. int [][] M1 = multiply(add(A11, A22)…
1 ответ

Ошибка сегментации - умножение матрицы Штрассена

Я новичок, и я попытался реализовать алгоритм Штрассена, чтобы умножить две матрицы NxN. В настоящее время я работаю над четными размерами. Я получаю ошибку сегментации для значений N больше 4. После отладки я понял, что ошибка сегментации встречает…
07 ноя '15 в 12:02
1 ответ

Алгоритм умножения 2 чисел на n бит с использованием алгоритма Штрассена

Разработайте и проанализируйте алгоритм для умножения 2 чисел A и B, каждый длиной n бит, но разбиение их на 3 части одинакового размера и использование алгоритма Штрассена. Какое лучшее время вы можете получить? У меня есть два числа, которые имеют…
17 фев '16 в 20:35
2 ответа

Произведение двух комплексных чисел менее чем в 3 умножениях

Может кто-нибудь сломать это для меня? Почему это не может быть сделано в двух умножениях? Умножение комплексных чисел Если число умножений, необходимое для вычисления, рассматривается как мера его сложности, и эти вычисления выполняются с использов…
4 ответа

Как разбить матрицу на 4 блока используя numpy?

Я реализую матричное умножение Штрассена с использованием Python. В шаге деления мы делим большую матрицу на меньшие подматрицы. Есть ли встроенная функция NumPy для разделения матрицы?
19 июн '12 в 16:33
2 ответа

Соединить четыре двухмерных массива в Java

Я пытаюсь реализовать алгоритм Штрассена в Java, и я нахожусь на этапе, когда мне нужно объединить вывод в один матричный /2D массив. я использую System.arraycopy чтобы скопировать массивы, что хорошо подходит для объединения двух массивов сверху вн…
02 сен '12 в 14:52
2 ответа

Алгоритм Штрассена для умножения матриц C#

Я просто занимаюсь самоанализом алгоритмов и структур данных и хотел бы знать, есть ли у кого-нибудь реализация C# (или C++) алгоритма Штрассена для умножения матриц? Я просто хотел бы запустить его и посмотреть, что он делает, и получить представле…
28 апр '10 в 21:06
2 ответа

Strassen Matrix Multiplication - близко, но все еще с ошибками

Я пытаюсь реализовать умножение матрицы Штрассена в Python. У меня это работает несколько. Вот мой код: a = [[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]] b = [[5,5,5,5],[6,6,6,6],[7,7,7,7],[8,8,8,8]] def new_m(p, q): # create a matrix filled with 0s mat…
3 ответа

Что не так с методом Штрассена для вычисления квадрата матрицы?

Используя тот же подход, что и для Штрассена, достаточно только 5 умножений для вычисления квадрата матрицы. Если A[2][2] = [a, b, c, d], умножением являются a * a, d * d, b * (a + d), c * (a + d), b * c. Если мы обобщим этот алгоритм для получения …
18 дек '14 в 09:31