SVDDC

Open
#182 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
numpy, rust
Domain
data

Research direction

Start by reproducing the reported SVD and matrix-multiplication timings for the [13824,273] matrix, comparing the svd and svddc routines and the ndarray dot operation with NumPy. Read the svddc API to determine valid uvt_flag values. Done means explaining the performance gap and clarifying whether the timings are expected or indicate a problem.

Written by the indexing model from the issue text.

Description

performance

Hi,
I am trying to compute the SVD of a rather large matrix [13824,273] , the svd routine takes about 260s to perform the decomposition , compare to 7s with the svd routine from numpy linalg module.
And I cannot figure out how to use the svddc routine instead of the svd routine, it is not clear what values uvt_flag should be given.

Also I have noticed that matrix multiplication is very slow with ndarray dot routine compared again to numpy, for example , after the SVD if I do the matrix multiplications USVT with ndarray it takes 160s and with numpy it takes 25ms.

Is these timings expected for ndarray-linalg at this stage of development or did I do something wrong and I should expect the same speed than numpy?

Thanks

Dominant language
Rust
Stars
452
Forks
95
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from rust-ndarray/ndarray-linalg

All issues in rust-ndarray/ndarray-linalg

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.