# Which package is suitable for matrix-free partial SVD?

**URL:** <https://discourse.julialang.org/t/which-package-is-suitable-for-matrix-free-partial-svd/118419>\
**Category:** Optimization (Mathematical)\
**Tags:** package, svd, matrix\
**Created:** [August 20, 2024, 3:13pm UTC](https://discourse.julialang.org/t/which-package-is-suitable-for-matrix-free-partial-svd/118419 "2024-08-20T15:13:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![MAChiyu](https://avatars.discourse-cdn.com/v4/letter/m/a88e4f/32.png) [@MAChiyu](https://discourse.julialang.org/u/MAChiyu)\
**Post date:** [August 20, 2024, 3:13pm UTC](https://discourse.julialang.org/t/which-package-is-suitable-for-matrix-free-partial-svd/118419/1 "2024-08-20T15:13:58Z")

</div>

Hi! I am new to Julia. I used to use MATLAB. Within MATLAB, I use lansvd in PROPACK to do partial SVD of some linear operator (needs Afunpar to input other parameters of the matrix free operator). I notice there is PROPACK.jl, but the tutorial is unfriendly. Could you please recommend some package for matrix-free SVD? I really appreciate if you can offer an example! Tks!

---

<div class="post-metadata">

**Author:** ![juliohm](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/juliohm/32/215266_2.png) [@juliohm](https://discourse.julialang.org/u/juliohm)\
**Post date:** [August 20, 2024, 3:16pm UTC](https://discourse.julialang.org/t/which-package-is-suitable-for-matrix-free-partial-svd/118419/2 "2024-08-20T15:16:11Z")

</div>

Assuming you did your homework searching keywords in [JuliaHub.com](http://JuliaHub.com)?

---

<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:** [August 20, 2024, 8:15pm UTC](https://discourse.julialang.org/t/which-package-is-suitable-for-matrix-free-partial-svd/118419/3 "2024-08-20T20:15:57Z")

</div>

TSVD.jl, LowRankApprox.jl, `svdsolve` in KrylovKit.jl, …

TSVD.jl, in particular, apparently uses the same mathematical algorithm as PROPACK.jl
