# Polyconvex rotation-frame Jacobian loss

- ID: 88
- Canonical URL: https://synthcore.org/idea/88/polyconvex-rotation-frame-jacobian-loss
- API JSON: https://synthcore.org/api/idea/88.json
- API Markdown: https://synthcore.org/api/idea/88.md
- Verification status: mech_ok_no_baseline
- Source: [arXiv:2608.23072](https://arxiv.org/abs/2608.23072)
- Category: regularization
- Solves: stability, accuracy, generalization
- ML areas: mlp, regularization, geometry, training-dynamics
- Math tags: convex-analysis, differential-geometry, lie-groups, linear-algebra, pde
- Ratings: usefulness 6/10; difficulty 6/10; novelty 6/10

## Idea description

Replace ordinary Jacobian penalties in coordinate MLPs or deformation networks with a learned local rotation frame and a polyconvex energy of the relative stretch. Penalize \(U\), its cofactor, and its determinant through a convex function, while separately smoothing the rotation field through \(R^T\operatorname{Curl}R\). The intended benefit is resistance to fold formation and better conditioning than directly penalizing \(\|J-I\|^2\), especially for large deformations.

## Mathematical statement

The paper lifts the deformation gradient \(D\varphi(x)\in\mathbb R^{3\times3}\) using an independent rotation \(\overline R(x)\in\mathrm{SO}(3)\) and relative stretch \(\overline U(x)=\overline R(x)^T D\varphi(x)\). The key identities are \(\operatorname{Cof}(\overline R^T D\varphi)=\overline R^T\operatorname{Cof}(D\varphi)\) and \(\det(\overline R^T D\varphi)=\det(D\varphi)\), since \(\det\overline R=1\). A polyconvex energy has the form \(W(\overline U,\operatorname{Cof}\overline U,\det\overline U)\), where \(W\) is convex in its three displayed arguments and grows coercively in them. The curvature variable \(K=\overline R^T\operatorname{Curl}\overline R\) controls first-order variation of the rotation field. In the constrained model, \(\overline U\in\operatorname{Sym}^+(3)\) together with \(\det D\varphi>0\) forces \(\overline R=\operatorname{polar}(D\varphi)\). For neural use, \(J=D\varphi\), \(R\) is a predicted or differentiably estimated rotation, \(U=R^TJ\), and the loss is convex in \((U,\operatorname{Cof}U,\det U)\), with a barrier for positive determinant.

## Key formulas

- $$\overline U=\overline R^{T}{\rm D}\varphi,\qquad \overline R\in {\rm SO}(3)$$
- $$\operatorname{Cof}(\overline R^{T}{\rm D}\varphi)=\overline R^{T}\operatorname{Cof}{\rm D}\varphi,\qquad \det(\overline R^{T}{\rm D}\varphi)=\det({\rm D}\varphi)$$
- $$K=\overline R^{T}\operatorname{Curl}\overline R$$
- $$\mathcal L_{\mathrm{pc}}=\frac{1}{B}\sum_{b=1}^{B}\left[W_\theta\!\left(U_b,\operatorname{Cof}U_b,d_b\right)+\lambda_K\|K_b\|_F^2+\lambda_{\det}\,\psi(d_b)\right],\quad U_b=R_b^TJ_b,\ d_b=\det J_b,\ \psi(d)=-\log(d+\epsilon)$$

## Implementation notes

(1) Integrate this into a coordinate MLP that predicts a deformation \(\varphi_\theta(x)\in\mathbb R^3\), either for an implicit shape deformation or for a neural warp used in registration. At sampled spatial points \(x_b\), compute the Jacobian \(J_b=\partial\varphi_\theta/\partial x\) with forward-mode autodiff. Add a second head producing a 9-vector reshaped into a matrix \(A_b\), and project it to \(R_b\in\mathrm{SO}(3)\) by SVD polar projection \(R_b=UV^T\), flipping the last column of \(V\) if \(\det(UV^T)<0\). Compute \(U_b=R_b^TJ_b\), \(C_b=\operatorname{Cof}(U_b)\), and \(d_b=\det(J_b)\). (2) Use this pseudocode: `J=jacobian(phi(x)); A=rotation_head(x); R=svd_polar(A); U=transpose(R)@J; C=cofactor(U); d=det(J); loss_data=task_loss(phi(x)); loss_pc=convex_energy(U,C,d); loss_det=-lambda_det*log(d+eps); K=R^T@curl(R); loss=loss_data+lambda_pc*loss_pc+lambda_K*mean(K*K)+loss_det`. Estimate \(K\) with centered finite differences of the rotation head at neighboring points; if the application has no spatial coordinates, omit this term. (3) Implement \(W_\theta\) as a small input-convex neural network whose input is the concatenated entries of \((U,C,d)\), with nonnegative hidden-to-hidden weights, or initially use explicit \(a\|U-I\|_F^2+b\|C-I\|_F^2+c(d-1)^2\). The paper supplies the structural variables and rotation-frame identities; autodiff estimates \(J\), finite differences estimate \(\operatorname{Curl}R\), and the convex-energy parameters are learned jointly. Log the fraction of points with \(d\le0\), the Jacobian condition number, and the task loss. (4) First experiment: train a 4-layer SIREN or ReLU coordinate MLP on a synthetic 3D registration task involving a twist plus radial compression, comparing ordinary \(\|J-I\|_F^2\), determinant-only barriers, and this loss at matched parameter count and gradient evaluations. Success is a lower fold rate and lower Jacobian condition number at equal reconstruction error, or faster convergence to the same error. Also test robustness under twice the deformation amplitude; the hypothesis is that the polyconvex minor terms retain accuracy where the baseline develops folds.

## Verification

- Status: mech_ok_no_baseline
- Mechanism evidence: yes
- Mechanism confirmed: yes
- Practical verdict: harms
- Verdict: Built a reproducible PyTorch MVP with SO(3) rotation frames, autodiff Jacobians, stable cofactor computation, determinant barrier, and lifted polyconvex energy. The rotation/cofactor/determinant identities were verified to about 1.4e-6 absolute error. In the toy deformation experiment both methods had zero folds, while the proposed loss improved mean Jacobian conditioning and minimum determinant at both amplitudes; it slightly improved task MSE at amplitude 1 and was nearly equal at amplitude 2. This is a promising conditioning/stability signal, but not definitive evidence of lower fold rate because the tiny task produced no folds for either method.

### Mechanism check

- Verdict: Built a reproducible PyTorch MVP with SO(3) rotation frames, autodiff Jacobians, stable cofactor computation, determinant barrier, and lifted polyconvex energy. The rotation/cofactor/determinant identities were verified to about 1.4e-6 absolute error. In the toy deformation experiment both methods had zero folds, while the proposed loss improved mean Jacobian conditioning and minimum determinant at both amplitudes; it slightly improved task MSE at amplitude 1 and was nearly equal at amplitude 2. This is a promising conditioning/stability signal, but not definitive evidence of lower fold rate because the tiny task produced no folds for either method.
- Confidence: 7/10
- Limitations: Only a small fixed-collocation synthetic warp and one random seed were tested. Rotation smoothness K=R^T Curl R, learned convex energy parameters, larger networks, parameter/FLOP matching, and genuinely folding or noisy registration tasks were not tested; the implementation uses an exponential-map SO(3) head rather than SVD polar projection for numerical stability.

### Practical benchmark

- Paired seeds: 8
- Baseline mean: 0
- Idea mean: 0
- p-value: 0.0321
- Paired wins: 1/8
- Benchmark verdict: idea worse (significant)

## Artifacts

- [bench_results.json](https://synthcore.org/code/1172/bench_results.json)
- [custom_deformation_track.py](https://synthcore.org/code/1172/custom_deformation_track.py)
- [experiment.py](https://synthcore.org/code/1172/experiment.py)
- [report.md](https://synthcore.org/code/1172/report.md)
- [report_bench_2026-09-03T012737.md](https://synthcore.org/code/1172/report_bench_2026-09-03T012737.md)
- [results.json](https://synthcore.org/code/1172/results.json)
- [run_bench.py](https://synthcore.org/code/1172/run_bench.py)
- [Download all files as ZIP](https://synthcore.org/download/1172)

## Disclaimer

AI-generated research hypothesis, automatically tested. Not peer-reviewed.
