Я только что скачал последнюю версию ILNumerics для использования в моем проекте F#. Можно ли использовать эту библиотеку в F#? Я пробовал простые вычисления, и они кажутся очень громоздкими (на F#).
Я хотел бы задать задачу оптимизации с ограничениями (или даже без ограничений). Подойдет обычная функция Розенброка, а затем я воспользуюсь своей собственной функцией. У меня тяжелые времена, когда определяется даже массив. Единственный тип массива, который я мог определить, был RetArray, например, с помощью этого кода
let vector = ILMath.vector<float>(1.0, 2.0)
Компилятор сигнализирует, что вектор представляет собой RetArray; Я думаю, это связано с тем, что он возвращается из функции (например, ILMath.vector). Если я определяю другой подобный вектор, я могу, например, суммировать векторы, просто написав, например
let a = ILMath.vector<float>(1.0, 2.0)
let b = ILMath.vector<float>(3.2,2.2)
let c = a + b
и я получаю
RetArray<float> = seq [4.2; 4.2]
но если я попытаюсь получить значение c, опять же, написав, например, в FSI,
c;;
я получил
Ошибка: ссылка на объект не указывает на экземпляр объекта.
Каков предлагаемый способ использования ILNumerics в F#? Можно ли использовать библиотеку изначально в F#, или я вынужден вызывать свой код F# из библиотеки C#, чтобы использовать всю библиотеку ILNumerics? Помимо упомянутой проблемы, у меня есть проблемы с пониманием самой базовой логики ILNumerics при переносе на F #.
Например, что было бы F# эквивалентом C# с использованием области действия, как в примере кода, например:
using (ILScope.Enter(inData)) { ...
}
using
вот ссылка на язык на управление ресурсами. Таким образом, код будет выглядеть какusing (ILScope.Enter inData) (fun () -> some computations)
- person JL0PD   schedule 10.03.2021