Обсуждение:Метод четырёх русских для умножения матриц — различия между версиями
м |
м (Дмитрий Мурзин переименовал страницу Обсуждение:Метод четырех русских для умножения матриц в [[Обсуждение:Метод четырёх русских для у…) |
||
(не показано 14 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
− | + | : {{tick | ticked=1}} Добавить анализ (почему именно log n) оценки для k. | |
+ | : {{tick | ticked=1}} «трудоёмкость» — бррр, асимптотика же. | ||
+ | : {{tick | ticked=1}} Добавить псевдокод | ||
+ | :: писал кучу раз — псевдокод должен явно принимать входные данные и явно возвращать ответ. Тут я этого не наблюдаю. | ||
+ | ::: не понимаю, в чем сложность сделать код одной функцией, без всякого ввода-вывода. ладно, хрен с ним. | ||
+ | :: аргумент после log не в скобках(done) | ||
+ | :: Насколько я помню, в c++, java и вообще большинстве ЯП log — это натуральный логарифм, пиши явно log2.(done) | ||
+ | :: cursuma и т.п. никуда не годится, используй camelCase.(done) | ||
+ | :: Зачем большие I и J?(done) | ||
+ | :: Что за precul? Во-первых, используй какой-то стиль именования переменных, во-вторых, c'''a'''lculation.(done) | ||
+ | :: log n округлено вверх, или вниз? Разберись и напиши в коде явно, создаётся ощущение что k — double.(done) | ||
+ | :: Для возведения в степень лучше использовать **, так как во многих языках программирования ^ — xor.(done) // ты таки написал (1 << k) вместо явного 2 ** k. В общем-то ладно, и в программе все сдвиг, конечно, юзают, но, имхо, псевдокод надо как можно более явным делать. | ||
+ | :: Зачем вообще всё написано словами? Считаешь скал. произведения - отображай это кодом(хотя бы функцией dotProduct), если хочешь — напиши коммент. В общем, слишком много слов в псевдо''коде''.(done) | ||
+ | |||
+ | : {{tick | ticked=1}} Зачем раздел «постановка задачи»? Перемести это в шапку. | ||
+ | :: Зачем «Рассмотрим следующую задачу:»? Пиши сразу условие задачи, зачем его цитировать? А ещё точка ставится после закрывающей кавычки, а не перед. | ||
+ | : {{tick | ticked=1}} Зачем такой маленький раздел «предподсчет»? Объедини его со сжатием матриц. | ||
+ | : {{tick | ticked=1}} используй везде n одинакового размера | ||
+ | : {{tick | ticked=1}} указать ссылки на какие-нибудь источники | ||
+ | : {{tick | ticked=1}} добавить категории | ||
+ | : Кстати, лучше подписываться. Я тоже забыл в прошлый раз, но всё же. | ||
+ | --[[Участник:Dgerasimov|Дмитрий Герасимов]] 07:57, 16 декабря 2011 (MSK) | ||
+ | |||
+ | == Замечания АС == | ||
+ | : {{tick | ticked=1}} Оценка сложности и выбор k - немного перемудрили. Тут на самом деле нельзя асимптотически улучшить выбором k, но это непросто показать. Достаточно сказать, что выбрав k = \Omega(log n) получаем требуемую сложность | ||
+ | : {{tick | ticked=1}} Код убрать или заменить на псевдокод | ||
+ | : {{tick | ticked=1}} Нужен пример и, желательно, картинка" | ||
+ | :: Пример хороший, но все-таки, обозначь не 0, 1, 2, 3, а 00, 01, 10, 11, будет нагляднее. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 23:37, 12 января 2012 (MSK) | ||
+ | |||
+ | : {{tick | ticked=1}} опять умножение звездочкой. Кто еще обозначит умножение звездочкой в викиконспекте, отправлю в монастырь! | ||
+ | : {{tick | ticked=1}} оформление источников сделать по-человечески | ||
+ | :: А зачем название жирным? | ||
+ | : {{tick | ticked=1}} все также нет картинки общего метода | ||
+ | :: Здесь имеется в виду, что нужно описать еще и общий метод «четырех русских», так как он применяется не только для перемножения матриц. Почитай «Гасфилд — Деревья, строки и последовательности», там на стр. 369 написано про это, попробуй выделить общий метод и сделай какую-то схему/картинку. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 07:34, 13 января 2012 (MSK) | ||
+ | ::: Опять же, мне кажется, это не то что хочет Андрей Сергеевич. Ему нужна картинка _общео_ метода, а не перемножения матриц. --[[Участник:Dgerasimov|Дмитрий Герасимов]] 20:38, 13 января 2012 (MSK) |
Текущая версия на 23:43, 31 января 2019
- ☑ Добавить анализ (почему именно log n) оценки для k.
- ☑ «трудоёмкость» — бррр, асимптотика же.
- ☑ Добавить псевдокод
- писал кучу раз — псевдокод должен явно принимать входные данные и явно возвращать ответ. Тут я этого не наблюдаю.
- не понимаю, в чем сложность сделать код одной функцией, без всякого ввода-вывода. ладно, хрен с ним.
- аргумент после log не в скобках(done)
- Насколько я помню, в c++, java и вообще большинстве ЯП log — это натуральный логарифм, пиши явно log2.(done)
- cursuma и т.п. никуда не годится, используй camelCase.(done)
- Зачем большие I и J?(done)
- Что за precul? Во-первых, используй какой-то стиль именования переменных, во-вторых, calculation.(done)
- log n округлено вверх, или вниз? Разберись и напиши в коде явно, создаётся ощущение что k — double.(done)
- Для возведения в степень лучше использовать **, так как во многих языках программирования ^ — xor.(done) // ты таки написал (1 << k) вместо явного 2 ** k. В общем-то ладно, и в программе все сдвиг, конечно, юзают, но, имхо, псевдокод надо как можно более явным делать.
- Зачем вообще всё написано словами? Считаешь скал. произведения - отображай это кодом(хотя бы функцией dotProduct), если хочешь — напиши коммент. В общем, слишком много слов в псевдокоде.(done)
- писал кучу раз — псевдокод должен явно принимать входные данные и явно возвращать ответ. Тут я этого не наблюдаю.
- ☑ Зачем раздел «постановка задачи»? Перемести это в шапку.
- Зачем «Рассмотрим следующую задачу:»? Пиши сразу условие задачи, зачем его цитировать? А ещё точка ставится после закрывающей кавычки, а не перед.
- ☑ Зачем такой маленький раздел «предподсчет»? Объедини его со сжатием матриц.
- ☑ используй везде n одинакового размера
- ☑ указать ссылки на какие-нибудь источники
- ☑ добавить категории
- Кстати, лучше подписываться. Я тоже забыл в прошлый раз, но всё же.
--Дмитрий Герасимов 07:57, 16 декабря 2011 (MSK)
Замечания АС
- ☑ Оценка сложности и выбор k - немного перемудрили. Тут на самом деле нельзя асимптотически улучшить выбором k, но это непросто показать. Достаточно сказать, что выбрав k = \Omega(log n) получаем требуемую сложность
- ☑ Код убрать или заменить на псевдокод
- ☑ Нужен пример и, желательно, картинка"
- Пример хороший, но все-таки, обозначь не 0, 1, 2, 3, а 00, 01, 10, 11, будет нагляднее. --Дмитрий Герасимов 23:37, 12 января 2012 (MSK)
- ☑ опять умножение звездочкой. Кто еще обозначит умножение звездочкой в викиконспекте, отправлю в монастырь!
- ☑ оформление источников сделать по-человечески
- А зачем название жирным?
- ☑ все также нет картинки общего метода
- Здесь имеется в виду, что нужно описать еще и общий метод «четырех русских», так как он применяется не только для перемножения матриц. Почитай «Гасфилд — Деревья, строки и последовательности», там на стр. 369 написано про это, попробуй выделить общий метод и сделай какую-то схему/картинку. --Дмитрий Герасимов 07:34, 13 января 2012 (MSK)
- Опять же, мне кажется, это не то что хочет Андрей Сергеевич. Ему нужна картинка _общео_ метода, а не перемножения матриц. --Дмитрий Герасимов 20:38, 13 января 2012 (MSK)
- Здесь имеется в виду, что нужно описать еще и общий метод «четырех русских», так как он применяется не только для перемножения матриц. Почитай «Гасфилд — Деревья, строки и последовательности», там на стр. 369 написано про это, попробуй выделить общий метод и сделай какую-то схему/картинку. --Дмитрий Герасимов 07:34, 13 января 2012 (MSK)