//! Common traits and types for optimization solvers using argmin framework
usecova_algebra::tensors::DVector;usecrate::SolverResult;/// Solution information returned by solvers
#[derive(Debug, Clone)]pubstructSolution{/// The optimal solution vector
pubx:DVector<f64>,
/// The optimal objective value
pubobjective_value:f64,
/// Number of iterations taken
pubiterations:u64,
/// Whether the solver converged
pubconverged:bool,
/// Termination reason
pubtermination: String,
}/// Common interface for optimization problems that can be solved with argmin
pubtraitOptimizationProblem{/// Get the problem dimension
fndimension(&self)->usize;/// Solve the optimization problem using argmin
fnsolve(&self)->SolverResult<Solution>;}