pounce-convex 0.12.0

Interior-point solvers for the convex problem classes in POUNCE: LP, convex QP, and conic programs (SOCP, exponential and power cones, SDP, and SOS) via a Mehrotra predictor-corrector with an HSDE embedding. Shares the pounce-linsol sparse symmetric factorization backbone with the NLP path.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "pounce-convex"
version = "0.12.0"
authors = ["John Kitchin <jkitchin@andrew.cmu.edu>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Interior-point solvers for the convex problem classes in POUNCE: LP, convex QP, and conic programs (SOCP, exponential and power cones, SDP, and SOS) via a Mehrotra predictor-corrector with an HSDE embedding. Shares the pounce-linsol sparse symmetric factorization backbone with the NLP path."
readme = "README.md"
keywords = [
    "lp",
    "qp",
    "interior-point",
    "convex-optimization",
    "solver",
]
categories = [
    "mathematics",
    "science",
]
license = "EPL-2.0"
repository = "https://github.com/jkitchin/pounce"

[lib]
name = "pounce_convex"
path = "src/lib.rs"

[[example]]
name = "active_set_session"
path = "examples/active_set_session.rs"

[[example]]
name = "batch_solve"
path = "examples/batch_solve.rs"

[[example]]
name = "homotopy_sweep"
path = "examples/homotopy_sweep.rs"

[[example]]
name = "iter_compare"
path = "examples/iter_compare.rs"

[[example]]
name = "presolve_reductions"
path = "examples/presolve_reductions.rs"

[[example]]
name = "scaling"
path = "examples/scaling.rs"

[[example]]
name = "warm_start"
path = "examples/warm_start.rs"

[[test]]
name = "batch"
path = "tests/batch.rs"

[[test]]
name = "bench293"
path = "tests/bench293.rs"

[[test]]
name = "bounded_form"
path = "tests/bounded_form.rs"

[[test]]
name = "conic_hsde_vs_direct"
path = "tests/conic_hsde_vs_direct.rs"

[[test]]
name = "conic_nonsym_status"
path = "tests/conic_nonsym_status.rs"

[[test]]
name = "conic_sensitivity_refused"
path = "tests/conic_sensitivity_refused.rs"

[[test]]
name = "convex_activity"
path = "tests/convex_activity.rs"

[[test]]
name = "convex_cone_sensitivity"
path = "tests/convex_cone_sensitivity.rs"

[[test]]
name = "convex_sens_backsolver"
path = "tests/convex_sens_backsolver.rs"

[[test]]
name = "convex_sens_release"
path = "tests/convex_sens_release.rs"

[[test]]
name = "convex_soc_sensitivity"
path = "tests/convex_soc_sensitivity.rs"

[[test]]
name = "debug"
path = "tests/debug.rs"

[[test]]
name = "gondzio_correctors"
path = "tests/gondzio_correctors.rs"

[[test]]
name = "illconditioned_huge_scale"
path = "tests/illconditioned_huge_scale.rs"

[[test]]
name = "infeasibility"
path = "tests/infeasibility.rs"

[[test]]
name = "issue336_scale_status"
path = "tests/issue336_scale_status.rs"

[[test]]
name = "issue339_pinned_cone_arg"
path = "tests/issue339_pinned_cone_arg.rs"

[[test]]
name = "issue413_homotopy_path_feasibility"
path = "tests/issue413_homotopy_path_feasibility.rs"

[[test]]
name = "issue414_cost_normalized_false_optimal"
path = "tests/issue414_cost_normalized_false_optimal.rs"

[[test]]
name = "issue414_varscale_false_optimal"
path = "tests/issue414_varscale_false_optimal.rs"

[[test]]
name = "issue415_infeasible_status"
path = "tests/issue415_infeasible_status.rs"

[[test]]
name = "issue417_adaptive_tau"
path = "tests/issue417_adaptive_tau.rs"

[[test]]
name = "issue496_ulp_inconsistent_equalities"
path = "tests/issue496_ulp_inconsistent_equalities.rs"

[[test]]
name = "issue523_false_forcing_infeasibility"
path = "tests/issue523_false_forcing_infeasibility.rs"

[[test]]
name = "issue527_tightening_fixpoint"
path = "tests/issue527_tightening_fixpoint.rs"

[[test]]
name = "issue641_active_set_absolute_kkt"
path = "tests/issue641_active_set_absolute_kkt.rs"

[[test]]
name = "issue697_multilayer_obj_offset"
path = "tests/issue697_multilayer_obj_offset.rs"

[[test]]
name = "issue769_active_set_session"
path = "tests/issue769_active_set_session.rs"

[[test]]
name = "issue846_sigma_flat_direction"
path = "tests/issue846_sigma_flat_direction.rs"

[[test]]
name = "issue848_indefinite_second_order"
path = "tests/issue848_indefinite_second_order.rs"

[[test]]
name = "issue848_saddle_not_optimal"
path = "tests/issue848_saddle_not_optimal.rs"

[[test]]
name = "issue871_refutation_with_equality_rows"
path = "tests/issue871_refutation_with_equality_rows.rs"

[[test]]
name = "issue875_unconstrained_sigma_stationarity"
path = "tests/issue875_unconstrained_sigma_stationarity.rs"

[[test]]
name = "issue880_coupled_sigma_forward_error"
path = "tests/issue880_coupled_sigma_forward_error.rs"

[[test]]
name = "issue892_debug_routes_like_the_plain_solve"
path = "tests/issue892_debug_routes_like_the_plain_solve.rs"

[[test]]
name = "issue948_nonunique_optimum_false_failure"
path = "tests/issue948_nonunique_optimum_false_failure.rs"

[[test]]
name = "issue_689_direct_cold_start_scale"
path = "tests/issue_689_direct_cold_start_scale.rs"

[[test]]
name = "issue_928_convex_path_leaves_the_box"
path = "tests/issue_928_convex_path_leaves_the_box.rs"

[[test]]
name = "issue_929_row_limit_on_the_convex_arm"
path = "tests/issue_929_row_limit_on_the_convex_arm.rs"

[[test]]
name = "presolve_aggregation"
path = "tests/presolve_aggregation.rs"

[[test]]
name = "presolve_bound_multiplier_scale"
path = "tests/presolve_bound_multiplier_scale.rs"

[[test]]
name = "presolve_bound_rows"
path = "tests/presolve_bound_rows.rs"

[[test]]
name = "presolve_bound_tightening"
path = "tests/presolve_bound_tightening.rs"

[[test]]
name = "presolve_conic"
path = "tests/presolve_conic.rs"

[[test]]
name = "presolve_conic_quadratic_rows"
path = "tests/presolve_conic_quadratic_rows.rs"

[[test]]
name = "presolve_forcing"
path = "tests/presolve_forcing.rs"

[[test]]
name = "presolve_reductions"
path = "tests/presolve_reductions.rs"

[[test]]
name = "presolve_roundtrip"
path = "tests/presolve_roundtrip.rs"

[[test]]
name = "qp_known_optima"
path = "tests/qp_known_optima.rs"

[[test]]
name = "scaling_iterations"
path = "tests/scaling_iterations.rs"

[[test]]
name = "sdp_cone"
path = "tests/sdp_cone.rs"

[[test]]
name = "socp"
path = "tests/socp.rs"

[[test]]
name = "time_limit"
path = "tests/time_limit.rs"

[[test]]
name = "warm_start"
path = "tests/warm_start.rs"

[dependencies.feral]
version = "0.18.0"

[dependencies.pounce-common]
version = "0.12.0"

[dependencies.pounce-linalg]
version = "0.12.0"

[dependencies.pounce-linsol]
version = "0.12.0"

[dependencies.pounce-presolve]
version = "0.12.0"

[dependencies.pounce-qp]
version = "0.12.0"

[dependencies.pounce-sens-core]
version = "0.12.0"

[dependencies.rayon]
version = "1"

[dependencies.tracing]
version = "0.1"

[dev-dependencies.pounce-feral]
version = "0.12.0"

[dev-dependencies.pounce-sens-core]
version = "0.12.0"

[lints.clippy]
expect_used = "warn"
unwrap_used = "warn"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
unsafe_op_in_unsafe_fn = "warn"