# Svdvals is inefficient for tall matrices

**URL:** https://discourse.julialang.org/t/svdvals-is-inefficient-for-tall-matrices/50330
**Category:** Performance
**Created:** [November 17, 2020, 8:54pm UTC](https://discourse.julialang.org/t/svdvals-is-inefficient-for-tall-matrices/50330 "2020-11-17T20:54:36Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![moeddel](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/moeddel/32/18641_2.png) [@moeddel](https://discourse.julialang.org/u/moeddel)
#### Post date: [November 18, 2020, 7:00am UTC](https://discourse.julialang.org/t/svdvals-is-inefficient-for-tall-matrices/50330/2 "2020-11-18T07:00:18Z")

</div>

What you found is a well known trick to speed up the calculation of the SVD for substantially wide or tall matrices as described [here](https://www.rdocumentation.org/packages/corpcor/versions/1.6.9/topics/fast.svd). We also made use of this in this topic:

> [@Very slow execution time in comparison even to Python](https://discourse.julialang.org/t/very-slow-execution-time-in-comparison-even-to-python/49223/19):
>
> For data with only 3 dimensions I think it will be hard to make it faster, otherwise truncated svd or RandomizedLinAlg might be worth a try. Using MKL and Float32 instead of Float64 can speed up svd quite a bit.

Maybe it is worth it to implement a `fastsvd` function into `LinearAlgebra` as well.

---

_[View the full topic](https://discourse.julialang.org/t/svdvals-is-inefficient-for-tall-matrices/50330)._
