The OpenD Programming Language

optimizeLeastSquaresD

Low level extern(D) instatiation.

pragma(inline, false) @trusted nothrow @nogc pure
optimizeLeastSquaresD
(
scope const ref LeastSquaresSettings!double settings
,
size_t m
,
Slice!(double*) x
,
Slice!(const(double)*) l
,
Slice!(const(double)*) u
,
Slice!(double*) work
,,
scope LeastSquaresFunction!double f
,
scope LeastSquaresJacobian!double g = null
,)

Parameters

settings LeastSquaresSettings!double

Levenberg-Marquardt data structure

m size_t

length (dimension) of y = f(x)

x Slice!(double*)

initial (in) and final (out) X value

l Slice!(const(double)*)

lower X bound

u Slice!(const(double)*)

upper X bound

f LeastSquaresFunction!double

n -> m function

g LeastSquaresJacobian!double

m × n Jacobian (optional)

tm LeastSquaresThreadManager

thread manager for finite difference jacobian approximation in case of g is null (optional)

work Slice!(double*)

floating point workspace length of at least mir_least_squares_work_length

iwork Slice!(lapackint*)

floating point workspace length of at least mir_least_squares_iwork_length

Meta