Добрый день!

Задача такая:

Есть библиотека http://www.alglib.net/ в которой в процедуре smatrixgevd реализована возможность диагонализации матрицы (решение обобщённой задачи на собственные числа/вектора) в рамках арифметики произвольной точности, её можно скачать по ссылке

http://www.alglib.net/translator/re/alglib-2.6.0.mpfr.zip

Она написана на C++ (там также используется библиотека mpfr, http://www.mpfr.org/).

Я хотел бы вызывать эту процедуру из Delphi.

Т.о. необходимо написать dll-ку с использованием среды C++Builder 10.2 (в крайнем случае Visual Studio).

Т.е. задание состоит в написании

- проекта (dll), которые я мог бы открыть и откомпилировать в C++Builder 10.2/Visual Studio (т.е. не должно быть проблем с зависимостями, все необходимые файлы должны присутствовать).

- тестовой программы (исходника), написанной на Delphi 10.2, в которой вызывается данная dll и получается результат диагонализации (собственные вектора и собственные числа).

При этом используется арифметика произвольной точности, т.е. нужен новый тип в Delphi, в котором будут задаваться матрицы/вектора.

Дополнения:

Для mpfr есть готовая сборка для Visual Studio

http://www.atelierweb.com/mpir-and-mpfr/

Для Delphi есть обёртка для gmp: https://github.com/EricGrange/gmp-wrapper-for-delp...

Может понадобится.

7 лет назад
Proger1
Леонид 
36 лет
7 лет в сервисе
Был
8 месяцев назад

Заявки фрилансеров

Нет заявок фрилансеров