#13413: fix integer overflow (?) in conversion of powersums to Schur functions
-------------------------------------------------+-------------------------
       Reporter:  saliola                        |        Owner:  sage-
           Type:  defect                         |  combinat
       Priority:  critical                       |       Status:  new
      Component:  combinatorics                  |    Milestone:  sage-5.13
       Keywords:  symmetric functions,           |   Resolution:
  symmetrica, memleak                            |    Merged in:
        Authors:                                 |    Reviewers:
Report Upstream:  Reported upstream. No          |  Work issues:
  feedback yet.                                  |       Commit:
         Branch:                                 |     Stopgaps:
   Dependencies:                                 |
-------------------------------------------------+-------------------------

Comment (by zabrocki):

 Yea! I think I found it!
 I thought about it and realized that the coefficient that I have been
 concentrating on as my example must be coming from adding the number of
 standard tableaux of shape formed by removing an outer corner together.  I
 tried the following as a test.c.
 {{{
 #include "def.h"
 #include "macro.h"

 ANFANG
 sscan_integer("1003805253100650000",a);
 println(a);
 sscan_integer("1357888495095475200",b);
 println(b);
 sscan_integer("1472208106707261000",c);
 println(c);
 sscan_integer("1336535106226320000",d);
 println(d);
 sscan_integer("2194567264800768000",e);
 println(e);
 sscan_integer("2252538987957858600",f);
 println(f);
 sscan_integer("3344119693841203200",g);
 println(g);
 printf("-------------------\n");
 add(a,b,h);
 println(h);
 add(c,h,h);
 println(h);
 add(d,h,h);
 println(h);
 add(e,h,h);
 println(h);
 add(f,h,h);
 println(h);
 add(g,h,h);
 println(h);
 ENDE
 }}}
 So above the line we will see the numbers of standard tableaux formed by
 removing a corner (which I calculated in sage, but compared them to the
 output of the program in comment 15.  And the output is....
 {{{
 SYMMETRICA VERSION 3.0 - STARTING
  Thu Feb 26 14:58:10 MET 1998
 1003805253100650000
 1357888495095475200
 1472208106707261000
 1336535106226320000
 2194567264800768000
 2252538987957858600
 3344119693841203200
 -------------------
 2361693748196125200
 3833901854903386200
 5170436961129706200
 7365004225930474200
  2.252539.342021.485568
  5.596659.035862.688768

 SYMMETRICA VERSION 3.0 - ENDING
 last changed:  Thu Feb 26 14:58:10 MET 1998
 }}}
 Lets do the same thing by hand in sage:
 {{{
 sage: 1003805253100650000+1357888495095475200
 2361693748196125200
 sage: _+1472208106707261000
 3833901854903386200
 sage: _+1336535106226320000
 5170436961129706200
 sage: _+2194567264800768000
 7365004225930474200
 sage: _+2252538987957858600
 9617543213888332800
 }}}
 Notice that as soon as I add two 'integer' objects together so that they
 become a 'longint' object (marked by where the program starts printing out
 periods in the number) the answer is wrong.  So now I just have to find
 the routine which adds two ints and gives an overflow into longints.

--
Ticket URL: <http://trac.sagemath.org/ticket/13413#comment:21>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to