The OpenD Programming Language

mir_optimize_least_squares_d

Low level extern(C) wrapper instatiation.

extern (C) @safe nothrow @nogc pragma(inline, false) @system nothrow @nogc pure
mir_optimize_least_squares_d
(
scope const ref LeastSquaresSettings!double settings
,
size_t m
,
size_t n
,
double* x
,
const(double)* l
,
const(double)* u
,
Slice!(double*) work
,,
scope void* fContext
,,
scope void* gContext = null
,
scope LeastSquaresJacobianBetterC!double g = null
,
scope void* tmContext = null
,)

Parameters

settings LeastSquaresSettings!double

Levenberg-Marquardt data structure

fContext void*

context for the function

f LeastSquaresFunctionBetterC!double

n -> m function

gContext void*

context for the Jacobian (optional)

g LeastSquaresJacobianBetterC!double

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 double*

initial (in) and final (out) X value

l const(double)*

lower X bound

u const(double)*

upper X bound

f LeastSquaresFunctionBetterC!double

n -> m function

fContext void*

f context

g LeastSquaresJacobianBetterC!double

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!(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