mir_optimize_least_squares_s

Low level extern(C) wrapper instatiation.

  1. LeastSquaresResult!double mir_optimize_least_squares_d(LeastSquaresSettings!double settings, size_t m, size_t n, double* x, const(double)* l, const(double)* u, Slice!(double*) work, Slice!(lapackint*) iwork, void* fContext, LeastSquaresFunctionBetterC!double f, void* gContext, LeastSquaresJacobianBetterC!double g, void* tmContext, LeastSquaresThreadManagerBetterC tm)
  2. LeastSquaresResult!float mir_optimize_least_squares_s(LeastSquaresSettings!float settings, size_t m, size_t n, float* x, const(float)* l, const(float)* u, Slice!(float*) work, Slice!(lapackint*) iwork, void* fContext, LeastSquaresFunctionBetterC!float f, void* gContext, LeastSquaresJacobianBetterC!float g, void* tmContext, LeastSquaresThreadManagerBetterC tm)
    extern (C) @safe nothrow @nogc extern (C) pragma(inline, false) @system nothrow @nogc pure
    mir_optimize_least_squares_s
    (,
    size_t m
    ,
    size_t n
    ,
    float* x
    ,
    const(float)* l
    ,
    const(float)* u
    ,
    Slice!(float*) work
    ,
    Slice!(lapackint*) iwork
    ,
    scope void* fContext
    ,,
    scope void* gContext = null
    ,
    scope LeastSquaresJacobianBetterC!float g = null
    ,
    scope void* tmContext = null
    ,)
  3. alias mir_optimize_least_squares(T : double) = mir_optimize_least_squares_d
  4. alias mir_optimize_least_squares(T : float) = mir_optimize_least_squares_s

Parameters

settings LeastSquaresSettings!float

Levenberg-Marquardt data structure

fContext void*

context for the function

f LeastSquaresFunctionBetterC!float

n -> m function

gContext void*

context for the Jacobian (optional)

g LeastSquaresJacobianBetterC!float

m × n Jacobian (optional)

tm LeastSquaresThreadManagerBetterC

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

m size_t

length (dimension) of y = f(x)

n size_t

length (dimension) of X

x float*

initial (in) and final (out) X value

l const(float)*

lower X bound

u const(float)*

upper X bound

f LeastSquaresFunctionBetterC!float

n -> m function

fContext void*

f context

g LeastSquaresJacobianBetterC!float

m × n Jacobian (optional)

gContext void*

g context

tm LeastSquaresThreadManagerBetterC

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

tmContext void*

tm context

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