Skip to content

Add FromQcqpValue (Rot2/Rot3) and ExtractQcqpValues helpers in feature/convert_to_QCQP#2548

Merged
dellaert merged 1 commit into
borglab:feature/convert_to_QCQPfrom
zhexin1904:feature/QCQP_BM_support
May 26, 2026
Merged

Add FromQcqpValue (Rot2/Rot3) and ExtractQcqpValues helpers in feature/convert_to_QCQP#2548
dellaert merged 1 commit into
borglab:feature/convert_to_QCQPfrom
zhexin1904:feature/QCQP_BM_support

Conversation

@zhexin1904

Copy link
Copy Markdown

Summary

Add an extract path from the rounded BM solution to the QCQP variable traits, so matrix-form QCQP values can be projected back into typed Rot2 / Rot3. Needed by the Burer–Monteiro / Riemannian Staircase solver in the follow-up PR, which returns a rank-d matrix. A step toward type-agnostic extraction.

Changes

Add FromQcqpValue for Rot2 and Rot3 (via Rot::ClosestTo), and add ExtractQcqpValues in QcqpProblem.

Notes

  • Vector form (D = 1) is intentionally unsupported by FromQcqpValue — one column of a rotation matrix doesn't determine the rotation. A static_assert makes this explicit at the call site.

…ct variables from the Burer–Monteiro solution. The vectorized form is not yet supported.
@dellaert

Copy link
Copy Markdown
Member

D=1 will be used by Avinash to support vectorized/homogenized QCQP conversions anyway :-)

@avinashresearch1

Copy link
Copy Markdown

Yes, I have a couple of the homogenization fixes here: #2549 but still WIP

@dellaert dellaert merged commit 520162e into borglab:feature/convert_to_QCQP May 26, 2026
34 of 36 checks passed
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.

3 participants