Я только начинаю смотреть на то, как QuantLib будет работать с нашим проектом C # с использованием предоставленных привязок SWIG.
Теперь у меня все работает, но я пытаюсь настроить матрицу, а затем выполнить декомпозицию Холецкого. Эта процедура присутствует в Quantlib (поиск Холецкого в http://quantlib.org/reference/class_quant_lib_1_1_matrix.html#ae99bf007dfbac44521a082ca343c4160), но C #, похоже, совершенно не может его найти.
Я пытался звонить прямо CholeskyDecomposition(myMatrix)
с QuantLib в предложениях Using, а также просматривая список того, что Intellisense предлагает после ввода QuantLib.
в коде.
Сканируя файлы SWIG, я нигде не вижу упомянутого в тексте Cholesky, что наводит меня на мысль, что этот звонок может быть не включен.
Поскольку мы только собираемся решить, стоит ли начинать использовать эту библиотеку, я бы поэтому хотел проверить, чтобы файлы SWIG имели полный набор вызовов QuantLib, а если нет, то есть ли список вызовов, которые есть в коде C ++ но не обрабатывается SWIG? (Конечно, если SWIG содержит вызов Cholesky, то способ его вызова тоже поможет!)
Нет, привязки SWIG не являются полнофункциональными. Участники, которые предоставляют новые функции для библиотеки C ++, не всегда предоставляют привязки (или не могут; не все знакомы с SWIG и трюками, которые мы играем в интерфейсах), поэтому они отстают. Функции добавляются по частям: иногда пользователю нужна отсутствующая функция, которая экспортирует ее и вносит в нее свой вклад; или другой раз, кто-то просит отсутствующую функцию, и кто-то находит время, чтобы написать ее. Как и следовало ожидать, первый случай чаще.
Насколько я знаю, нет списка необработанных звонков. Это пострадает от той же проблемы; кто-то, добавляющий новую функцию в библиотеку C ++, должен был бы помнить, чтобы держать ее в синхронизации …