# orx-gradient-descent Finds equation inputs that output a minimum value: easy to use gradient descent based minimizer. ## Usage ```kotlin // define a model class Model { var x = 0.0 var y = 0.0 } val model = Model() minimizeModel(model) { m -> (m.x-4.0)*(m.x-4.0) + (m.y-3.0)*(m.y-3.0) } // model.x is close to 4 and model y is close to 3 at this point ``` ## Data binding Currently we support minimizing model classes that contain `Double`, `Vector2`, `Vector3` and `Vector4` typed properties, other types are silently ignored. An example of a supported model: ```kotlin class Model { var x = 0.0 var y = 0.0 var v2 = Vector2.ZERO } ```