Description Usage Arguments Details Value Note Author(s) Examples

Given a partition, provide its conjugate or Durfee square

1 2 |

`x` |
Either a vector describing a partition, in standard form (ie nonincreasing); or a matrix whose columns are partitions in standard form |

Conjugation is described in Andrews, and (eg) Hardy and Wright.

The conjugate of a partition may be calculated by taking its Ferrers diagram and considering the partition defined by columns instead of rows. This may be visualised by flipping the Ferrers diagram about the leading diagonal.

Essentially, `conjugate()`

carries out **R** idiom
`rev(cumsum(table(factor(a[a>0],levels=max(a):1))))`

, but faster.

The “Durfee square” of a partition is defined on page 281 of
Hardy and Wright. It is the largest square of nodes contained in the
partition's Ferrers graph. Function `durfee()`

returns the
length of the side
of the Durfee square, which Andrews denotes
*d(lambda)*. It is equivalent to **R** idiom
`function(a){sum(a>=1:length(a))}`

, but faster.

Returns either a partition in standard form, or a matrix whose columns are partitions in standard form.

If argument `x`

is not nonincreasing, all bets are off: these
functions will not work and will silently return garbage. Caveat
emptor! (output from `blockparts()`

is not necessarily
non-increasing)

Robin K. S. Hankin

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
parts(5)
conjugate(parts(5))
restrictedparts(6,4)
conjugate(restrictedparts(6,4))
durfee(10:1)
# Suppose one wanted partitions of 8 with no part larger than 3:
conjugate(restrictedparts(8,3))
# (restrictedparts(8,3) splits 8 into at most 3 parts;
# so no part of the conjugate partition is larger than 3).
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.