The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"C/C++ solve matric A*X=B"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (C/C++)
Изначальное сообщение [ Отслеживать ]

"C/C++ solve matric A*X=B"  +/
Сообщение от handler2006 email(ok) on 23-Апр-12, 14:00 
Здравствуйте!
Как ни стараюсь, самостоятельно найти библиотеку для решения СЛАУ не смог. Искал  в boost (там такого нет) и alglib(есть метод но почему-то не компилится)
Вы не могли бы посоветовать мне хорошую библиотеку для работы с матрицами (решение СЛАУ, нахождения собственных чисел, векторов и т.д.)
Спасибо,
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "C/C++ solve matric A*X=B"  +/
Сообщение от DeadMustdie email(??) on 24-Апр-12, 10:26 
http://arma.sourceforge.net/
http://www.netlib.org/lapack/
http://seldon.sourceforge.net/

отчасти
http://www.boost.org/doc/libs/1_49_0/libs/numeric/ublas/doc/...

Google в помощь!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "C/C++ solve matric A*X=B"  +/
Сообщение от Andrey Mitrofanov on 24-Апр-12, 10:38 
ответ неполный. не раскрыты темы "как решать уравнение" и "как программить".</.>
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "C/C++ solve matric A*X=B"  +/
Сообщение от handler2006 email(ok) on 24-Апр-12, 11:23 
Знаю, что вопрос глупый и заезженный, однако, самостоятельно, зная про boost, google, lapack, etc. не смог найти ответ
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "C/C++ solve matric A*X=B"  +/
Сообщение от handler2006 email(ok) on 25-Апр-12, 12:11 
Всем спасибо за участие - со скрипом разобрался (то есть написал функцию, но еще не проверял правильность вычислений).
Далее привожу рабочий пример кода функции, решающей СЛАУ на boost:


#include <boost/numeric/ublas/lu.hpp>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/vector.hpp>

using namespace boost::numeric::ublas;

template<class T>
void solve(matrix<T> &A, vector<T> &X, vector<T> &B)
{
  permutation_matrix<T> P(B.size());
  lu_factorize(A,P);
  X = B;
  lu_substitute(A,P,X);
}


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "C/C++ solve matric A*X=B"  +/
Сообщение от deadmustdie email on 14-Май-12, 14:51 
> ответ неполный. не раскрыты темы "как решать уравнение" и "как программить".</.>

Тему сисек я и вовсе даже не пытался раскрыть ;)

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "C/C++ solve matric A*X=B"  +/
Сообщение от handler2006 email(ok) on 14-Май-12, 16:06 
Странно, что в boost нет явного метода solve(), как, к примеру, в armadillo, ведь последняя написана на boost, Как, собственно нет функций получения обратных матриц и прочих тривиальных распространенных матричных вычислений.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру