Skip to content

Handle zero Jacobian partial derivatives - #924

Merged
morluto merged 1 commit into
mainfrom
agent/handle-zero-jacobian-partials
Aug 9, 2026
Merged

Handle zero Jacobian partial derivatives#924
morluto merged 1 commit into
mainfrom
agent/handle-zero-jacobian-partials

Conversation

@yuelgrace1810-ops

Copy link
Copy Markdown
Collaborator

What changed

  • ignore explicit zero coefficients emitted by SymPy while assembling graded Jacobian coefficient maps
  • add an end-to-end compute-and-verify regression for h=x^2 z, whose y partial derivative is zero

Why

For a valid homogeneous polynomial that omits one variable, SymPy represents the corresponding zero partial with a zero term at exponent (0,0,0). The coefficient-map builder attempted to place that term in the positive-degree target basis and raised KeyError, surfacing as ADAPTER_EXECUTION_FAILED.

Skipping a zero coefficient preserves the exact linear map and lets the producer return the expected degree-0 kernel. The independent verifier accepts the resulting candidate.

Validation

  • python -m pytest tests/composition/runtime/test_frontier_capabilities.py -k 'graded_jacobian_syzygy or syzygy_checker_rejects' -q — 6 passed
  • python -m ruff check src/jacobian/domains/polynomial/jacobian_syzygy.py tests/composition/runtime/test_frontier_capabilities.py
  • git diff --check

Copy link
Copy Markdown
Collaborator Author

Independent held-out reproduction on current main (614fdc40511d41bf88607cb0c6cc7c1e6cb91667):

  • Source artifact: the exact homogenized curve coordinate H(x,y,z)=-x^3+x^2*z from Gao's 2026 tangent-sweep account of the Jacobian-conjecture counterexample.
  • Request: polynomial.jacobian_syzygy.minimum_degree.compute, max_degree=0, coefficient_map_detail=CERTIFICATES.
  • Two identical executions failed with ADAPTER_EXECUTION_FAILED.
  • Server traceback reaches _coefficient_matrix and ends with KeyError: (0, 0, 0) while processing H_y=0.
  • Independent oracle: rows/cols/rank/nullity (6,3,2,1), witness (0,1,0).

I replayed this exact polynomial against the patch in #924: producer returned the expected degree-0 kernel and the independent verifier returned VERIFIED.

Additional local validation on the PR-equivalent fix:

  • 869 unit passed
  • 185 domain passed
  • 759 component passed, 3 platform skips
  • focused old + new syzygy producer/verifier regressions passed
  • Ruff lint/format and mypy passed

This confirms #924 covers another non-monomial polynomial with a zero partial, not only the existing x^2 z regression.

@morluto
morluto force-pushed the agent/handle-zero-jacobian-partials branch from 2f7a491 to 0cf6702 Compare August 9, 2026 09:36
@morluto
morluto marked this pull request as ready for review August 9, 2026 09:44
@morluto
morluto merged commit 332f0a5 into main Aug 9, 2026
36 checks passed
@morluto
morluto deleted the agent/handle-zero-jacobian-partials branch August 9, 2026 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants