Opened 6 years ago

Closed 6 years ago

#57878 closed defect (fixed)

octave @4.4.1_2+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials: bug in etree routine causing error

Reported by: ndellingwood Owned by: MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)
Priority: Normal Milestone:
Component: ports Version: 2.5.4
Keywords: upstream Cc:
Port: octave

Description

The function etree is not working for symmetric, positive definite, square sparse matrices. The error message incorrectly claims a matrix is not sparse when in fact it is a sparse matrix.

This occurs with updated MacPorts 2.5.4 on a MacBook Pro mid-2015 with High Sierra 10.13.6

Reproducer:

>> Adense = [ 1 0 1.2 1.3 0; 0 20 0 -2.3 2.4; 1.2 0 3 0 3.4; 1.3 -2.3 0 14 0; 0 2.4 3.4 0 15];
>> A=sparse(Adense);
>> issymmetric(A)
ans = 1
>> eigs(A)
ans =

   21.65099
   15.33624
   13.06686
    2.78300
    0.16291
# eigs(A) to show all eigenvalues are > 0 (i.e. A is positive definite)

>> issparse(A)
ans = 1
>> etree(A)
error: etree: S must be a sparse matrix

A fix for this bug in the HG Mercurial repo was reported on Nov 22, 2018 at this link:

http://hg.savannah.gnu.org/hgweb/octave/rev/0c7a9fa16998

For quick reference the key fixes, shown in the link above, are to modify

1) line 678 of file libinterp/dldfcn/colamd.cc so that it reads as follows:

if (! args(0).issparse ())

2) line 71 of file libinterp/dldfcn/colamd.cc so that it reads as follows:

octave_idx_type i = (P ? Pinv[ridx[p]] : ridx[p]);

Change History (5)

comment:1 Changed 6 years ago by Schamschula (Marius Schamschula)

Keywords: octave removed
Owner: set to MarcusCalhoun-Lopez
Status: newassigned

comment:2 Changed 6 years ago by Schamschula (Marius Schamschula)

This error can be reproduced on any machine running octave 4.4.1. I reproduced it on my new Mac mini, running Mojave.

The problem is upstream. Octave 5.0 in currently in the release process, so it is unlikely that there will be another bug fix release of octave 4.4.x.

comment:3 Changed 6 years ago by mf2k (Frank Schima)

Keywords: upstream added; etree sparse removed
Milestone: MacPorts 2.6.0

The Milestone field is for use by Macports team members only, please do not set it.

comment:4 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Thank you for the report and the research.

comment:5 Changed 6 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.