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

MacPorts noreply at macports.org
Tue Jan 8 22:57:54 UTC 2019


#57878: octave
@4.4.1_2+accelerate+app+docs+gfortran+graphicsmagick+qt5+sound+sundials:
bug in etree routine causing error
---------------------------------+----------------------------
 Reporter:  ndellingwood         |      Owner:  (none)
     Type:  defect               |     Status:  new
 Priority:  Normal               |  Milestone:  MacPorts 2.6.0
Component:  ports                |    Version:  2.5.4
 Keywords:  octave,etree,sparse  |       Port:  octave
---------------------------------+----------------------------
 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]);`

-- 
Ticket URL: <https://trac.macports.org/ticket/57878>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list