Перейти к публикации

Российские САЕ


Рекомендованные сообщения

Вы всегда говорили что собственные числа зависят от минимального и максимального диагонального члена.

Ну что делать не объяснять же, что матрицы - частные случаи линейных операторов. С помощью максимального и минимального диагональных можно грубо оценить порядок числа обусловленности и,соответственно, число потерянных знаков как учил Стренг это десятичный логарифм числа обусловленности, то есть порядок отношения максимального к минимальному собственному числу, а это не то же самое что сами величины. <noindex> Вот тут этим пользовался </noindex> :unsure:

Ссылка на сообщение
Поделиться на других сайтах


У Стренга в книжке по алгебре описано как раньше десятки лимонов баксов за собственные числа давали :)

Ссылка на сообщение
Поделиться на других сайтах

Вы, как понимающий в ГД, можете взять самую примитивную систему 3-х уравнений (неразр., движ., и энергии) на любой удобной Вам одномерной сетке в невязком приближении и смоделировать какой-нибудь колебательный процесс в реальном газе напр. в трубе.

Аппроксимация неявной схемой даст матрицу, свойства которой будут очень близки к нашей модели. Если у Вас получится с такой матрицей, у меня уверенность в том, что и наша проблема решится.

На пожелания "пойди туда и придумай сам" меня пошлют сразу же.

:)

По вашей статье появилась куча вопросов и, поверьте, проще вам дать вашу типовую матрицу. В идеале не 58000^2.

Ссылка на сообщение
Поделиться на других сайтах

То 6000000х6000000 это маленькая задача, то 58000х58000 уже большая.

При решении прикладных задач первый вариант может считаться нормальным.

При первом знакомстве в коде - идиотическим.

Ссылка на сообщение
Поделиться на других сайтах

У Стренга в книжке по алгебре описано как раньше десятки лимонов баксов за собственные числа давали :)

Да Бог с Вами! Еще 25 лет назад, я считал спектр СЗ Якобиана по пакету EISPACK для быстрого пароводоохлаждаемого реактора с целью определить устойчивость по Ляпунову и не считал это чем-то выдающимся. Сейчас тем более.

Еще одно соображение для Вас.

Я давно вынашиваю мысль (делился даже с В.М. Лебедевым, см. википедию) о спектральноподобных операторах и их применении. Суть: если матрици якобиана в Ньютоновых итерациях - это некий оператор, то можно ли найти некую другую матрицу, более простого вида (3-х или 5-ти диагональную, например) для использования ее в итерациях вместо исходной? Ведь если это возможно, то ускорение итераций - уже не проблема! Вот, по-моему, задачка для математиков с колоссальным экономическим эффектом!

На пожелания "пойди туда и придумай сам" меня пошлют сразу же.

:)

По вашей статье появилась куча вопросов и, поверьте, проще вам дать вашу типовую матрицу. В идеале не 58000^2.

Вопросы задавайте, можете в личку.

Матрицу я Вам дам без проблем. Но важно, чтобы алгоритм работал как с разреженной матрицей. С полной у меня проблем нет.

Ссылка на сообщение
Поделиться на других сайтах

Договор рассыпался. :gun_guns: Вместо вагона леса нашли машину подгнивших дров.

Обсуждение на подобных форумах дает очень ценную инфу о состоянии проблемы и возможных конкурентах на рынке. Часто заклятые друзья объединяются с целью временно дружить против лучшего врага. :biggrin:

Кстати, дрова, даже подгнившие, все равно топливо!

Ссылка на сообщение
Поделиться на других сайтах

Я давно вынашиваю мысль (делился даже с В.М. Лебедевым, см. википедию) о спектральноподобных операторах и их применении. Суть: если матрици якобиана в Ньютоновых итерациях - это некий оператор, то можно ли найти некую другую матрицу, более простого вида (3-х или 5-ти диагональную, например) для использования ее в итерациях вместо исходной? Ведь если это возможно, то ускорение итераций - уже не проблема! Вот, по-моему, задачка для математиков с колоссальным экономическим эффектом!

Как говорится "все уже украдено до нас"(с) - посмотрите методы неполной факторизации.
Ссылка на сообщение
Поделиться на других сайтах

Ну тогда ждем матрицу.

Матрица и правая часть, все одним архивом. Матрица в сжатом постолбцовом формате (CSC - Compressed Sparse Columns). Файлы: Ax - значения, Ai - индексы строк, Ap - указатели столбцов, b - правая часть.

В несжатом формате матрицу создать невозможно - это на сотню гигабайт файл получится.

Matrix.rar

Ссылка на сообщение
Поделиться на других сайтах

Как говорится "все уже украдено до нас"(с) - посмотрите методы неполной факторизации.

Я знаю что метод неполной факторизации является одним из наиболее эффективных итерационных методов решения систем линейных уравнений, порождаемых конечно-разностной аппроксимацией краевых задач математической физики. Этот метод был открыт Н.И.Булеевым и получил затем широкое развитие. Как показано в [В.П.Ильин. Методы неполной факторизации для решения алгебраических систем. - М.: Наука, 1995], где приведена наиболее полная библиография по этому методу, самые сильные результаты с точки зрения увеличения скорости сходимости достигнуты при использовании метода неполной факторизации в качестве предобуславливателя в методе сопряженных градиентов при решении систем линейных уравнений с симметричными матрицами коэффициентов. Однако для несимметричных матриц эти методы не годятся.
Ссылка на сообщение
Поделиться на других сайтах

Однако для несимметричных матриц эти методы не годятся.

Понял.

Я глубоко в них не разбирался, поэтому о данном нюансе не знал

Ссылка на сообщение
Поделиться на других сайтах

Так построчный формат привычнее и удобнее.

Это видимо, чтобы врагов запутать. :rolleyes:

Да, китайское ЧК не дремлет :ph34r:
Ссылка на сообщение
Поделиться на других сайтах

Неполная фвкторизация подходит для любой матрицы.

Так как полная факторизация подходит для любой матрицы.

Вопрос только в степени неполноты.

Дайте ссылку на источник.
Ссылка на сообщение
Поделиться на других сайтах

Матричная (факторизация) прогонка (Бим и Уорминг) - скалярная прогонка (Ковеня и Яненко) - <noindex>неполная факторизация</noindex> (итерационный метод)...

В CFD сейчас популярен <noindex>метод Федоренко</noindex> (и его развитие - MultiGrid). "В 30 раз эффективнее метода Зейделя".

MultiGrid+SOR

Ссылка на сообщение
Поделиться на других сайтах

Если сделать полную факторизацию, то будет 1 итерация. Уменьшая полноту количество итераций возрастает.

Источник - ИСПА.

Это дело не простое. Умозрительные заключения о схожести не прокатят. Под неполной факторизацией строгое матобоснование (ссылку я приводил). Уж на что В.И. Лебедев был корифей, и он признавал здесь огромную нерешенную проблему. В моем же случае ситуация еще хуже - матрица неопределенная с комплексным спектром.

Мы шерстим интернет в поисках чего-то похожего, но пока безрезультатно.

Может быть кого-то это наведет на мыль:

<noindex>http://netlib.org/linalg/html_templates/node59.html</noindex>

Ссылка на сообщение
Поделиться на других сайтах

Как говорится "все уже украдено до нас"(с) - посмотрите методы неполной факторизации.

"Ведь если это возможно, то ускорение итераций - уже не проблема" - предобуславливатели в сопряженных градиентах...

В мкэ использовали - упрощали матрицу, находили приближенное решение и потом уточняли на полной.

" строгое матобоснование " - строгое под нестрогим. Или наоборот :unsure:

"самые сильные результаты с точки зрения увеличения скорости сходимости достигнуты при использовании метода неполной факторизации в качестве предобуславливателя в методе сопряженных градиентов при решении систем линейных уравнений с симметричными матрицами коэффициентов" - самый сильный результат - полная факторизация, в Mathematica это элементарно проверяется. Ну а дальше можно портить помаленьку. На случайных матрицах иногда и не ускоряет. Например обнуляете все элементы меньше чего-то и и разложив неполную используете в качестве предобуславливателя. Когда-то месяц на такие экперименты ухлопал, статью написал, да потерял где-то на дискетах. Тут лотерея. В Ansys уже лет 5-6 используется штатно предобуславливание. Но я лично больше доверяю прямым. С помощью предобуславливателя можно уточнить цифру-другую если матрица плохо обусловлена и справляться примерно с 10**12 - 10**13 обусловленностями

Может Вам просто симметризовать матрицу и свести к хорошо изученным алгоритмам ...

Ссылка на сообщение
Поделиться на других сайтах

Может Вам просто симметризовать матрицу и свести к хорошо изученным алгоритмам ...

Матрица по природе не симметризуется. Я же писал - неопределенная с комплексным спектром СЗ.
Ссылка на сообщение
Поделиться на других сайтах

C u=F => Ct C u = Ct F и все дела. Матрицы наименьших квадратов всегда симметричны - Ct C :unsure:

С собственными числами аналогично, ведь числовой множитель можно вынести. Вроде так...

Ведь матрицы обычно получаются из квадратичных форм или связаны с ними

Ссылка на сообщение
Поделиться на других сайтах

По крайней мере ленточные вроде остаются ленточными с заполнением внутри ленты. Насколько понял у человека речь не об ускорении, а о возможности вообще что-нибудь решить. Все-таки это разные задачи...

Да и в граничных элементах где обычно несимметрия и возятся с полностью заполненными, насколько помню. Логичнее идти от функционала и квадратичной формы и сразу обеспечивать симметрию при построении по возможности. :unsure:

В мкэ тоже можно использовать разные базисные функции для интерполяции напражений и деформаций получать несимметричные матрицы и трахаться от души в поисках новизны с актуальностью :rolleyes:

Ссылка на сообщение
Поделиться на других сайтах
  • MFS открепил тему
Гость
Эта тема закрыта для публикации сообщений.
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




×
×
  • Создать...