Как обрабатывать / получать доступ к «глубоким» ошибкам в MathNet: что такое параметр 4? - PullRequest
1 голос
/ 14 мая 2019

Я исполняю

d = (DenseMatrix)k.Solve(F);

и получите исключение InvalidParameterException:

Message = "An invalid parameter was passed to a native method, parameter number : 4"

Что такое параметр №. 4? Где я передал это в MathNet? Как я могу узнать, что идет не так и что я могу с этим сделать? Я подозреваю, что некоторая подпрограмма LaPack-ish вызвана внутренне с неправильными параметрами. Эти ошибки доступны каким-либо образом?

Хм ... Я нашел здесь: https://numerics.mathdotnet.com/api/MathNet.Numerics.Providers.LinearAlgebra/ILinearAlgebraProvider%601.htm#LUFactor

что LUFactor (...) может быть подпрограммой LaPack dgetrf.

И в документации LaPack я обнаружил, что четвертый аргумент dgetrf - это LDA (при условии, что база 1), размер размера матрицы. Но как же тогда это число ошибиться? Я нигде не вхожу в него и поступает непосредственно от (c #, MathNet) DenseMatrix.

...