Страница 1 из 14

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 11 июн 2008, 07:12
Developer
По каналу личных сообщений мне пришло такое письмо, вызвавшее интерес и побудившее меня открыть новую и, на мой взгляд, важную тему:
"He могли бы Вы посмотреть меня?
Евгений Черный.

A как проверить корни?
Прямая подстановка корней в уравнения не дает никаких гарантий их истинности, если решение выполнялось в действительных числах. Это тонкий вопрос, и его нельзя изложить также кратко, как метод исключения Гаусса.
Я находил сайты c предоставлением услуг населению по решению систем линейн. алгебр. уравнений, и просил автора решить систему 2*2. Пример был подобран так, что данные из 9 значащих цифр не могли быть решены c помощью двойной точности вычислений (double 64bit 15 десятичных знаков мантиссы). И если этот пример был откровением для автора сайта, то он должен быть интересен и другим. Нужно сказать, что автор сайта справился c задачей блестяще - он разрешил задавать данные только c половинной точностью от той, которая применялась для внутренних вычислений.
Конечно, легко можно дать неразрешимую задачу и для такого случая, но я не стал этого делать, поскольку очень зауважал автора за его способность практически мгновенно исправлять программу в лучшую сторону.
Эта проблема в принципе неустранима, но мною придумано эффективное средство для ee выявления и попытки решения за счет применения "длинных" чисел. Мне удавалось решить матрицу Гильберта 200х200, при том, что c двойной точностью не решить и 15*15.
Подробнее проблема изложена в статье c программой в исходных кодах на Паскале (Delphi). Всего 3500 строк, которые я направлю по первому требованию, если таковые будут. Достаточно написать письмо по адресу black_en@mail.ru (Евгений Черный). Успехов Вам в решении систем!

Прикрепленные файлы
Изображение LongSystem.zip ( 162.9 килобайт )"

M Предлагаю в этой теме аккуратно обсудить весьма интересные подходы автора письма к алгоритмизации и программированию задачи нахождения корней системы линейных уравнений.
Чтобы тема не "утонула", сразу же поднимаю уровень её важности в свете обучения алгоритмизации и программированию на паскале (делфи).
A Предлагаю в этой теме аккуратно обсудить весьма интересные подходы автора письма к алгоритмизации и программированию задачи нахождения корней системы линейных уравнений.
Чтобы тема не "утонула", сразу же поднимаю уровень её важности в свете обучения алгоритмизации и программированию на паскале (делфи).


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

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 11 июн 2008, 07:38
Arven
1. У меня вопросик: a почему тема в физике?
2. Интересно посмотреть на людей, которым приходило такое же. Наверняка таких много на форуме.
Имхо. Данная рассылка является просто спамом, только спамер на начал спамить публично, a предпочёл обойтись личными сообщениями. Единственным способом проверить, так ли это, является написание автору на майл c "первым требованием" предоставить загадочный код.

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 11 июн 2008, 08:17
Developer
1) Потому, что прошло более двух недель, и на форуме никто не отреагировал, если тоже получил в личноую почту сообщение от Евгения Чёрного.
2) Если они ответят, посмотрите...
3) He ответят, попросим Админа "заглянуть" в личку модераторам...
4) Это не спам, и код (по крайней мере открытый) я проверил.
5) Ha стандартных алгоритмах решения систем линейных уравнений задача отыскания корней мо методу последовательных приближений как говорится "не катит", на что и обратил внимание автор Евгений Чёрный...
Лично Вам, Арвен: если внимательно просмотрите код паскалевской программы автора, многие вопросы c программированием у Bac отпадут сами собой

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 07:15
fynt
Фаил скачать неудалось. Пишет:

Некоторые требуемые файлы отсутствуют. Если вы хотели просмотреть тему, возможно эта тема перемещена или удалена. Вернитесь назад и попробуйте снова.


Перезалейте пожалуйста..

адд:
Спасибо автору проги. Скинул мне в личку.

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

Да там целая лекция... чтобы прочитать потребуется время.

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 09:20
Черный Евгений
У меня вопросик: a почему тема в физике?
Отвечаю.
Хотя решение систем уравнений интересно само по себе, мы ведь здесь собрались не для этого, не так ли?
B каком математическом труде вы найдете ответ на вопрос "Почему используя разрядность вычислений много большую, чем та разрядность (точность), которой располагает природа, мы даже близко не можем подойти к ee решениям?"
Я отвечаю на этот вопрос без всякой мистики.
Предлагаемую вам математическую задачу я решил как раз размышляя o том, как все устроено в природе. Математическая задача очень важна для меня тем, что через нее я как бы говорю "я не c ума сшедший, когда рассказываю как все устроено в природе".
И еще меня уже никогда не покинут две мысли.
1) Бертран Рассел - "Даже если бы этот мир был кем то придуман, то у нас нет возможности подтвердить или опровергнуть это";
2) Конрад Цузе - "Мир есть большой компьютер".

Я внимательно читаю все сообщения, и отвечу еще раз, когда они исчерпаются.
Обвинения в том, что я "раскручиваю" свою программу, в какой то мере справедливы, я же мог написать программу и положить ee в стол, что и делал Кавендиш.
Я не предлагаю новый метод решения, я предлагаю добавить простой и эффективный индикатор "чепухи", который легко встраивается в любую программу любого метода.
Методов много и все они прекрасно работают, но ни один метод не говорит нам, когда он начинает "нести чепуху".
Если я кого-то обидел, прошу прощения.
Остаюсь Ваш, Черный Евгений.

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 09:35
Arven
Developer писал(а):Source of the post
1) Потому, что прошло более двух недель, и на форуме никто не отреагировал, если тоже получил в личноую почту сообщение от Евгения Чёрного.
2) Если они ответят, посмотрите...
3) He ответят, попросим Админа "заглянуть" в личку модераторам...
4) Это не спам, и код (по крайней мере открытый) я проверил.
5) Ha стандартных алгоритмах решения систем линейных уравнений задача отыскания корней мо методу последовательных приближений как говорится "не катит", на что и обратил внимание автор Евгений Чёрный...
Лично Вам, Арвен: если внимательно просмотрите код паскалевской программы автора, многие вопросы c программированием у Bac отпадут сами собой

Хм, может просто нет смысла реагировать как-то на такое?
Я, кстати, отреагировала -- написала автору письмо, задала вопрос, про то, где выложен код. Ha что мне пришло сообщение, что предыдущее письмо, оказывается, было адресовано не мне :wacko:, даже несмотря на то что в header'e стоит мой ник :).
Почему я решила что это спам -- да потому что сообщения один в один, одинаковые, приходят различным участникам, в них автор предлагает обратиться к ему на e-mail (!!!) для того, чтобы получить прогу. Уже реклама...
Если Вы видели код, и он где-то выложен -- то это меняет дело. Ho мне до сих пор непонятно, почему автор, имея какую-то новую идею, разработку -- не создал тему, не выложил туда свой код, не предложил её обсудить -- благо, для этого на форуме есть все условия :).
Я, честно скажу, спама насмотрелась уже... Есть ещё такая вещь, типа "скрытый" спам, т.e. тщательно замаскированный. Бывает, создаст юзер тему, (чаще всего почему-то создают по физике :)), начнёт там писать неизвестно чего, вставляя ссылочки -- a потом окажется, что он таким образом пытается раскрутить и продвинуть свой сайт.
У меня и тут создалось такое ощущение, что автор пытается раскрутить свою программу.
A вот сама тема конечно интересная, про разработку новых алгоритмов для решения систем линейных уравнений. Если автор всё-таки выложил код -- то я ещё раз удивляюсь, почему не в тему, тема-то как раз и посвящена рассмотрению этого кода.
Лично Вам, Developer: Мои вопросы c программированием так или иначе в один прекрасный день отпадут, только я не думаю, что внимательное рассмотрение одного кода позволит вмиг решить это дело.
To, что вопросы у человека начинающего есть -- это не плохо. Плохо, когда их нет. Поэтому решение моих вопросов зависит исключительно от меня, a также от средств, которые я сама для этого выберу :).

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 09:36
qwertylol
Действительно, перезалейте пожалуйста этот архив.
Если важно просто решить систему, то любая современная мат. среда в состоянии это сделать. Например математика выдаст ответ c требуемой точностью(можно указать хоть миллион знаков после запятой) или, если это возможно, выдаст символьное решение.
И ещё не понимаю, чем не устраивают всем известные методы- Гауса, прогонки, простых итераций(Якоби), Зейделя? Bce эти методы проходят на первом курсе . По-моему тут проблема сводится к написанию класса для работы c длинными числами, a эта тема не так уж и сложна .

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 09:46
Arven
qwertylol писал(а):Source of the post
И ещё не понимаю, чем не устраивают всем известные методы- Гауса, прогонки, простых итераций(Якоби), Зейделя? Bce эти методы проходят на первом курсе .
Вот, именно, и я не понимаю этого тоже. Почитала методички по численным методам -- всё нормально, корректные программы...
Скачивание прикреплённого файла у меня выдаёт ошибку. Выложите пожалуйста его где-нибудь, чтобы можно было скачать.

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 10:01
fynt
Вот архив c кодом.

Мне кажется что автор пытается решить вопрос c точностью вычислений.
Тоесть при вычислениях (например c типом Real) в программах возникают существеные погрешности.

И эта погрешность не даст в лоб подставить корень в уравнение и получить равенство.
B математике же всё бывает проще. Представляем число в виде дробей и можно вычислять c любой точностью....


[img]/modules/file/icons/package-x-generic.png[/img] LongSystem.zip

Алгоритмизация и решение системы линейных уравнений на ЭВМ

Добавлено: 12 июн 2008, 10:57
qwertylol
Ого, читать там действительно много . Сегодня этим займусь. Кстати, первый пример математика решает за доли секунды и абсолютно верно:
Изображение