Skip to main content

Hyperbolic Householder transformations for Up- and Downdating Cholesky factorizations.

Project description

arXiv Preprint CI: Linux PyPI Downloads

hyhound

Hyperbolic Householder transformations for Up- ‘nDowndating Cholesky factorizations.

Purpose

Given a Cholesky factor \(L\) of a dense matrix \(H\), the hyhound::update_cholesky function computes the Cholesky factor \(\tilde L\) of the matrix

\begin{equation*} \tilde H = \tilde L \tilde L^\top = H + A \Sigma A^\top, \end{equation*}

where \(H,\tilde H\in\mathbb{R}^{n\times n}\) with \(H \succ 0\) and \(\tilde H \succ 0\), \(A \in \mathbb{R}^{n\times m}\), \(\Sigma \in \mathbb{R}^{m\times m}\) diagonal, and \(L, \tilde L\in\mathbb{R}^{n\times n}\) lower triangular.

Computing \(\tilde L\) in this way is done in \(mn^2 + \mathcal{O}(n^2 + mn)\) operations rather than the \(\tfrac16 n^3 + \tfrac12 mn^2 + \mathcal{O}(n^2 + mn)\) operations required for the explicit evaluation and factorization of \(\tilde H\). When \(m \ll n\), this results in a considerable speedup over full factorization, enabling efficient low-rank updates of Cholesky factorizations, for use in e.g. iterative algorithms for numerical optimization.

Additionally, hyhound includes efficient routines for updating factorizations of the Riccati recursion for optimal control problems.

Preprint

The paper describing the algorithms in this repository can be found on arXiv: https://arxiv.org/abs/2503.15372v1

@misc{pas_blocked_2025,
   title = {Blocked {Cholesky} factorization updates of the {Riccati} recursion using hyperbolic {Householder} transformations},
   url = {http://arxiv.org/abs/2503.15372},
   doi = {10.48550/arXiv.2503.15372},
   publisher = {arXiv},
   author = {Pas, Pieter and Patrinos, Panagiotis},
   month = mar,
   year = {2025},
   note = {Accepted for publication in the Proceedings of CDC 2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hyhound-1.1.1.tar.gz (41.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hyhound-1.1.1-cp312-abi3-manylinux_2_27_x86_64.whl (874.2 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ x86-64

hyhound-1.1.1-cp312-abi3-manylinux_2_27_armv7l.whl (468.6 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ ARMv7l

hyhound-1.1.1-cp312-abi3-manylinux_2_27_aarch64.whl (331.1 kB view details)

Uploaded CPython 3.12+manylinux: glibc 2.27+ ARM64

hyhound-1.1.1-cp312-abi3-linux_armv6l.whl (455.9 kB view details)

Uploaded CPython 3.12+

hyhound-1.1.1-cp311-cp311-manylinux_2_27_x86_64.whl (871.1 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64

hyhound-1.1.1-cp311-cp311-manylinux_2_27_armv7l.whl (472.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARMv7l

hyhound-1.1.1-cp311-cp311-manylinux_2_27_aarch64.whl (337.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ ARM64

hyhound-1.1.1-cp311-cp311-linux_armv6l.whl (460.0 kB view details)

Uploaded CPython 3.11

hyhound-1.1.1-cp310-cp310-manylinux_2_27_x86_64.whl (870.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64

hyhound-1.1.1-cp310-cp310-manylinux_2_27_armv7l.whl (472.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARMv7l

hyhound-1.1.1-cp310-cp310-manylinux_2_27_aarch64.whl (337.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ ARM64

hyhound-1.1.1-cp310-cp310-linux_armv6l.whl (459.6 kB view details)

Uploaded CPython 3.10

hyhound-1.1.1-cp39-cp39-manylinux_2_27_x86_64.whl (871.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64

hyhound-1.1.1-cp39-cp39-manylinux_2_27_armv7l.whl (472.3 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ARMv7l

hyhound-1.1.1-cp39-cp39-manylinux_2_27_aarch64.whl (338.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ ARM64

hyhound-1.1.1-cp39-cp39-linux_armv6l.whl (459.9 kB view details)

Uploaded CPython 3.9

File details

Details for the file hyhound-1.1.1.tar.gz.

File metadata

  • Download URL: hyhound-1.1.1.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for hyhound-1.1.1.tar.gz
Algorithm Hash digest
SHA256 db3bdd352925ae03e641b31c503d3510742217945da6b442362794fae3e0c21b
MD5 000d2761470f9484c283a284a2e7646f
BLAKE2b-256 42907fc383aff05b375a1c5e9edab9acfc1125e85bf0e52b0a7b309fcc980479

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1.tar.gz:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp312-abi3-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp312-abi3-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 0f9263bee3731bfdc0d3feb1fe599522bc9b2b95c8c6a86b1761f365a8d913f9
MD5 0eff46213199b42c2c48128af0597011
BLAKE2b-256 7e18c24ad60717054286bc814978606049aa75eacb2d869fb906afebc2b71662

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp312-abi3-manylinux_2_27_x86_64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp312-abi3-manylinux_2_27_armv7l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp312-abi3-manylinux_2_27_armv7l.whl
Algorithm Hash digest
SHA256 455306a106b7b3bfce77bc4e3076d3da8afc19d833b423edad588f944a9d7419
MD5 1070e0ee095dd3cbade0c0f5a6861fd8
BLAKE2b-256 77472b0894dbb950c62991d7875d38ca48cb2a3f3ee9a1a729d4268b2c739e5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp312-abi3-manylinux_2_27_armv7l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp312-abi3-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp312-abi3-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 02d059f24d22beffaf8d81a487388bed11e3b4fafe22a09682791f57cd2a9df8
MD5 e04519b6dd63ab73026e78845d24e52c
BLAKE2b-256 b85c3fe1232709304e2af9660c8a586c28862c99d755152174f68bf59de90412

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp312-abi3-manylinux_2_27_aarch64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp312-abi3-linux_armv6l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp312-abi3-linux_armv6l.whl
Algorithm Hash digest
SHA256 7666eb22e092529149660304b5e0c04d02b3954f645489ed8dabd0d926fc0758
MD5 ffb8fff2c8ef6d39b33c81feadbeb66c
BLAKE2b-256 073cbda3f79dec2e36eae4613af315bed6b0d61bfdba0a4b0a82d92b9df4cd12

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp312-abi3-linux_armv6l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp311-cp311-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp311-cp311-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 3c02259f14cbfe14ae127141b3bc37ab66a34d499911f335249699e573c91d1d
MD5 c06e9a42b4f35bd03f4fc14a6b50e955
BLAKE2b-256 39c480994810dcfeb51ea9764fa0bbe5e184b126a200b50076126f1df6dce6a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp311-cp311-manylinux_2_27_x86_64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp311-cp311-manylinux_2_27_armv7l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp311-cp311-manylinux_2_27_armv7l.whl
Algorithm Hash digest
SHA256 6cf36ff367273a4a6440cca22f37a81de285c29a1f54fccb2ac38a4333290e5b
MD5 2cfad9fe2d9b64c4986606a637a9c4c2
BLAKE2b-256 1b2d0ba218ec2ba04c242f8f497fed047e30bbb8e055a4d25f78fa2bea4f46d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp311-cp311-manylinux_2_27_armv7l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp311-cp311-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp311-cp311-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 6dae9a84cbe56d25461ae076200b45f88f2d4cb8c48d625cf298ae89652f7032
MD5 1dc320a4e4431f2d51a8dc9fd91edcd4
BLAKE2b-256 2391df11a7d41ce64cb0b52c1faaad0b1f3afa8a5d6511e7b0719dd18a30ba90

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp311-cp311-manylinux_2_27_aarch64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp311-cp311-linux_armv6l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp311-cp311-linux_armv6l.whl
Algorithm Hash digest
SHA256 8888adf867e7b6799615f541e52505b1b165f63480ee274a104db46968c9ef9e
MD5 4df9e2c4ec7ee72a0deccd12150a9459
BLAKE2b-256 7e3281fa0dffbc283452a36b11f2bca8d9b72d7af50b7297d55906d45ab64789

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp311-cp311-linux_armv6l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp310-cp310-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp310-cp310-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 20fb8212aba267d5e3f323ad1375443a0bcca4ed7250cec0edb39b3152f3f009
MD5 100b0422a23f13e9fa36edfbd1a5e3fc
BLAKE2b-256 12bde60cc5bb4163614cfbdcd3b51fcc23a393885146fd95aabecc127d389a3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp310-cp310-manylinux_2_27_x86_64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp310-cp310-manylinux_2_27_armv7l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp310-cp310-manylinux_2_27_armv7l.whl
Algorithm Hash digest
SHA256 c89874fffbb41e9593463881612d63103565a1670dd868cf6c9488f29b5b09bf
MD5 b5a2dde4ac560f2ebb32b66600d1d38f
BLAKE2b-256 0075edf1d837e50703c786c9188d43dbd41ffc05145e0ab382fcfd7ca84b83d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp310-cp310-manylinux_2_27_armv7l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp310-cp310-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp310-cp310-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 49ab82a43121a4e2445388f7bc6a2bb1fd78d16dec814e1cc4a83c765dcb513e
MD5 968ad18dd728c00507ca209d4d2eab42
BLAKE2b-256 f411d73542a81df768b7329250270c9a43b20d254d1667b01386c920c2833337

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp310-cp310-manylinux_2_27_aarch64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp310-cp310-linux_armv6l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp310-cp310-linux_armv6l.whl
Algorithm Hash digest
SHA256 7b30ad591f06c5472b7e8db82a9d691d33e033044c1f8ebc6d790a168d9496d3
MD5 15ae3fa8de925e447351bb8e9bedebb2
BLAKE2b-256 1583d5eeeadb4cc11aaf4ea93361f3443adf5f690b7af35deb5820e0c3c5fe75

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp310-cp310-linux_armv6l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp39-cp39-manylinux_2_27_x86_64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp39-cp39-manylinux_2_27_x86_64.whl
Algorithm Hash digest
SHA256 62ee2f2fbda6694779166f8516f1f3aaf073fef60a16ed65508c16d6fb765682
MD5 d5812d33c8a08f2eee8eae8517d6ee79
BLAKE2b-256 c3865741f6886e6de0ec3b29cdb1b4a02de09266fde74f981fed71262266c301

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp39-cp39-manylinux_2_27_x86_64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp39-cp39-manylinux_2_27_armv7l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp39-cp39-manylinux_2_27_armv7l.whl
Algorithm Hash digest
SHA256 182034a152a15d8312c77bc17a254f2ce43d1b1d0b6cf6ddc8d4c14439db35e9
MD5 8c68dbc683709ae2c4dc058b5803dc6b
BLAKE2b-256 e7abeeb9c69877ed79262e8951db8c6eae1fb7c148c2beaace11f9c9d9d69fce

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp39-cp39-manylinux_2_27_armv7l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp39-cp39-manylinux_2_27_aarch64.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp39-cp39-manylinux_2_27_aarch64.whl
Algorithm Hash digest
SHA256 c4ab758ebafae989ea39d5903dddfc2a5cec2b4adfaa9d3f50aa716a2396fd8a
MD5 369b8c7bbf7d36ff833ca3f947212d6b
BLAKE2b-256 595bce9dda9ac5a285e4f8667127bef7186637c1248bae7099528aa3def9ecf6

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp39-cp39-manylinux_2_27_aarch64.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hyhound-1.1.1-cp39-cp39-linux_armv6l.whl.

File metadata

File hashes

Hashes for hyhound-1.1.1-cp39-cp39-linux_armv6l.whl
Algorithm Hash digest
SHA256 9e0c3efb0dfc6be5b81238f7147c7e8e661d6607b5d516fec17d267a6543f190
MD5 1db0eb98af82407ea20071da02b6af94
BLAKE2b-256 2edeadd39aafadbac9edb8b2c20a9914d60a22c0f7614ae0ca4b8098e74e1e90

See more details on using hashes here.

Provenance

The following attestation bundles were made for hyhound-1.1.1-cp39-cp39-linux_armv6l.whl:

Publisher: wheel.yml on kul-optec/hyhound

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page