optimizeLeastSquaresS

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)
  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)
    pragma(inline, false) @trusted nothrow @nogc pure
    optimizeLeastSquaresS
    (,
    size_t m
    ,
    Slice!(float*) x
    ,
    Slice!(const(float)*) l
    ,
    Slice!(const(float)*) u
    ,
    Slice!(float*) work
    ,
    Slice!(lapackint*) iwork
    ,,
    scope LeastSquaresJacobian!float g = null
    ,)
  3. alias optimizeLeastSquares(T : double) = optimizeLeastSquaresD
  4. alias optimizeLeastSquares(T : float) = optimizeLeastSquaresS

Parameters

settings LeastSquaresSettings!float

Levenberg-Marquardt data structure

m size_t

length (dimension) of y = f(x)

x Slice!(float*)

initial (in) and final (out) X value

l Slice!(const(float)*)

lower X bound

u Slice!(const(float)*)

upper X bound

f LeastSquaresFunction!float

n -> m function

g LeastSquaresJacobian!float

m × n Jacobian (optional)

tm LeastSquaresThreadManager

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

work Slice!(float*)

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