Opened 11 years ago

Closed 4 years ago

#7129 closed enhancement (patchwelcome)

The implementation of dojox.math.matrix.inverse() is inefficient

Reported by: enzo Owned by: Eugene Lazutkin
Priority: high Milestone: 1.13
Component: Dojox Version: 1.1.1
Keywords: Cc: Tom Trenka
Blocked By: Blocking:

Description

Here are the results of a comparison between dojox.math.matrix.inverse() and the inverse() method of the Matrix object in Sylvester :

  Size   Sylvester      Dojo
 
 20x 20:     17 ms        753 ms
 30x 30:     57 ms      5,216 ms
 40x 40:    123 ms     25,126 ms
100x100:  1,778 ms       ???
200x200: 15,566 ms       ???

I would recommend to adopt the same method as Sylvester (Gauss-Jordan) rather than the less efficient adjugate matrix method (which, by the way, in dojox.math is considered incorrectly referenced as "adjoint"). Sylvester is licensed under a BSD-style license, and it may be possible to use directly its code.

Attachments (1)

MatrixInversionBenchmark.html (1.2 KB) - added by enzo 11 years ago.
Test case (requires Dojo and Sylvester installed in the same directory wher this file lives)

Download all attachments as: .zip

Change History (6)

comment:1 Changed 11 years ago by bill

Component: GeneralDojox
Owner: changed from anonymous to Adam Peller

comment:2 Changed 11 years ago by Tom Trenka

Owner: changed from Adam Peller to Eugene Lazutkin

comment:3 Changed 11 years ago by Tom Trenka

Milestone: tbdfuture

Changed 11 years ago by enzo

Test case (requires Dojo and Sylvester installed in the same directory wher this file lives)

comment:4 Changed 10 years ago by Eugene Lazutkin

Status: newassigned

comment:5 Changed 4 years ago by dylan

Milestone: future1.12
Resolution: patchwelcome
Status: assignedclosed

Given that no one has shown interest in creating a patch in the past 5+ years, I'm closing this as patchwelcome.

Note: See TracTickets for help on using tickets.