Opened 9 years ago

Closed 6 years ago

#10371 closed enhancement (wontfix)

Single Value Decomposition function for dojo.math.matrix

Reported by: enzo Owned by: Tom Trenka
Priority: low Milestone: tbd
Component: Dojox Version: 1.4.0b
Keywords: reviewed Cc:
Blocked By: Blocking:

Description

The thinsvd(A) function in the attached SVD.js implements the SVD for a matrix A built as 2-D array of arrays, and can easily be added to dojo.math.matrix as it does not have external dependencies. The code is derived from the Java implementation in JAMA (http://math.nist.gov/javanumerics/jama/ ), which is in the public domain. The attached SVDtest.html is a self-contained HTML+JS demo page.

With square random matrices, complexity grows roughly as O(n3). Decomposing a 100x100 matrix typically takes, with a single-core 1.7GHz Pentium M:

  • Chrome 3.0.195.27: 880 ms
  • Firefox 3.5.4: 950 ms
  • Safari 4.0.3: 1,360 ms
  • MSIE 8.0: 9,554 ms (and three "slow script" warnings...)

For further details, see the comments in SVD.js .

Attachments (2)

SVD.js (14.6 KB) - added by enzo 9 years ago.
SVD code
SVDtest.html (4.3 KB) - added by enzo 9 years ago.
HTML+JS demo page (also shows use of SVD to calculate (Pseudo-)Inverse

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by enzo

Attachment: SVD.js added

SVD code

Changed 9 years ago by enzo

Attachment: SVDtest.html added

HTML+JS demo page (also shows use of SVD to calculate (Pseudo-)Inverse

comment:1 Changed 9 years ago by Adam Peller

Component: GeneralDojox
Owner: changed from anonymous to Tom Trenka

comment:2 Changed 7 years ago by Tom Trenka

Priority: highlow
Status: newassigned

comment:3 Changed 7 years ago by Tom Trenka

Keywords: reviewed added

comment:4 Changed 6 years ago by Tom Trenka

Resolution: wontfix
Status: assignedclosed

Given the age of these tickets and the small nature of them, I'm marking all as won't fix. #1395 was somewhat addressed with the implementation of SHA2 in DTK 1.8.

Note: See TracTickets for help on using tickets.