Skip to content

Commit 7aa7b56

Browse files
committed
Update Python README
1 parent 856dc13 commit 7aa7b56

File tree

3 files changed

+67
-44
lines changed

3 files changed

+67
-44
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "hyhound"
3-
readme = "python/README.md"
3+
readme = "python/README.rst"
44
requires-python = ">=3.9"
55
license = "LGPL-3.0-or-later"
66
license-files = ["LICENSE"]

python/README.md

Lines changed: 0 additions & 43 deletions
This file was deleted.

python/README.rst

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
.. image:: https://img.shields.io/badge/arXiv-Preprint-b31b1b
2+
:target: https://arxiv.org/abs/2503.15372v1
3+
:alt: arXiv Preprint
4+
5+
.. image:: https://github.com/kul-optec/hyhound/actions/workflows/linux.yml/badge.svg
6+
:target: https://github.com/kul-optec/hyhound/actions/workflows/linux.yml
7+
:alt: CI: Linux
8+
9+
.. image:: https://img.shields.io/pypi/dm/hyhound?label=PyPI&logo=python
10+
:target: https://pypi.org/project/hyhound
11+
:alt: PyPI Downloads
12+
13+
14+
hyhound
15+
=======
16+
17+
**Hy**\perbolic **Ho**\useholder transformations for **U**\p- ‘**n**’ **D**\owndating Cholesky factorizations.
18+
19+
20+
Purpose
21+
-------
22+
23+
Given a Cholesky factor :math:`L` of a dense matrix :math:`H`, the
24+
``hyhound::update_cholesky`` function computes the Cholesky factor
25+
:math:`\tilde L` of the matrix
26+
27+
.. math::
28+
29+
\tilde H = \tilde L \tilde L^\top = H + A \Sigma A^\top,
30+
31+
where :math:`H,\tilde H\in\mathbb{R}^{n\times n}` with :math:`H \succ 0`
32+
and :math:`\tilde H \succ 0`, :math:`A \in \mathbb{R}^{n\times m}`,
33+
:math:`\Sigma \in \mathbb{R}^{m\times m}` diagonal,
34+
and :math:`L, \tilde L\in\mathbb{R}^{n\times n}` lower triangular.
35+
36+
Computing :math:`\tilde L` in this way is done in
37+
:math:`mn^2 + \mathcal{O}(n^2 + mn)` operations rather than the
38+
:math:`\tfrac16 n^3 + \tfrac12 mn^2 + \mathcal{O}(n^2 + mn)` operations
39+
required for the explicit evaluation and factorization of :math:`\tilde H`.
40+
When :math:`m \ll n`, this results in a considerable speedup over full
41+
factorization, enabling efficient low-rank updates of Cholesky
42+
factorizations, for use in e.g. iterative algorithms for numerical
43+
optimization.
44+
45+
Additionally, hyhound includes efficient routines for updating
46+
factorizations of the Riccati recursion for optimal control problems.
47+
48+
49+
Preprint
50+
--------
51+
52+
The paper describing the algorithms in this repository can be found on arXiv:
53+
`https://arxiv.org/abs/2503.15372v1 <https://arxiv.org/abs/2503.15372v1>`_
54+
55+
.. code-block:: bibtex
56+
57+
@misc{pas_blocked_2025,
58+
title = {Blocked {Cholesky} factorization updates of the {Riccati} recursion using hyperbolic {Householder} transformations},
59+
url = {http://arxiv.org/abs/2503.15372},
60+
doi = {10.48550/arXiv.2503.15372},
61+
publisher = {arXiv},
62+
author = {Pas, Pieter and Patrinos, Panagiotis},
63+
month = mar,
64+
year = {2025},
65+
note = {Accepted for publication in the Proceedings of CDC 2025}
66+
}

0 commit comments

Comments
 (0)