网页 综合 更新时间 2026-11-14 17:02:13

Contributing -

自动蜘蛛 www.cvxpy.org 正文约 3501 字
⏱️ Help us benchmark CVXPY solvers! Contribute problems and results to the Solver Benchmarks project. Read our new paper on the CVXPY internals!
We welcome all contributors to CVXPY. You don’t need to be an expert in convex optimization to help out. Here are simple ways to start contributing immediately:
Help answer questions on the CVXPY discord, Github discussions, or StackOverflow
Read the CVXPY source code and improve the documentation, or address TODOs
Fix typos or otherwise enhance the website documentation
Browse the issue tracker, and work on unassigned bugs or feature requests
Polish the example library
If you’d like to add a new example to our library, or implement a new feature, please get in touch with us first by opening a GitHub issue to make sure that your priorities align with ours. We’ve identified some specific development opportunities in the next section.
CVXPY contributors must follow our code of conduct. Overall development is guided by our governance structure.
The rest of this page goes into more detail on how to contribute to CVXPY.
Here is a non-exhaustive list of opportunities to make prominent contributions to CVXPY.
We’ve roughly categorized the opportunities as whether they amount to small-, medium-, or large-scope projects. New contributors are encouraged to focus on small or medium projects.
If you’re interested in working on a large project, join the Discord and let us know! We’ll be happy to provide guidance and advice.
State required cone types for atoms.
Have MOSEK interface choose between solving the primal and the dual [2107, 1403].
More verbose logging info (expression tree nodes, DCP time).
Improve type checking for compatibility with Pyright.
Change docstrings for psd_wrap and other _wrap functions to clarify undefined behavior.
Add explanation and examples of explicit conic constraints to Advanced constraints.
Refactor suppfunc_canon to use SvecPSD constraints directly, eliminating the SCS-specific scs_psdvec_to_psdmat helper and decoupling the support function implementation from any particular solver convention. This requires moving the conic lifting in SuppFunc from construction time to canonicalization time, so that solver_context is available and the lifting can target the actual solver’s cone format.
Post-solver feasibility checks.
Vectorize the quad_over_lin atom.
Support for expressions with size zero.
Caching computation of lin_ops during matrix stuffing.
Introduce sparse variables in constraint formulation.
N-dimensional matmul with broadcasting supported.
Marimo examples (maybe using N-d arrays).
QP support for PDLP solver.
More array manipulation atoms.
Implement cp.block for full numpy.block parity.
Support for a set and indexing API similar to AMPL.
Problem serialization [532, 1333, 1438].
Batch support for parameters.
Numerical debugging/analysis tool.
Infeasibility debugging tool (IIS or slack minimization).
Full parity with NumPy for ND array behavior.
Support for GSCOPT [2889].
Disable constraints using parameters [3041]
Explicit variable/dual recovery maps in reductions. Currently, reductions use ad-hoc logic to map between reduced and original variables/duals during solution recovery. Reductions should instead return explicit forward and inverse maps for primal and dual variables.
Start by forking the CVXPY repository and installing CVXPY from source. You should configure git on your local machine before changing any code. Here’s one way CVXPY contributors might configure git:
访问原文 返回搜索 https://www.cvxpy.org/api_reference/../contributing/index.html
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。