Я работаю над некой обусловленной большой разреженной линейной системой уравнений. Я хочу использовать двойную арифметику или квадро-двойную арифметику для их решения. Я знаю, что существует пакет под названием MPACK, разработанный Накатой, Махо, который может выполнять числовые линейные алгебраические вычисления в четырехугольной арифметике. Тем не менее, он предназначен для плотной матрицы, а не разреженной матрицы. Знаете ли вы, есть ли какой-нибудь квадратичный арифметический набор разреженных матриц?
sparse-matrix
matrix
condition-number
Ханью Е.
источник
источник
Ответы:
Начиная с версии 3.2 , PETSc поддерживает разреженные вычисления с четверной точностью на gcc / gfortran 4.6 и новее.
Вам понадобятся BLAS и LAPACK с четверной точностью, которые PETSc может предоставить вам (вместе с поддержкой четырех) с помощью следующей (частичной) команды configure:
Увидеть FAQ для получения дополнительной информации.
Кроме того, я согласен с nOOb , если это вообще возможно, попытаться упорядочить систему, прежде чем перейти к четверной точности.
источник
Плохо обусловленные системы лучше решаются путем регуляризации, чем путем увеличения численной точности. Ищите «неправильную регуляризацию» для кровавых подробностей.
источник
Я мог бы попробовать библиотеку Трилино. Они имеют шаблонные библиотеки разреженных матриц под Tpetra (которая должна заменить Epetra, их оригинальную библиотеку разреженных матриц). Вы можете создавать шаблоны double, complex, quad и т. Д., И, возможно, они имеют самый большой выбор решателей (как прямых, так и итеративных) рядом с PETSc.
Редактировать: после прочтения комментариев непосредственная полезность Tpetra кажется немного сомнительной с точностью до четверки ...
источник
__float128
поддерживает Tpetra, не говоря уже о четырехместном. Tpetra не является автономной и не все заголовки, и, даже если это было так, такие вещи, какstd::complex
работать только сfloat
иdouble
.Набор инструментальных средств Multiprecision для MATLAB поддерживает разреженные матрицы и специально оптимизирован для вычислений с четверной точностью.
Вот временные детали для разреженных решателей с четверной точностью: Прямые решатели для разреженных матриц
(Я автор набора инструментов).
источник