# Partial SVD

**URL:** <https://discourse.julialang.org/t/partial-svd/47820>\
**Category:** Numerics\
**Created:** [October 6, 2020, 1:19am UTC](https://discourse.julialang.org/t/partial-svd/47820 "2020-10-06T01:19:14Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![mleprovost](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mleprovost/32/7166_2.png) [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Post date:** [October 6, 2020, 1:19am UTC](https://discourse.julialang.org/t/partial-svd/47820/1 "2020-10-06T01:19:14Z")

</div>

Hello,

Is there a command to only perform a partial SVD decomposition of a non-square matrix?

---

<div class="post-metadata">

**Author:** ![jlchan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jlchan/32/10958_2.png) [@jlchan](https://discourse.julialang.org/u/jlchan)\
**Post date:** [October 6, 2020, 1:27am UTC](https://discourse.julialang.org/t/partial-svd/47820/2 "2020-10-06T01:27:17Z")

</div>

Like a thin svd?

[https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#LinearAlgebra.svd](https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/#LinearAlgebra.svd)

---

<div class="post-metadata">

**Author:** ![mleprovost](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mleprovost/32/7166_2.png) [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Post date:** [October 6, 2020, 1:30am UTC](https://discourse.julialang.org/t/partial-svd/47820/3 "2020-10-06T01:30:45Z")

</div>

I would like to compute only the first r singular modes of the matrix

---

<div class="post-metadata">

**Author:** ![anon43133060](https://avatars.discourse-cdn.com/v4/letter/a/57b2e6/32.png) [@anon43133060](https://discourse.julialang.org/u/anon43133060)\
**Post date:** [October 6, 2020, 3:11am UTC](https://discourse.julialang.org/t/partial-svd/47820/4 "2020-10-06T03:11:49Z")

</div>

[https://github.com/JuliaLinearAlgebra/TSVD.jl](https://github.com/JuliaLinearAlgebra/TSVD.jl)

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [October 6, 2020, 4:16am UTC](https://discourse.julialang.org/t/partial-svd/47820/5 "2020-10-06T04:16:05Z")

</div>

There are also a few methods in RandomizedLinAlg.jl

---

<div class="post-metadata">

**Author:** ![viralbshah](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/viralbshah/32/54_2.png) [@viralbshah](https://discourse.julialang.org/u/viralbshah)\
**Post date:** [October 6, 2020, 4:48am UTC](https://discourse.julialang.org/t/partial-svd/47820/6 "2020-10-06T04:48:22Z")

</div>

There’s also the good old Arpack.jl

-viral

---

<div class="post-metadata">

**Author:** ![mleprovost](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mleprovost/32/7166_2.png) [@mleprovost](https://discourse.julialang.org/u/mleprovost)\
**Post date:** [October 6, 2020, 5:38am UTC](https://discourse.julialang.org/t/partial-svd/47820/7 "2020-10-06T05:38:58Z")

</div>

Thank you for your answers.

---

<div class="post-metadata">

**Author:** ![dlfivefifty](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dlfivefifty/32/1959_2.png) [@dlfivefifty](https://discourse.julialang.org/u/dlfivefifty)\
**Post date:** [October 6, 2020, 6:57am UTC](https://discourse.julialang.org/t/partial-svd/47820/8 "2020-10-06T06:57:27Z")

</div>

Also `PartialSVD` in LowRankApprox.jl
