2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3  След.
 
 Re: алгоритм шёнхаге-штрассена
Сообщение10.11.2009, 22:41 


23/12/08
245
Украина
А если этот алгоритм портировать под 10 тичную систему, как думаете получиться, я очевидных препятствий невижу, если ктото видит то скажите сразу чтоб я *** не занимался.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение10.11.2009, 23:44 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Я говорю, там используется то, что в кольце целых чисел по модулю $2^n+1$ умножение на степень двойки производится быстро. Не уверен, что это хорошо обобщится на десятичный случай.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:18 
Заслуженный участник


09/08/09
3438
С.Петербург
Nerazumovskiy в сообщении #260667 писал(а):
А если этот алгоритм портировать под 10 тичную систему
Я думаю, имеет смысл, только если заодно и процессоры портировать, чтобы они в десятичном (или хотя бы в двоично-десятичном) коде работали.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:20 


23/12/08
245
Украина
в кольце целых чисел по модулю $10^n +1$ умножение на степень десятки производиться быстро.(уже обобщилось, как ни странно :) )

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:27 
Заслуженный участник


09/08/09
3438
С.Петербург
Nerazumovskiy в сообщении #260692 писал(а):
в кольце целых чисел по модулю $10^n +1$ умножение на степень десятки производиться быстро

Умножение на степень двойки - это просто сдвиг, а умножение на степень десятки это что?

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:28 


23/12/08
245
Украина
Maslov в сообщении #260691 писал(а):
Nerazumovskiy в сообщении #260667 писал(а):
А если этот алгоритм портировать под 10 тичную систему
Я думаю, имеет смысл, только если заодно и процессоры портировать, чтобы они в десятичном (или хотя бы в двоично-десятичном) коде работали.

понимаете смысл в том что у меня уже есть овое фурье и готовый карацуба, и работающий клас длинной арифметики для десятичного случая, и врятли мне так просто удастся запустить это всё в двоичной системе, поэтому я и хочу сделать финт ушами ( ведь если нереализовать двоичную систему то надо будет постоянно туду сюда бегать, что врятли будет сильно проще чем выполнять всё в 10-тичном случае). 8-)

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:30 
Заслуженный участник


09/08/09
3438
С.Петербург
А в каком виде Вы длинные числа храните? Как последовательность десятичных цифр?

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:33 


23/12/08
245
Украина
Maslov в сообщении #260694 писал(а):
Nerazumovskiy в сообщении #260692 писал(а):
в кольце целых чисел по модулю $10^n +1$ умножение на степень десятки производиться быстро

Умножение на степень двойки - это просто сдвиг, а умножение на степень десятки это что?

Да уменя уже всё есть для десятичной системы(клас длинной арифметики) ,в котором умножение на 10 это сдвиг.
З.Ы. в начале клас предназначался для $2^{32}$ системы исчисления, но в один прекрасный момент я понял что уменя всё неработает подумал что гдето напортил с переполнением и никак немог понять где, перевёл в 10тичную и всё заработало, что меня настолько удивило, что я просто забил на идею понять где же я налажал.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение11.11.2009, 00:43 
Заслуженный участник


09/08/09
3438
С.Петербург
Тогда, я думаю, особых сложностей быть не должно.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 13:53 
Заблокирован


12/11/09

92
А кто-нибудь занимался применением алгоритма Штрассена к перемножению матриц? Его метод требует много доп. памяти и поэтому на больших матрицах его применение проблематично. Никто не знает, удалось обойти проблему доп. памяти или нет?

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 15:00 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Dongara в сообщении #261188 писал(а):
А кто-нибудь занимался применением алгоритма Штрассена к перемножению матриц? Его метод требует много доп. памяти и поэтому на больших матрицах его применение проблематично. Никто не знает, удалось обойти проблему доп. памяти или нет?

http://membres-liglab.imag.fr/pernet/Pu ... -dumas.pdf

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 15:52 
Заблокирован


12/11/09

92
Xaositect в сообщении #261218 писал(а):
Dongara в сообщении #261188 писал(а):
А кто-нибудь занимался применением алгоритма Штрассена к перемножению матриц? Его метод требует много доп. памяти и поэтому на больших матрицах его применение проблематично. Никто не знает, удалось обойти проблему доп. памяти или нет?

http://membres-liglab.imag.fr/pernet/Pu ... -dumas.pdf

Спасибо.
P.S.
Посмотрел. Работу далекого 1976 года я знаю. Но и она и предложенный здесь подход работают хорошо в ассимптотике. Для реальных матриц (в смысле их размера), с которыми имеет дело нынешнее человечество, это не выход (в смысле выигрыша в скорости). Я нашел одну ссылку на русскоязычном форуме Интела по решению этой проблемы, но товарищ делиться секретом не хочет.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 18:03 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Dongara в сообщении #261237 писал(а):
Посмотрел. Работу далекого 1976 года я знаю. Но и она и предложенный здесь подход работают хорошо в ассимптотике. Для реальных матриц (в смысле их размера), с которыми имеет дело нынешнее человечество, это не выход (в смысле выигрыша в скорости). Я нашел одну ссылку на русскоязычном форуме Интела по решению этой проблемы, но товарищ делиться секретом не хочет.

Я думаю, несколько итераций алгоритма Штрассена, а затем использование обычного умножения, даст некоторый прирост скорости.
А какой сейчас размер матриц на практике? мне на втором курсе(три года назад) говорили про десятки тысяч, но, возможно, это была устаревшая информация.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 18:16 
Заслуженный участник
Аватара пользователя


18/05/06
13440
с Территории
Xaositect в сообщении #261299 писал(а):
А какой сейчас размер матриц на практике?

"А какого размера средний файл на диске", угу. :D
В Гугле, может быть, ворочают матрицы миллиардных размеров, но они ведь всё равно не расскажут, как.

 Профиль  
                  
 
 Re: алгоритм шёнхаге-штрассена
Сообщение12.11.2009, 18:16 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Ну да, люди так и делают: http://www.ics.uci.edu/~fastmm/FMM-Refe ... rassen.pdf Памяти вроде бы должно быть больше в константу раз, если все аккуратно написать.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 34 ]  На страницу Пред.  1, 2, 3  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group