2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 uBLAS
Сообщение04.12.2008, 00:06 
uBLAS пакет для работы с линейной алгеброй в C++(boost). Не подскажите можно ли решить СЛАУ каким нибуть методом кроме простой итерацией используя стандартные функции. Или может у кого есть дока на русском.

Пока реализовал м.п.и., но когда норма матрицы больше единицы, процесс не всегда сходится.
Код:
do{
   x = prod(A, xp) + f;
   dx = norm_1(x-xp);
   xp=x;
}while (ndx>epsilon);

 
 
 
 
Сообщение04.12.2008, 13:56 
По-видимому, uBLAS (как сам BLAS) может выполнять только простейшие операции линейной алгебры (не сложнее умножения матрицы на матрицу)

 
 
 
 
Сообщение18.12.2008, 12:19 
K-3 писал(а):
По-видимому, uBLAS (как сам BLAS) может выполнять только простейшие операции линейной алгебры (не сложнее умножения матрицы на матрицу)


А не подскажите как, например, решить СЛАУ с пакетом LAPACK. Нет ли гденибуть на русском языке руководства пользователя или книжки.

 
 
 
 
Сообщение18.12.2008, 12:28 
Введение в LAPACK и BLAS есть в учебнике
Белов С.А., Золотых Н.Ю. Численные методы линейной алгебры. Нижний Новгород: изд-во ННГУ, 2005
Условия приобретения книжки см. на http://www.uic.nnov.ru/~zny/nl/index.html

 
 
 
 
Сообщение18.12.2008, 23:19 
Может кто направит в нужное русло.

Поставил LAPACK. Создал матрицу
Код:
#define ublas  boost::numeric::ublas
ublas::matrix<double> A(n,n);
// заполнил матрицу

Как теперь вычислить число обусловленности?


Читаю
LAPACK Users' Guide Release писал(а):
xyyCON: estimate the reciprocal of the condition number $\kappa(A) = \Vert A\Vert . \Vert A^{-1} \Vert$; Higham's modification [63] of Hager's

но как применить на практике не понятно и в руководстве нет примеров. Все перерыл.

 
 
 
 
Сообщение19.12.2008, 02:19 
1. В "LAPACK Users' Guide" ищете таблицу 2.7: "Table 2.7: Computational routines for linear equations".
2. В этой таблице выбираете тип матрицы. Пусть это будет матрица общего вида с коэффициентами типа double.
3. Выясняете, что для операции "estimate condition number" нужно применить подпрограмму DGECON.
4. В папке ./lapack/testing/lin/ ищете (grep), файлы, где есть вызов DGECON. Получаете имена файлов: dchkge.f, derrge.f.
5. Изучаете эти примеры.

6. Изучаете английский, бросаете курить, ...

 
 
 
 
Сообщение19.12.2008, 16:15 
Yuri Gendelman писал(а):
1. В "LAPACK Users' Guide" ищете таблицу 2.7: "Table 2.7: Computational routines for linear equations".
2. В этой таблице выбираете тип матрицы. Пусть это будет матрица общего вида с коэффициентами типа double.
3. Выясняете, что для операции "estimate condition number" нужно применить подпрограмму DGECON.
4. В папке ./lapack/testing/lin/ ищете (grep), файлы, где есть вызов DGECON. Получаете имена файлов: dchkge.f, derrge.f.
5. Изучаете эти примеры.

А существует ли С++ интерфейс? Может какой другой пакет есть на C++, для работы с матрицами (норма, число обусловленность, решение СЛАУ) ?

Yuri Gendelman писал(а):
6. Изучаете английский, бросаете курить, ...

Это с каждого понедельника собираюсь ...

 
 
 
 
Сообщение19.12.2008, 17:40 
d.dragon.n76 писал(а):
А существует ли С++ интерфейс? Может какой другой пакет есть на C++, для работы с матрицами (норма, число обусловленность, решение СЛАУ) ?
На сайте http://netlib.org/ можно найти пакеты CLAPACK (the C version of LAPACK) и LAPACK++ (the c++ version of lapack). Учтите, что LAPACK существует много лет и хорошо оттестирован.

 
 
 [ Сообщений: 8 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group