*****************************************************************************
*       www.FindStat.org - The Combinatorial Statistic Finder               *
*                                                                           *
*       Copyright (C) 2019 The FindStatCrew <info@findstat.org>             *
*                                                                           *
*    This information is distributed in the hope that it will be useful,    *
*    but WITHOUT ANY WARRANTY; without even the implied warranty of         *
*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.                   *
*****************************************************************************

-----------------------------------------------------------------------------
Statistic identifier: St000755

-----------------------------------------------------------------------------
Collection: Integer partitions

-----------------------------------------------------------------------------
Description: The number of real roots of the characteristic polynomial of a linear recurrence associated with an integer partition.

Consider the recurrence $$f(n)=\sum_{p\in\lambda} f(n-p).$$  This statistic returns the number of distinct real roots of the associated characteristic polynomial.

For example, the partition $(2,1)$ corresponds to the recurrence $f(n)=f(n-1)+f(n-2)$ with associated characteristic polynomial $x^2-x-1$, which has two real roots.

-----------------------------------------------------------------------------
References: [1]   [[wikipedia:Recurrence_relation#Roots_of_the_characteristic_polynomial]]

-----------------------------------------------------------------------------
Code:
def statistic(m):
    """
    Return the number of real roots of

    x^m_k = x^{m_k-m_1} + x^{m_k-m_2} + ... + 1

    without multiplicities.
    """
    if len(m) == 0:
        return None
    R.<x> = PolynomialRing(ZZ)
    mk = max(m)
    eq = x^mk - sum(x^(mk-e) for e in m)
    return eq.number_of_real_roots()


-----------------------------------------------------------------------------
Statistic values:

[1]                       => 1
[2]                       => 2
[1,1]                     => 1
[3]                       => 1
[2,1]                     => 2
[1,1,1]                   => 1
[4]                       => 2
[3,1]                     => 1
[2,2]                     => 2
[2,1,1]                   => 2
[1,1,1,1]                 => 1
[5]                       => 1
[4,1]                     => 2
[3,2]                     => 1
[3,1,1]                   => 1
[2,2,1]                   => 2
[2,1,1,1]                 => 2
[1,1,1,1,1]               => 1
[6]                       => 2
[5,1]                     => 1
[4,2]                     => 2
[4,1,1]                   => 2
[3,3]                     => 1
[3,2,1]                   => 1
[3,1,1,1]                 => 1
[2,2,2]                   => 2
[2,2,1,1]                 => 2
[2,1,1,1,1]               => 2
[1,1,1,1,1,1]             => 1
[7]                       => 1
[6,1]                     => 2
[5,2]                     => 1
[5,1,1]                   => 1
[4,3]                     => 2
[4,2,1]                   => 2
[4,1,1,1]                 => 2
[3,3,1]                   => 1
[3,2,2]                   => 3
[3,2,1,1]                 => 1
[3,1,1,1,1]               => 1
[2,2,2,1]                 => 2
[2,2,1,1,1]               => 2
[2,1,1,1,1,1]             => 2
[1,1,1,1,1,1,1]           => 1
[8]                       => 2
[7,1]                     => 1
[6,2]                     => 2
[6,1,1]                   => 2
[5,3]                     => 1
[5,2,1]                   => 1
[5,1,1,1]                 => 1
[4,4]                     => 2
[4,3,1]                   => 2
[4,2,2]                   => 2
[4,2,1,1]                 => 2
[4,1,1,1,1]               => 2
[3,3,2]                   => 1
[3,3,1,1]                 => 1
[3,2,2,1]                 => 1
[3,2,1,1,1]               => 1
[3,1,1,1,1,1]             => 1
[2,2,2,2]                 => 2
[2,2,2,1,1]               => 2
[2,2,1,1,1,1]             => 2
[2,1,1,1,1,1,1]           => 2
[1,1,1,1,1,1,1,1]         => 1
[9]                       => 1
[8,1]                     => 2
[7,2]                     => 1
[7,1,1]                   => 1
[6,3]                     => 2
[6,2,1]                   => 2
[6,1,1,1]                 => 2
[5,4]                     => 1
[5,3,1]                   => 1
[5,2,2]                   => 3
[5,2,1,1]                 => 1
[5,1,1,1,1]               => 1
[4,4,1]                   => 2
[4,3,2]                   => 2
[4,3,1,1]                 => 2
[4,2,2,1]                 => 2
[4,2,1,1,1]               => 2
[4,1,1,1,1,1]             => 2
[3,3,3]                   => 1
[3,3,2,1]                 => 1
[3,3,1,1,1]               => 1
[3,2,2,2]                 => 3
[3,2,2,1,1]               => 1
[3,2,1,1,1,1]             => 1
[3,1,1,1,1,1,1]           => 1
[2,2,2,2,1]               => 2
[2,2,2,1,1,1]             => 2
[2,2,1,1,1,1,1]           => 2
[2,1,1,1,1,1,1,1]         => 2
[1,1,1,1,1,1,1,1,1]       => 1
[10]                      => 2
[9,1]                     => 1
[8,2]                     => 2
[8,1,1]                   => 2
[7,3]                     => 1
[7,2,1]                   => 1
[7,1,1,1]                 => 1
[6,4]                     => 2
[6,3,1]                   => 2
[6,2,2]                   => 2
[6,2,1,1]                 => 2
[6,1,1,1,1]               => 2
[5,5]                     => 1
[5,4,1]                   => 1
[5,3,2]                   => 1
[5,3,1,1]                 => 1
[5,2,2,1]                 => 1
[5,2,1,1,1]               => 1
[5,1,1,1,1,1]             => 1
[4,4,2]                   => 2
[4,4,1,1]                 => 2
[4,3,3]                   => 2
[4,3,2,1]                 => 2
[4,3,1,1,1]               => 2
[4,2,2,2]                 => 2
[4,2,2,1,1]               => 2
[4,2,1,1,1,1]             => 2
[4,1,1,1,1,1,1]           => 2
[3,3,3,1]                 => 1
[3,3,2,2]                 => 1
[3,3,2,1,1]               => 1
[3,3,1,1,1,1]             => 1
[3,2,2,2,1]               => 3
[3,2,2,1,1,1]             => 1
[3,2,1,1,1,1,1]           => 1
[3,1,1,1,1,1,1,1]         => 1
[2,2,2,2,2]               => 2
[2,2,2,2,1,1]             => 2
[2,2,2,1,1,1,1]           => 2
[2,2,1,1,1,1,1,1]         => 2
[2,1,1,1,1,1,1,1,1]       => 2
[1,1,1,1,1,1,1,1,1,1]     => 1
[11]                      => 1
[10,1]                    => 2
[9,2]                     => 1
[9,1,1]                   => 1
[8,3]                     => 2
[8,2,1]                   => 2
[8,1,1,1]                 => 2
[7,4]                     => 1
[7,3,1]                   => 1
[7,2,2]                   => 3
[7,2,1,1]                 => 1
[7,1,1,1,1]               => 1
[6,5]                     => 2
[6,4,1]                   => 2
[6,3,2]                   => 2
[6,3,1,1]                 => 2
[6,2,2,1]                 => 2
[6,2,1,1,1]               => 2
[6,1,1,1,1,1]             => 2
[5,5,1]                   => 1
[5,4,2]                   => 3
[5,4,1,1]                 => 1
[5,3,3]                   => 1
[5,3,2,1]                 => 1
[5,3,1,1,1]               => 1
[5,2,2,2]                 => 3
[5,2,2,1,1]               => 1
[5,2,1,1,1,1]             => 1
[5,1,1,1,1,1,1]           => 1
[4,4,3]                   => 2
[4,4,2,1]                 => 2
[4,4,1,1,1]               => 2
[4,3,3,1]                 => 2
[4,3,2,2]                 => 2
[4,3,2,1,1]               => 2
[4,3,1,1,1,1]             => 2
[4,2,2,2,1]               => 2
[4,2,2,1,1,1]             => 2
[4,2,1,1,1,1,1]           => 2
[4,1,1,1,1,1,1,1]         => 2
[3,3,3,2]                 => 1
[3,3,3,1,1]               => 1
[3,3,2,2,1]               => 1
[3,3,2,1,1,1]             => 1
[3,3,1,1,1,1,1]           => 1
[3,2,2,2,2]               => 3
[3,2,2,2,1,1]             => 1
[3,2,2,1,1,1,1]           => 1
[3,2,1,1,1,1,1,1]         => 1
[3,1,1,1,1,1,1,1,1]       => 1
[2,2,2,2,2,1]             => 2
[2,2,2,2,1,1,1]           => 2
[2,2,2,1,1,1,1,1]         => 2
[2,2,1,1,1,1,1,1,1]       => 2
[2,1,1,1,1,1,1,1,1,1]     => 2
[1,1,1,1,1,1,1,1,1,1,1]   => 1
[12]                      => 2
[11,1]                    => 1
[10,2]                    => 2
[10,1,1]                  => 2
[9,3]                     => 1
[9,2,1]                   => 1
[9,1,1,1]                 => 1
[8,4]                     => 2
[8,3,1]                   => 2
[8,2,2]                   => 2
[8,2,1,1]                 => 2
[8,1,1,1,1]               => 2
[7,5]                     => 1
[7,4,1]                   => 1
[7,3,2]                   => 1
[7,3,1,1]                 => 1
[7,2,2,1]                 => 1
[7,2,1,1,1]               => 1
[7,1,1,1,1,1]             => 1
[6,6]                     => 2
[6,5,1]                   => 2
[6,4,2]                   => 2
[6,4,1,1]                 => 2
[6,3,3]                   => 2
[6,3,2,1]                 => 2
[6,3,1,1,1]               => 2
[6,2,2,2]                 => 2
[6,2,2,1,1]               => 2
[6,2,1,1,1,1]             => 2
[6,1,1,1,1,1,1]           => 2
[5,5,2]                   => 1
[5,5,1,1]                 => 1
[5,4,3]                   => 1
[5,4,2,1]                 => 1
[5,4,1,1,1]               => 1
[5,3,3,1]                 => 1
[5,3,2,2]                 => 1
[5,3,2,1,1]               => 1
[5,3,1,1,1,1]             => 1
[5,2,2,2,1]               => 2
[5,2,2,1,1,1]             => 1
[5,2,1,1,1,1,1]           => 1
[5,1,1,1,1,1,1,1]         => 1
[4,4,4]                   => 2
[4,4,3,1]                 => 2
[4,4,2,2]                 => 2
[4,4,2,1,1]               => 2
[4,4,1,1,1,1]             => 2
[4,3,3,2]                 => 2
[4,3,3,1,1]               => 2
[4,3,2,2,1]               => 2
[4,3,2,1,1,1]             => 2
[4,3,1,1,1,1,1]           => 2
[4,2,2,2,2]               => 2
[4,2,2,2,1,1]             => 2
[4,2,2,1,1,1,1]           => 2
[4,2,1,1,1,1,1,1]         => 2
[4,1,1,1,1,1,1,1,1]       => 2
[3,3,3,3]                 => 1
[3,3,3,2,1]               => 1
[3,3,3,1,1,1]             => 1
[3,3,2,2,2]               => 2
[3,3,2,2,1,1]             => 1
[3,3,2,1,1,1,1]           => 1
[3,3,1,1,1,1,1,1]         => 1
[3,2,2,2,2,1]             => 3
[3,2,2,2,1,1,1]           => 1
[3,2,2,1,1,1,1,1]         => 1
[3,2,1,1,1,1,1,1,1]       => 1
[3,1,1,1,1,1,1,1,1,1]     => 1
[2,2,2,2,2,2]             => 2
[2,2,2,2,2,1,1]           => 2
[2,2,2,2,1,1,1,1]         => 2
[2,2,2,1,1,1,1,1,1]       => 2
[2,2,1,1,1,1,1,1,1,1]     => 2
[2,1,1,1,1,1,1,1,1,1,1]   => 2
[1,1,1,1,1,1,1,1,1,1,1,1] => 1
[5,4,3,1]                 => 1
[5,4,2,2]                 => 3
[5,4,2,1,1]               => 1
[5,3,3,2]                 => 1
[5,3,3,1,1]               => 1
[5,3,2,2,1]               => 1
[4,4,3,2]                 => 2
[4,4,3,1,1]               => 2
[4,4,2,2,1]               => 2
[4,3,3,2,1]               => 2
[5,4,3,2]                 => 1
[5,4,3,1,1]               => 1
[5,4,2,2,1]               => 3
[5,3,3,2,1]               => 1
[4,4,3,2,1]               => 2
[5,4,3,2,1]               => 1

-----------------------------------------------------------------------------
Created: Apr 08, 2017 at 16:43 by Martin Rubey

-----------------------------------------------------------------------------
Last Updated: Dec 30, 2017 at 22:57 by Martin Rubey