Skip to content

JuliaSmoothOptimizers/PROPACK.jl

Repository files navigation

PROPACK

Documentation Linux/macOS/Windows/FreeBSD Coverage DOI
docs-stable docs-dev build-gh build-cirrus codecov doi

A Julia interface to PROPACK, a library for the computation of the truncated singular value decomposition of real (Float32, Float64) and complex (ComplexF32, ComplexF64) matrices or linear operators. PROPACK only requires operator-vector products to estimate singular values and singular vectors.

Reference

Larsen Rasmus M. (1998). Lanczos bidiagonalization with partial reorthogonalization. Department of Computer Science, Aarhus University, Technical report, DAIMI PB-357.

How to Cite

If you use PROPACK.jl in your work, please cite using the format given in CITATION.bib.

How to Install

julia> ]
pkg> add PROPACK
pkg> test PROPACK

Version 0.5.0 of PROPACK.jl requires at least Julia 1.8.

Examples

Compute leading singular triplets

U, s, V, bnd, nprod, ntprod = tsvd(A, k=3)  # 3 largest singular values and their singular vectors

Compute leading singular values only

s, bnd, nprod, ntprod = tsvdvals(A, k=3)

Compute smallest singular triplets

Make sure A is square or short and wide to avoid the trailing zero singular values:

U, s, V, bnd, nprod, ntprod = tsvd_irl(A, k=2)

Compute smallest singular values

s, bnd, nprod, ntprod = tsvdvals_irl(A, k=2)

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

If you want to ask a question not suited for a bug report, feel free to start a discussion here. This forum is for general discussion about this repository and the JuliaSmoothOptimizers organization, so questions about any of our packages are welcome.

About

Julia wrapper of the PROPACK sparse SVD library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages