Skip to content

Commit 55c6285

Browse files
committed
refactor: Rename (I)ConfiguredProlem to just (I)Problem
1 parent 63f914e commit 55c6285

15 files changed

+47
-47
lines changed

test/ExampleProblems/AnalyticalLeastSquaresProblem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace ExampleProblems;
77

8-
public abstract class AnalyticalLeastSquaresProblem : IConfiguredProblem
8+
public abstract class AnalyticalLeastSquaresProblem : IProblem
99
{
1010
protected AnalyticalLeastSquaresProblem(
1111
IReadOnlyList<double> x,

test/ExampleProblems/ConfiguredProblemExtensions.cs

Lines changed: 0 additions & 7 deletions
This file was deleted.

test/ExampleProblems/CustomProblems/NumericalPendulumProblem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace ExampleProblems.CustomProblems;
55

6-
public class NumericalPendulumProblem : IConfiguredProblem
6+
public class NumericalPendulumProblem : IProblem
77
{
88
public NumericalPendulumProblem()
99
{

test/ExampleProblems/CustomProblems/SurfaceBiosensorBindingKineticsProblem.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public class SurfaceBiosensorBindingKineticsProblem(
4040
// - analyte mobility is no restricting factor for the association kinetics (no mass transport limitations)
4141
// (e.g. cf. https://www.sprpages.nl/data-fitting/kinetic-models/one-to-one)
4242

43-
public static IConfiguredProblem Global(
43+
public static IProblem Global(
4444
IEnumerable<double> analyteConcentrationsInNanoMolar,
4545
DerivativeConfiguration modelDerivativeConfiguration = WithoutDerivatives,
4646
int randomSeed = 0)
@@ -50,9 +50,9 @@ public static IConfiguredProblem Global(
5050
actualAnalyteConcentrationInNanoMolar: conc,
5151
modelDerivativeConfiguration: modelDerivativeConfiguration,
5252
localParameterSuffix: index.ToString(),
53-
randomSeed: index + randomSeed)).Cast<IConfiguredProblem>().ToArray();
53+
randomSeed: index + randomSeed)).Cast<IProblem>().ToArray();
5454

55-
return ConfiguredProblem.Sum(problems);
55+
return Problem.Sum(problems);
5656
}
5757

5858
private static readonly Func<double, IReadOnlyList<double>, double> Model =

test/ExampleProblems/IConfiguredProblem.cs renamed to test/ExampleProblems/IProblem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace ExampleProblems;
55

6-
public interface IConfiguredProblem
6+
public interface IProblem
77
{
88
ICostFunction Cost { get; }
99
IReadOnlyCollection<double> OptimumParameterValues { get; }

test/ExampleProblems/MinuitTutorialProblems/MinuitTutorialProblem.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ public abstract class MinuitTutorialProblem(
1414
Func<IReadOnlyList<double>, IReadOnlyList<double>> hessian,
1515
Func<IReadOnlyList<double>, IReadOnlyList<double>> hessianDiagonal,
1616
DerivativeConfiguration derivativeConfiguration)
17-
: IConfiguredProblem
17+
: IProblem
1818
{
1919
public ICostFunction Cost { get; } = derivativeConfiguration switch
2020
{
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33

44
namespace ExampleProblems;
55

6-
public record ConfiguredProblem(
6+
public record Problem(
77
ICostFunction Cost,
88
IReadOnlyCollection<double> OptimumParameterValues,
99
IReadOnlyCollection<ParameterConfiguration> ParameterConfigurations)
10-
: IConfiguredProblem
10+
: IProblem
1111
{
12-
public static ConfiguredProblem Sum(params IConfiguredProblem[] problems)
12+
public static Problem Sum(params IProblem[] problems)
1313
{
1414

1515
var parameterConfigurations = problems.Aggregate(Enumerable.Empty<ParameterConfiguration>(), (acc, next) => acc.Concat(next.ParameterConfigurations));
@@ -25,7 +25,7 @@ public static ConfiguredProblem Sum(params IConfiguredProblem[] problems)
2525
throw new ArgumentException($"Parameter {config.Name} has different optimum values in both problems.");
2626
}
2727

28-
return new ConfiguredProblem(
28+
return new Problem(
2929
CostFunction.Sum(problems.Select(p => p.Cost).ToArray()),
3030
parameters.Select(p => p.Optimum).ToList(),
3131
parameters.Select(p => p.Config).ToList());
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
namespace ExampleProblems;
2+
3+
public static class ProblemExtensions
4+
{
5+
public static double InitialCostValue(this IProblem problem) =>
6+
problem.Cost.ValueFor(problem.ParameterConfigurations);
7+
}

test/minuit2.net.Benchmarks/ConfiguredProblemExtensions.cs renamed to test/minuit2.net.Benchmarks/ProblemExtensions.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44
namespace minuit2.net.Benchmarks;
55

6-
internal static class ConfiguredProblemExtensions
6+
internal static class ProblemExtensions
77
{
8-
public static IMinimizationResult MinimizeWithMigrad(this IConfiguredProblem problem, Strategy strategy)
8+
public static IMinimizationResult MinimizeWithMigrad(this IProblem problem, Strategy strategy)
99
{
1010
var minimizerConfiguration = new MinimizerConfiguration(strategy);
1111
return Minimizer.Migrad.Minimize(problem.Cost, problem.ParameterConfigurations, minimizerConfiguration);

test/minuit2.net.UnitTests/Any_gradient_based_minimizer.spec.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void when_asked_to_minimize_a_cost_function_with_an_analytical_hessian_di
5858
"occasionally reports non-convergence — even at the true minimum — due to its unreliable convergence " +
5959
"criteria (see the Minuit docs: '...it would not even know if it did converge').")]
6060
public void when_minimizing_a_well_posed_problem_converges_to_a_valid_cost_function_minimum(
61-
IConfiguredProblem problem,
61+
IProblem problem,
6262
Strategy strategy)
6363
{
6464
var result = _minimizer.Minimize(problem.Cost, problem.ParameterConfigurations);
@@ -73,7 +73,7 @@ public void when_minimizing_a_well_posed_problem_converges_to_a_valid_cost_funct
7373

7474
[TestCaseSource(nameof(WellPosedMinimizationProblems))]
7575
public void when_minimizing_a_well_posed_problem_yields_parameter_values_that_agree_with_the_optimum_values_within_3_sigma_tolerance(
76-
IConfiguredProblem problem,
76+
IProblem problem,
7777
Strategy strategy)
7878
{
7979
var result = _minimizer.Minimize(problem.Cost, problem.ParameterConfigurations);
@@ -242,7 +242,7 @@ public void when_minimizing_a_cost_function_sum_of_independent_components_with_d
242242
c3: CubicPolynomialProblem.DefaultC3.WithSuffix("2"),
243243
derivativeConfiguration: derivativeConfiguration,
244244
errorDefinitionInSigma: 2);
245-
var sumProblem = ConfiguredProblem.Sum(problem1, problem2);
245+
var sumProblem = Problem.Sum(problem1, problem2);
246246
var minimizerConfiguration = new MinimizerConfiguration(strategy);
247247

248248
var problem1Result = _minimizer.Minimize(problem1, minimizerConfiguration);
@@ -266,7 +266,7 @@ public void when_minimizing_a_cost_function_sum_of_independent_components_with_d
266266
c3: CubicPolynomialProblem.DefaultC3.WithSuffix("2"),
267267
derivativeConfiguration: derivativeConfiguration,
268268
errorDefinitionInSigma: 2);
269-
var sumProblem = ConfiguredProblem.Sum(problem1, problem2);
269+
var sumProblem = Problem.Sum(problem1, problem2);
270270
var minimizerConfiguration = new MinimizerConfiguration(Strategy.Fast);
271271

272272
var problem1Result = _minimizer.MinimizeAndRefineErrors(problem1, minimizerConfiguration);
@@ -282,8 +282,8 @@ public void when_minimizing_a_cost_function_sum_of_independent_components_with_d
282282
public void when_minimizing_a_cost_function_sum_where_only_some_components_have_an_analytical_hessian_yields_the_same_result_as_if_none_had_an_analytical_gradient(
283283
[Values] Strategy strategy)
284284
{
285-
var problem = ConfiguredProblem.Sum(ProblemComponent1(WithGradientAndHessian), ProblemComponent2());
286-
var referenceProblem = ConfiguredProblem.Sum(ProblemComponent1(WithoutDerivatives), ProblemComponent2());
285+
var problem = Problem.Sum(Problem1(WithGradientAndHessian), Problem2());
286+
var referenceProblem = Problem.Sum(Problem1(WithoutDerivatives), Problem2());
287287
var minimizerConfiguration = new MinimizerConfiguration(strategy);
288288

289289
var result = _minimizer.Minimize(problem, minimizerConfiguration);
@@ -292,10 +292,10 @@ public void when_minimizing_a_cost_function_sum_where_only_some_components_have_
292292
result.Should().Match(referenceResult);
293293
return;
294294

295-
QuadraticPolynomialProblem ProblemComponent1(DerivativeConfiguration derivativeConfiguration) =>
295+
QuadraticPolynomialProblem Problem1(DerivativeConfiguration derivativeConfiguration) =>
296296
new(derivativeConfiguration: derivativeConfiguration);
297297

298-
QuadraticPolynomialProblem ProblemComponent2() =>
298+
QuadraticPolynomialProblem Problem2() =>
299299
new(c1: QuadraticPolynomialProblem.DefaultC1.WithSuffix("2"),
300300
c2: QuadraticPolynomialProblem.DefaultC2.WithSuffix("2"));
301301
}
@@ -305,8 +305,8 @@ public void when_minimizing_a_cost_function_sum_where_all_components_have_analyt
305305
[Values(1, 2)] double errorDefinitionOfComponent1,
306306
[Values] Strategy strategy)
307307
{
308-
var problem = ConfiguredProblem.Sum(ProblemComponent1(WithGradientAndHessian), ProblemComponent2(WithGradientAndHessian));
309-
var referenceProblem = ConfiguredProblem.Sum(ProblemComponent1(WithoutDerivatives), ProblemComponent2(WithoutDerivatives));
308+
var problem = Problem.Sum(Problem1(WithGradientAndHessian), Problem2(WithGradientAndHessian));
309+
var referenceProblem = Problem.Sum(Problem1(WithoutDerivatives), Problem2(WithoutDerivatives));
310310
var minimizerConfiguration = new MinimizerConfiguration(strategy);
311311

312312
var result = _minimizer.Minimize(problem, minimizerConfiguration);
@@ -317,10 +317,10 @@ public void when_minimizing_a_cost_function_sum_where_all_components_have_analyt
317317
.HaveFewerFunctionCallsThan(referenceResult);
318318
return;
319319

320-
QuadraticPolynomialProblem ProblemComponent1(DerivativeConfiguration derivativeConfiguration) =>
320+
QuadraticPolynomialProblem Problem1(DerivativeConfiguration derivativeConfiguration) =>
321321
new(derivativeConfiguration: derivativeConfiguration, errorDefinitionInSigma: errorDefinitionOfComponent1);
322322

323-
QuadraticPolynomialProblem ProblemComponent2(DerivativeConfiguration derivativeConfiguration) =>
323+
QuadraticPolynomialProblem Problem2(DerivativeConfiguration derivativeConfiguration) =>
324324
new(c1: QuadraticPolynomialProblem.DefaultC1.WithSuffix("2"),
325325
c2: QuadraticPolynomialProblem.DefaultC2.WithSuffix("2"),
326326
derivativeConfiguration: derivativeConfiguration);

0 commit comments

Comments
 (0)