# Solving optimization problems involving orthogonal matrices

**URL:** https://discourse.julialang.org/t/solving-optimization-problems-involving-orthogonal-matrices/135431
**Category:** Optimization (Mathematical)
**Created:** [February 3, 2026, 4:31pm UTC](https://discourse.julialang.org/t/solving-optimization-problems-involving-orthogonal-matrices/135431 "2026-02-03T16:31:59Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![stevengj](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stevengj/32/71_2.png) [@stevengj](https://discourse.julialang.org/u/stevengj)
#### Post date: [February 3, 2026, 4:57pm UTC](https://discourse.julialang.org/t/solving-optimization-problems-involving-orthogonal-matrices/135431/2 "2026-02-03T16:57:31Z")

</div>

See [Optimization on Stiefel manifold with auto-differentiation](https://discourse.julialang.org/t/optimization-on-stiefel-manifold-with-auto-differentiation/132072) — two options:

1. Use something like Manopt.jl that knows how to optimize over O\_n, and it looks like it supports a Cartesian product of manifolds to include x \in \mathbb{R}^k as well.
2. Use a (differentiable) change of variables via the [polar decomposition](https://en.wikipedia.org/wiki/Polar_decomposition) to unconstrained matrices X, which has the advantage of letting you use any ordinary optimization algorithm:

\min\_{(X,x)\in \mathbb{R}^{n \times n} \times \mathbb{R}^k} f(X(X^T X)^{-1/2}, x)

---

_[View the full topic](https://discourse.julialang.org/t/solving-optimization-problems-involving-orthogonal-matrices/135431)._
