Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259

Библиотека Armadillo для решения СЛАУ

25.10.2015, 12:41. Показов 6584. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Решал систему уравнений (13х13)
C++
1
ddp = solve(A, B);
С размерами все нормально, решение существует. Получаю такую матню:
C++
1
2
3
4
5
6
7
8
9
10
************** Exception Text **************
System.Runtime.InteropServices.SEHException (0x80004005): External component has thrown an exception.
   at _CxxThrowException(Void* , _s__ThrowInfo* )
   at arma.?A0x3e4acfb2.arma_stop<char const [52]>($ArrayType$$$BY0DE@$$CBD* x) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\debug.hpp:line 107
   at arma.auxlib.solve<double,class arma::Mat<double> >(Mat<double>* out, Mat<double>* A, Base<double\,arma::Mat<double> >* X, Boolean slow) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\auxlib_meat.hpp:line 3378
   at arma.glue_solve.solve_direct<double,class arma::Mat<double> >(Mat<double>* out, Mat<double>* A, Base<double\,arma::Mat<double> >* X, Boolean slow) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\glue_solve_meat.hpp:line 28
   at arma.glue_solve.apply<class arma::Mat<double>,class arma::Mat<double> >(Mat<double>* out, Glue<arma::Mat<double>\,arma::Mat<double>\,arma::glue_solve>* X) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\glue_solve_meat.hpp:line 62
   at arma.Mat<double>.operator=<class arma::Mat<double>,class arma::Mat<double>,class arma::glue_solve>(Mat<double>* , Glue<arma::Mat<double>\,arma::Mat<double>\,arma::glue_solve>* X) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\mat_meat.hpp:line 4810
   at arma.solve<class arma::Mat<double>,class arma::Mat<double> >(Mat<double>* out, Base<double\,arma::Mat<double> >* A, Base<double\,arma::Mat<double> >* B, Boolean slow, Double* junk) in d:\programs\visual_cpp\vc\include\armadillo\armadillo_bits\fn_solve.hpp:line 124
   at F(fixed<16>* , fixed<16>* p) in d:\studying\c++\visual_studio\dynamics\double_rod_with_slider\opengl_on_a_windows_form\ode.h:line 97
Подключил к проекту папку с библиотеками. В линковщике дописал
blas_win64_MT.lib
lapack_win64_MT.lib
В папке еще есть .dll, но я не знаю шо с ними делать

Может установить еще чет надо? Спасибо
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2015, 12:41
Ответы с готовыми решениями:

Программа для решения СЛАУ
Здравствуйте,в общем, моя программа решает СЛАУ матричным методом, на основе библиотеки Matrixclass, программа вылетает из-за привышения...

Метод для решения СЛАУ
Вообщем есть такая система на картинке. Нужно ее решить каким-либо способом, не важно. Пробовал решить через матричный метод, но...

Метод LU разложения для решения СЛАУ
Всем привет! Подскажите пожалуйста - для каких матриц A подходит метод LU(sq) разложения( т.е. у L и U диагональные элементы равны ). ...

27
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
26.10.2015, 15:59
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от nuHrBuH Посмотреть сообщение
А библиотеки я другие скачал, для 32-ой платформы (в проекте будет использоваться openGL, а он для 32).
Я просто хочу,чтобы вы получили результат. Под 32-ую платформу изменить будет не сложно. Но скорей всего надо будет использовать либо дополнительный ключ либо другой инструмент(x64 Native Tools Command Prompt судя по названию для x64).

Цитата Сообщение от nuHrBuH Посмотреть сообщение
Может очередность другая должна быть?
Нет,не думаю,что дело в этом я у себя проверял именно в таком порядке. Попробуйте убрать пробельные символы и \ в конце пути убрать.
1
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
26.10.2015, 18:10  [ТС]
По крайней мере нерешенных символов меньше

Может все-таки проблема в компиляторе? Не просто ж так оно пишет об устаревшести?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
26.10.2015, 19:22
Цитата Сообщение от nuHrBuH Посмотреть сообщение
Может все-таки проблема в компиляторе? Не просто ж так оно пишет об устаревшести?
Нет. У вас выбивает ошибку линковки,Armadillo умеет работать и без поддержки C++11.
Тогда проверьте очевидное: наличие указанных .lib файлов и правильность прописанных имен.

А еще прикрепите в архиве win32 библиотеки и свой .cpp файл. Проверю как с ними собирать.
1
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
27.10.2015, 11:59  [ТС]
Win32 библиотеки, те которые для OpenGL? А .cpp какой(я все в хидерах писал)?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
27.10.2015, 13:15
Цитата Сообщение от nuHrBuH Посмотреть сообщение
Win32 библиотеки, те которые для OpenGL? А .cpp какой(я все в хидерах писал
Давайте пока без OpenGL, а разберемся с простым Armadillo.
И с самого начала по пунктам:
1. Создайте новую папку.
2. Смените директорию к созданной папке в VS2010 x64 Native Tools Command Prompt
3. Создайте .cpp файл допустим test.cpp с таким содержимым:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <armadillo>
 
int main(){
 
    double A_[5][5] = { {1, 5, 5, 6, 1},
                        {6, 2, 6, 1, 12},
                        {1, 6, 1, 1, 13},
                        {6, 1, 1, 1, 1},
                        {5, 12,12,1, 5} };
    double B_[5] = {5, 1, 5, 12, 13};
 
    arma::mat::fixed<5,5> A;
    arma::vec::fixed<5> B;
 
    for(int i = 0 ; i < 5; i ++){
        for(int j = 0; j < 5; j++)
            A(i,j) = A_[i][j];
        B(i) = B_[i];
    }
    std::cout << solve(A,B);
    return 0;
}
4. Сохраните и скомпилируйте с консоли такой командой:
Code
1
cl cyber.cpp /I"d:\Programs\Visual_Cpp\VC\include\armadillo"  /D "ARMA_USE_LAPACK" /D "ARMA_USE_BLAS" /MT /link /DYNAMICBASE "blas_win64_MT.lib" "lapack_win64_MT.lib" /LIBPATH:"d:\Programs\Visual_Cpp\VC\include\armadillo\lib_win32"
5. Если не получится проверьте,что blas_win64_MT.lib и lapack_win64_MT.lib находятся по указанному в LIBPATH пути.
6. Если получится,перенесите к .exe .dll и можете запускать.
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
27.10.2015, 15:18  [ТС]
Все в порядке, все пишу правильно
Оно же написало бы, если бы не находило библиотеки (пробывал с ошибкой писать)
И, кстати, у меня нету Native, только такие. Пробовал везде писать, везде одно и то же)
0
 Аватар для nuHrBuH
483 / 427 / 205
Регистрация: 04.03.2011
Сообщений: 1,259
27.10.2015, 15:36  [ТС]
Какая разница между версиями библиотек Debug и Release?
0
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,243
27.10.2015, 16:06
Цитата Сообщение от nuHrBuH Посмотреть сообщение
И, кстати, у меня нету Native, только такие. Пробовал везде писать, везде одно и то же)
выбирайте первый или нижний.

Цитата Сообщение от nuHrBuH Посмотреть сообщение
Какая разница между версиями библиотек Debug и Release?
теоретически - разные возможности, на практике - не знаю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.10.2015, 16:06

Метод Гаусса для решения СЛАУ
Здравствуйте! У меня есть алгоритм решения СЛАУ методом Гаусса, но почему-то он не работает((( Я проверил промежуточные матрицы, все ОК! И...

Метод Холецкого для решения Слау
Ты не мог бы выложить программу?

Составить программу для решения СЛАУ
Помогите составить программу для решения систем линейных алгебраических уравнений (СЛАУ) Ax=b, A=(aij)nxn, aij принадлежит R, b,x -...

Метод Холецкого для решения Слау
Здравствуйте все. Не подскажете где найти подробное описание метода Холецкого для решеня системы линейных уравнений. По интернету искал...

Разложение Холецкого для решения СЛАУ
Здравствуйте помогите пожалуйста создать программу на с++ которая решает СЛАУ методом разложении Холецкого , Элементы матрицы должны...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru