#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.