Гость pdk 5 августа, 2010 Опубликовано 5 августа, 2010 · Жалоба Имеется следующая проблема: понадобилось мне разложение Шура, поиски привели к функции DHSEQR из LAPACK, с помощью f2c перевел с фортрана на c все что понадобилось (всего ~50 файлов), работает, но очень медленно. Для матрицы N=38 0.32сек ( i920, MSVS без оптимизации).Сложность задачи всего 20*n^3 = 1MFLOP для N=38. В MATLAB же даже для N=1000 функция schur выполняется мгновенно (судя по документации внутри тот же LAPACK ). Кому приходилось сталкиваться с переносом кода из LAPACK, есть ли там тонкости? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 5 августа, 2010 Опубликовано 5 августа, 2010 · Жалоба Имеется следующая проблема: понадобилось мне разложение Шура, поиски привели к функции DHSEQR из LAPACK, с помощью f2c перевел с фортрана на c все что понадобилось (всего ~50 файлов), работает, но очень медленно. Для матрицы N=38 0.32сек ( i920, MSVS без оптимизации).Сложность задачи всего 20*n^3 = 1MFLOP для N=38. В MATLAB же даже для N=1000 функция schur выполняется мгновенно (судя по документации внутри тот же LAPACK ). Кому приходилось сталкиваться с переносом кода из LAPACK, есть ли там тонкости? Классическая книжка Голуба по матричным вычислениям вас спасет. Там проще написать с нуля, чем переносить. Там десяток строк всё разложение Шура, а не полсотни файлов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость pdk 5 августа, 2010 Опубликовано 5 августа, 2010 · Жалоба В книгу обязательно загляну, но фраза из документации LAPACK намекает что все может быть сложнее: Although we started from a working experimental code and we reused some of the older Lapack 3.0 code (in xLAHQR), nevertheless it took many weeks of full time eort to write, debug and tune a nal production version of the new QR algorithm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Xenia 45 5 августа, 2010 Опубликовано 5 августа, 2010 · Жалоба LAPACK - исчадие ада :), где любой, даже простейший алгоритм, оказывается разбит на огромное множество функций. А уж переводить с Фортрана на С удовольствие маленькое, и хотя это на первый взгляд не очень сложная работа, но ошибки лепятся только так. Лично мне по душе алгоритмы из Справочника. Он так и упоминается везде как Справочник с большой буквы, ибо это есть непревзойденный Уилкинсон Дж., Райнш К. — Справочник алгоритмов на языке АЛГОЛ. Линейная алгебра. То что, там используется язык Алгол, пугать не должно - тот язык интуитивно понятен каждому, кто уже знает С. Зато огромный плюс в том, что матрицы в Алголе имеют двухиндексную адресацию, подобно С, а не идиотскую фортрановскую систему держать матрицы в одномерном массиве, изощряясь исчислением в нем индекса. P.S. Если кто знает, где можно добыть этот Справоник в электронном виде, - отзовитесь! Мечтаю такой иметь, но все, что удается скачать из интернета - под паролем "пошлите SMS-ку", а там деньги списывают, а пароля не дают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Самурай 12 5 августа, 2010 Опубликовано 5 августа, 2010 · Жалоба P.S. Если кто знает, где можно добыть этот Справоник в электронном виде, - отзовитесь! Мечтаю такой иметь, но все, что удается скачать из интернета - под паролем "пошлите SMS-ку", а там деньги списывают, а пароля не дают. Вот тут вот без пароля, SMS-ки, денег и совершенно без обмана:))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Гость pdk 6 августа, 2010 Опубликовано 6 августа, 2010 · Жалоба Прорвался! Дело оказалось в следующем: имеется функция dlamch которая вычисляет всякие мин/максы зависящие от конкретного вещественного типа, внутри её есть static переменная благодаря которой трудоемкие вычисления выполняются однократно.... а вот static при конвертации я и потерял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tulebaev 0 19 августа, 2010 Опубликовано 19 августа, 2010 · Жалоба > Справочник алгоритмов на языке АЛГОЛ. > Вот _тут_ вот без пароля, SMS-ки, денег и совершенно без обмана Либрусек говорит "Access denied" -- требуется абонемент? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
tulebaev 0 27 августа, 2010 Опубликовано 27 августа, 2010 (изменено) · Жалоба Без проблем скачал справочник на "Библиотеке Ихтика" http://ihtika.net/?qwe=loginfromfile&f...3256989c860bc51 Изменено 27 августа, 2010 пользователем tulebaev Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться