Матрицы онлайн решить: Онлайн решение задач по математике. Матрицы

c++ — Ищу тестовые матрицы/системы для итеративного линейного решателя

Задавать вопрос

спросил

Изменено 11 лет, 5 месяцев назад

Просмотрено 3к раз

В настоящее время я работаю над библиотекой на основе C++ для больших разреженных задач линейной алгебры (да, я знаю, что существует много таких библиотек, но я использую свою собственную в основном для того, чтобы узнать об итерационных решателях, разреженных контейнерах для хранения и т. д.). ).

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

Я нашел несколько источников таких системных матриц, таких как:

Matrix Market UF Sparse Matrix Collection

При этом я еще не нашел источников хороших тестовых матриц, включающих всю системную матрицу и RHS. Это было бы здорово иметь для проверки результатов. Любые советы о том, где я могу найти такие полные системы, или, в качестве альтернативы, что я могу сделать, чтобы создать «хорошую» RHS для системных матриц, которые я могу получить в Интернете? В настоящее время я просто заполняю матрицу случайными значениями или всеми, но подозреваю, что это не обязательно лучший способ.

  • c++
  • матрица
  • линейная алгебра
  • решатель
  • итерация

3

Я бы предложил использовать правосторонний вектор, полученный из предопределенного «целевого» решения x:

 b = A*x
 

Затем у вас есть целевое решение x и результирующее решение x от решателя.

Это означает, что вы можете сравнить ошибку (разность цели и полученных решений), а также остатки (A * x — b).

Обратите внимание, что для тщательной оценки итеративного решателя вам также необходимо решить, что использовать для начального x.

Онлайн-коллекции матриц в основном содержат левостороннюю матрицу, но некоторые из них включают правосторонние матрицы, а некоторые также имеют векторы решений.:

http://www.cise.ufl.edu/research /sparse/matrices/rhs.txt

Кстати, для коллекции разреженных матриц UF я бы предложил эту ссылку:

http://www.cise.ufl.edu/research/sparse/matrices/

Я еще не использовал его, собираюсь, но GiNAC кажется лучшим, что я нашел для C++. Это библиотека, используемая в Maple для CAS, я не знаю ее производительности для .

http://www.ginac.de/

было бы неплохо указать, какие проблемы вы решаете… разные проблемы потребуют использования разных RHS для проверки достоверности….. я предлагаю получить пример кода из некоторых проектов, таких как DUNE Numerics (я работаю над этим прямо сейчас), FENICS, сделка.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *