Нужен пример кода для получения обратной квадратной матрицы с использованием декомпозиции gsl LU - PullRequest
1 голос
/ 16 марта 2012

Может кто-нибудь любезно показать мне пример кода на c ++, как вызвать функцию gsl gsl_linalg_LU_decomp () и как получить обратную матрицу?Очень ценю это!

1 Ответ

1 голос
/ 16 марта 2012

Я предполагаю, что вам не нужно реальное обратное, но вам нужно решить задачу типа Ax = b.Если это так, то есть довольно хороший пример здесь .Если вы используете контейнеры STL для своих данных, например, std::vector, то вам нужно передать указатель на первую запись данных, например

std::vector<double> vec(length,val);
gsl_needs_ptr_to_double(&vec[0]);

. Если вам нужна реальная инверсия A, следуйте инструкциямЯ привел пример, чтобы получить декомпозицию LU и затем вызвать функцию gsl_linalg_LU_invert.Библиотека gsl является проектом GNU и, как правило, хорошо документирована в Интернете, поэтому я советую вам немного потратить время на ее чтение.

...