Quite some time ago I watched the movie 'The Man Who Knew Infinity' which most of you must be knowing is a real life story based on a very respectable Indian mathematician Srinivasa Ramanujan. I had not even heard of the partition until it was mentioned in the movie. So after that I looked up on the internet about partition theory and went on my own expedition to find the number of partitions of a number. It's not an amazing new formula to magically output value of number of partitions for a given input, rather it is a long method which incorporates visualization (much similar to Young's diagrams and Ferrer's diagrams) to find the number of partitions of a given positive integer. Now without any further ado, here is what I thought about it.
Let's suppose that one mushroom represents the number , vertical stacking adds the ones and horizontal stacking of vertical stacks adds the numbers. For eg. will be represented as : Note that is same as or
The number can be represented as 'Mushroom Diagram' in following ways -
Let's add another notation here, let denote the number of partitions of integer .Now, we will consider times as the and we will do some operations on this to get our desired results. Note that is the most partition out of all.
Firstly we take mushrooms from lined up mushrooms and now what we have left is mushrooms in a row and the mushrooms we picked up. Now we have to stack up these mushrooms on top of mushrooms, somewhat like this-
Now things start to get a little bit messy because of the two possibilities viz. -
This is an easy one as the number of ways the mushrooms can be stacked upon mushrooms is equal to the number of partitions of because even the Base Partition of mushrooms would fit on the mushrooms. So, the number of ways to stack mushrooms if is . For eg. for and
In this case we would not be able to stack all the partitions of on the mushrooms lined up because the Base Partition along with some other partitions would not fit. So we will have to subtract some cases to get the actual number of ways. If is even the maximum vertical stack of mushrooms left un-stacked would be depending on value of . And in case of odd the number of mushrooms left unstacked would be depending on value of . For eg. if and the maximum number of mushrooms left out would be 2.
And we will have to subtract the cases where taken mushrooms are not fully stacked as it would lead to repetition of cases. Let's introduce another variable which represents the maximum number of mushrooms left out which can also be written in other form . Now, we can find the number of cases to be subtracted from to get the desired cases. We have to arrange mushrooms so we will have to subtract those cases where the number of horizontal rows is more than . In order to achieve this we will first lay the mushrooms in horizontal row and work our way backwards by picking up one at a time and then arranging them too.
So the number of discarded cases would be until the point we pick up less mushrooms than we have bases to arrange them on. And we will be faced by the same dilemma because of which we divided the case into two parts. And we will have to keep on doing the things we did until we reach a point where we can easily stack mushrooms.We can also find approximate value by cutting off at any step and simply assuming number of discarded cases to be but remember the more times you will apply this algorithm, more close to the answer you will be.
P.S. If you could find the number of partitions of integer which only has a specific number of bases, say , it would make the problem a lot easier to solve. Somewhat like this
I know that this is not the best way of finding the number of partitions and I would really welcome your comments to improvise this method.Thank you for any suggestions.