easygsvd
A pure-Python, friendly interface to the generalized singular value decomposition (GSVD).
easygsvd is built on NumPy/SciPy and provides:
- A simple function
gsvd(A, L)for dense GSVD of a matrix pair $(A, L)$. - A
GSVDResultobject exposing the core GSVD factors (Uhat,Vhat,X,Y,c,s, etc.). - Convenience methods for:
- orthogonal projectors onto
col(A),ker(A),col(L),ker(L), etc. - oblique projectors associated with the pair
(A, L). - A-weighted and L-weighted oblique pseudoinverses.
- orthogonal projectors onto
- An incremental API for appending columns to
(A, L)and updating the GSVD efficiently.
See the documentation for more details.
Note: This implementation assumes the stacked matrix
np.vstack([A, L])has full column rank. If this condition is violated (initially or after appending columns), aLinAlgErroris raised.
Installation
pip install easygsvd
Example usage
import numpy as np
from easygsvd import gsvd
# Sizes of test matrices
M = 200
K = 195
N = 100
# Draw random test matrices with standard Gaussian entries
A = np.random.normal(size=(M, N))
L = np.random.normal(size=(K, N))
# Compute the economic GSVD of (A, L)
gsvd_result = gsvd(A, L, full_matrices=False)
# Compute the economic GSVD of (A, L)
gsvd_result_full = gsvd(A, L, full_matrices=True)
gsvd_full = gsvd(A, L, tol=1e-12, full_matrices=True)
Metadata
Release files for easygsvd 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| easygsvd-0.0.4.tar.gz | 292.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| easygsvd-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 304.3 kB
Release files / easygsvd-0.0.4.tar.gz
| Download URL | easygsvd-0.0.4.tar.gz |
|---|---|
| Size | 292.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09f62a3ed7c245aaa4e8fca780f4a4bf6636fac4a7248654a830745e2eeabd2e
|
|
BLAKE2b-256 checksum How to use checksums |
93be8913a04f5a13fc3582aeae2a4d30263d211fe0301618febe3ca88d94611c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.6
|
Release files / easygsvd-0.0.4-py3-none-any.whl
| Download URL | easygsvd-0.0.4-py3-none-any.whl |
|---|---|
| Size | 12.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
87ecfe7e856f65f56e8ff856d39e5f3c60be7173f7a0ffd117b89f5b1299a5e6
|
|
BLAKE2b-256 checksum How to use checksums |
a80fee16b1ea21a984a8f2ab797b86c74c1d4530e6d0e0b2fd5c65c645e2c50a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.6
|