optimizeLeastSquaresD

Low level extern(D) instatiation.

  1. LeastSquaresResult!double optimizeLeastSquaresD(LeastSquaresSettings!double settings, size_t m, Slice!(double*) x, Slice!(const(double)*) l, Slice!(const(double)*) u, Slice!(double*) work, Slice!(lapackint*) iwork, LeastSquaresFunction!double f, LeastSquaresJacobian!double g, LeastSquaresThreadManager tm)
    pragma(inline, false) @trusted nothrow @nogc pure
    optimizeLeastSquaresD
    (,
    size_t m
    ,
    Slice!(double*) x
    ,
    Slice!(const(double)*) l
    ,
    Slice!(const(double)*) u
    ,
    Slice!(double*) work
    ,
    Slice!(lapackint*) iwork
    ,
    scope LeastSquaresFunction!double f
    ,
    scope LeastSquaresJacobian!double g = null
    ,)
  2. LeastSquaresResult!float optimizeLeastSquaresS(LeastSquaresSettings!float settings, size_t m, Slice!(float*) x, Slice!(const(float)*) l, Slice!(const(float)*) u, Slice!(float*) work, Slice!(lapackint*) iwork, LeastSquaresFunction!float f, LeastSquaresJacobian!float g, LeastSquaresThreadManager tm)
  3. alias optimizeLeastSquares(T : double) = optimizeLeastSquaresD
  4. alias optimizeLeastSquares(T : float) = optimizeLeastSquaresS

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