bugGNU Octave - Bugs: bug #57737, [octave forge] (symbolic) Test...

 
 

bug #57737: [octave forge] (symbolic) Test failure with sympy 1.5.1

Submitter:  Orion Poplawski <opoplawski>
Submitted:  Tue 04 Feb 2020 03:34:48 AM UTC
   
 
Category:  Octave Package Severity:  3 - Normal
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Open/Closed:  * Closed
Release:  * dev Operating System:  * GNU/Linux
Fixed Release:  None Planned Release:  None
* Mandatory Fields

Add a New Comment Rich Markup
   

Tue 04 Feb 2020 06:43:54 PM UTC, comment #4: 

Sorry, I forgot to check the repo, yes this is fixed already on the master branch.

Specific patch:

https://github.com/cbm755/octsympy/commit/ac9445489b832716f7b41178d7a98d0cfbf0cb60

Mike Miller <mtmiller>
Group Member
Tue 04 Feb 2020 08:47:51 AM UTC, comment #3: 

This is all fixed in the upcoming release, sorry I've just been dragging my heels.

Colin Macdonald <cbm>
Tue 04 Feb 2020 06:09:03 AM UTC, comment #2: 

From the SymPy 1.5 release notes,

> EmptySet (as imported from sympy) is now the singleton instance of the empty set rather than the class.


sounds very related.

Mike Miller <mtmiller>
Group Member
Tue 04 Feb 2020 06:02:33 AM UTC, comment #1: 

Confirmed. This is a little strange. With both SymPy 1.4 and 1.5, the Octave call `finiteset()` calls the SymPy function `FiniteSet()`, which returns an `EmptySet` object.

However, in 1.5, when the `EmptySet` object is passed in as an argument to the 'plus' operation, it's interpreted differently as a 'Singleton' object.

In both 1.4 and 1.5, `EmptySet + FiniteSet(1)` does the right thing, but in 1.5, the Python-to-Octave-to-Python conversion of EmptySet messes something up.

Cc @cbm.

Mike Miller <mtmiller>
Group Member
Tue 04 Feb 2020 03:34:48 AM UTC, original submission:  

With the update to sympy 1.5.1 in Fedora rawhide, octave-symbolic test is failing:

>>>>> processing /builddir/build/BUILDROOT/octave-symbolic-2.8.0-4.fc32.noarch/usr/share/octave/packages/symbolic-2.8.0/finiteset.m

*** test
 e = finiteset();
 s = finiteset(sym(1));
 s2 = e + s;
 assert (isequal (s, s2))
!!!!! test failed
Python exception: TypeError: unsupported operand type(s) for +: 'Singleton' and 'FiniteSet'
    occurred at line 8 of the Python code block:
    return x + y

Orion Poplawski <opoplawski>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by cbm (Posted a comment)
  • -email is unavailable- added by mtmiller
  • -email is unavailable- added by opoplawski (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only group members can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-02-04 mtmiller StatusConfirmed Fixed
        Open/ClosedOpen Closed
    2020-02-04 mtmiller Carbon-Copy- Added cbm
    2020-02-04 mtmiller Item GroupBuild Failure Incorrect Result
        StatusNone Confirmed
        Release5.1.0 dev

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code