I'm forwarding a request from a user to merge a bug fix patch that was posted as a pull request on our GitHub site:  This is a good way for outside users to contribute changes back to VXL.  If you still consider yourself an active VXL, I suggest you join the VXL community on GitHub and "watch" the vxl project so that you are notified of these requests.  You can then comment on the code on the GitHub site, pull in the changes to your local clone and push them back to our primary repository on sourceforge.

This one looks like a simple fix and looks correct.  I can merge it, but I haven't worked on vnl_sparse_matrix before, so I'll give it a couple days in case anyone else wants to look at the issue more carefully or make comments.


---------- Forwarded message ----------
From: Daniel Perry <>
Date: Mon, Jul 28, 2014 at 2:31 PM
Subject: [vxl] vnl_sparse_matrix::mult - size of q buffer should actually be (this->rows())*pcols. (#1)
To: vxl/vxl <>

I ran into a subtle bug in vnl_sparse_matrix::mult(), where the code assumes the p and q buffers are the same size (prows*pcols). However the size of q should really be (this->rows())*pcols.

ie, in matrix multiplication an (a,b) size matrix multiplied with a (b,c) size matrix results in a (a,c) size matrix, not (b,c).

(I have a duplicate pull-request open with ITK, but thought you would probably want the tiny fix too?)

You can merge this Pull Request by running

  git pull master

Or view, comment on, or merge it at:

Commit Summary

  • size of q buffer should actually be (this->rows())*pcols.

File Changes

Patch Links:

Reply to this email directly or view it on GitHub.