Home | History | Annotate | Download | only in ceres

Lines Matching refs:Problem

32 // The Problem object is used to build and hold least squares problems.
66 // blocks from a Problem after adding them.
82 // example, in a structure from motion problem a residual
100 // The canonical example of a sparse least squares problem is
106 // To create a least squares problem, use the AddResidualBlock() and
108 // squares problem containing 3 parameter blocks of sizes 3, 4 and 5
115 // Problem problem;
117 // problem.AddResidualBlock(new MyUnaryCostFunction(...), x1);
118 // problem.AddResidualBlock(new MyBinaryCostFunction(...), x2, x3);
121 class CERES_EXPORT Problem {
131 // These flags control whether the Problem object owns the cost
133 // the Problem. If set to TAKE_OWNERSHIP, then the problem object
146 // proportional to the size of the entire problem. If you only ever remove
147 // parameters or residuals from the problem occassionally, this might be
155 // block; and a hash set in the problem containing all residuals.
159 // the problem. There is a small but measurable performance penalty to
161 // your problem construction is correct, and 5% of the problem construction
171 // invocation Problem(Problem::Options()).
172 Problem();
173 explicit Problem(const Options& options);
175 ~Problem();
191 // The Problem object by default takes ownership of the
193 // live for the life of the Problem object. If the user wishes to
197 // Note: Even though the Problem takes ownership of cost_function
209 // Problem problem;
211 // problem.AddResidualBlock(new MyUnaryCostFunction(...), NULL, x1);
212 // problem.AddResidualBlock(new MyBinaryCostFunction(...), NULL, x2, x1);
264 // Add a parameter block with appropriate size to the problem.
271 // to the problem. Repeated calls with the same arguments are
278 // Remove a parameter block from the problem. The parameterization of the
280 // problem (similar to cost/loss functions in residual block removal). Any
284 // If Problem::Options::enable_fast_removal is true, then the
286 // block will incur a scan of the entire Problem object.
294 // Remove a residual block from the problem. Any parameters that the residual
297 // problem itself is deleted.
312 // The local_parameterization is owned by the Problem by default. It
329 // Number of parameter blocks in the problem. Always equals
337 // Number of residual blocks in the problem. Always equals
353 // Is the given parameter block present in this problem or not?
357 // parameter blocks currently in the problem. After this call,
362 // residual blocks currently in the problem. After this call,
373 // If Problem::Options::enable_fast_removal is true, then
376 // block will incur a scan of the entire Problem object.
381 // Options struct to control Problem::Evaluate.
394 // the order in which they were added to the problem. But, this
396 // problem.
399 // used to add parameter blocks to the Problem. These parameter
411 // they were added to the problem. But, this may change if the
412 // user removes any residual blocks from the problem.
415 // Even though the residual blocks in the problem may contain loss
426 // Evaluate Problem. Any of the output pointers can be NULL. Which
432 // time of the construction of the problem. i.e.,
434 // Problem problem;
436 // problem.AddResidualBlock(new MyCostFunction, NULL, &x);
439 // problem.Evaluate(Problem::EvaluateOptions(), &cost, NULL, NULL, NULL);
442 // problem at x = 2, then
445 // problem.Evaluate(Problem::EvaluateOptions(), &cost, NULL, NULL, NULL);
465 CERES_DISALLOW_COPY_AND_ASSIGN(Problem);