mkmSet: Partitions of a multi-index

mkmSetR Documentation

Partitions of a multi-index

Description

The function returns all the partitions of a multi-index, that is a vector of non-negative integers. Note that these partitions correspond to the subdivisions of a multiset having the input multi-index as multiplicities.

Usage

      mkmSet(vPar = NULL, vOutput = FALSE)

Arguments

vPar

vector of non-negative integers

vOutput

optional boolean variable. If equal to TRUE, the function produces a compact output that is easy to read.

Details

The mkmSet function finds all the vectors, different from the zero vector, whose sum (in column) is equal to the vector (in column) of nonnegative integers given in input. When the input vector is just an integer, let's say n, the function returns the partitions of n. Each partition is paired with the number of set partitions having that partition as their class. For example, if n=3 the output is

[[1,1,1],1], [[1,2],3], [[3],1],

where 1+1+1=1+2=3. From this output, the subdivisions of a multiset with multiplicity 3 can be recovered. For example, the subdivisions of [a,a,a] are [[a], [a], [a]] corresponding to [1,1,1], [[a], [a,a]] corresponds to [1,2] and [[a,a,a]] corresponds to [3]. When the input vector is a multi-index, the function returns all the partitions of the multi-index. For example, if the input is (2,1) then the function returns
0 1 1 0 2 1 1 2 1 0 0 1 0 0 1 1

with multiplicities 1, 1, 2, 1 respectively, which corresponds to the output (the columns become rows) of the mkmSet function when the flag variable vOutput is set equal to TRUE

[( 0 1 )( 1 0 )( 1 0 ), 1 ]
[( 0 1 )( 2 0 ), 1 ]
[( 1 0 )( 1 1 ), 2 ]
[( 2 1 ), 1 ]

From this output, the subdivisions of a multiset with multiplicity (2,1) can be easily recovered. For example the previous partitions correspond to the following subdivisions of the multiset [a,a,b]

[[b], [a], [a]]
[[b], [a,a]]
[[a], [a,b]]
[[a,a,b]]

The mkmSet function is the core of the kStatistics package. The strategy to find all the partitions of a multi-index is described in the refereed papers. To find the multiplicities of the multi-index partitions see the countP function.

Value

list

two-dimensional list: in the first there is the partition, while in the second there is its multiplicity

Note

Called by the nKS, nKM, nPS and nPM functions in the kStatistics package.

In the output list, the sum of all multiplicities is the Bell Number whereas the sum of all multiplicities of the partitions with the same lenght is the Stirling number of the second kind. For example, mkmSet(4, TRUE) returns

[( 1 )( 1 )( 1 )( 1 ), 1 ]
[( 1 )( 1 )( 2 ), 6 ]
[( 2 )( 2 ), 3 ]
[( 1 )( 3 ), 4 ]
[( 4 ), 1 ]

Observe that 3 + 4 = 7 = S(4,2), where 4 is the input integer, 2 is the length of the partitions [1,3] and [2,2] and S(i,j) denotes the Stirling numbers of the second kind, see also the nStirling2 function. Similarly, we have 1 = S(4,4) = S(4,1) and 6 = S(4,3). Note that 1 + 6 + 4 + 3 + 1 = 15 = Bell(4) which is the number of partitions of the integer 4.

Author(s)

Elvira Di Nardo elvira.dinardo@unito.it,
Giuseppe Guarino giuseppe.guarino@rete.basilicata.it

References

E. Di Nardo, G. Guarino, D. Senato (2008) An unifying framework for k-statistics, polykays and their generalizations. Bernoulli. 14(2), 440-468. (download from https://arxiv.org/pdf/math/0607623.pdf)

E. Di Nardo, G. Guarino, D. Senato (2008) Symbolic computation of moments of sampling distributions. Comp. Stat. Data Analysis. 52(11), 4909-4922. (download from https://arxiv.org/abs/0806.0129)

See Also

mCoeff, countP, nStirling2, intPart, ff

Examples


# Return [ [[1,1,1],1], [[1,2],3], [[3],1]  ]
# 3 is the multiplicity of a multiset with 3 elements all equal
mkmSet(3)

# Return [ [[1,1],[1,0],2], [[1,0],[1,0],[0,1],1],[[2,0],[0,1],1], [[2,1],1] ]
# (2,1) is the multiplicity of a multiset with 2 equal elements and a third distinct element 
mkmSet(c(2,1)) 
# OR (same output)
mkmSet(c(2,1), FALSE)  

# Returns the same output of the previous example but in a compact form.
mkmSet(c(2,1), TRUE)  


kStatistics documentation built on June 8, 2022, 5:05 p.m.