Mathematical integer splitting problem

Integer splitting is a classic mathematics problem. We may encounter it from elementary school Olympiad to combinatorics at university. From a literal point of view, it is to split an integer into the sum of several integers, and what is sought is the number of different schemes. The problem I want to discuss today is "unordered splitting", such as 3 = 2 + 1 or 1 + 2 as the same splitting method.

Mathematicians have actually spent a long time studying the problem of integer splitting. What kind of history is that?

Worry-free princess

Note: For the convenience of presentation, we define p(n) as the number of splitting schemes that split n into the sum of several positive integers, the order is irrelevant and repetition is allowed. Let's calculate p(5): 5 can be divided into 5, 4+1, 3+2, 3+1+1, 2+2+1, 2+1+1+1, 1+1+1+ 1+1, so p(5) = 7.

1. Euler

In the 18th century, many mathematicians maintained correspondence with Euler. Once, a gentleman named Nordy asked Euler if he had studied the problem of integer division. Euler said that the number of solutions that divide n into m numbers is actually: (1 + x + x^2 + ……) (1 + x^2 + x^4 + ……) (1 + x ^3 + x^6 + ……) …… (1 + x^m + x^2m + ……) in the coefficient of x^n.
Insert picture description here
What does Euler mean? The first bracket represents the splitting of several 1s; the second bracket represents the splitting of several 2s...... to form an x^n, each item in each bracket needs to be multiplied, and the sum of the exponents is n , Which is a split plan. The coefficient of x^n is equivalent to the number of integer splitting schemes.

The solution is similar to the polynomial multiplication mentioned above.

Although Euler's method is clever, but with his calculation ability, he can only calculate p(49) = 173525. After all, in 1740, there were no calculators or computers, and the scope of manual calculation was very limited.

In fact, Euler's method was later called "generating function".

2. Ramanujan

After 200 years, a mathematician named Ramanujan appeared, who calculated p(200) = 3972999029388. Having said that, I would like to introduce Ramanujan. He has never received formal mathematics training, but he has amazing mathematical intuition. He independently discovered nearly 3900 mathematical formulas and propositions.
Insert picture description here
He recorded all the mathematical propositions he had foreseen in three notebooks, but did not write proofs, only propositions. A Belgian mathematician Deligne won the Fields Medal for proving the conjecture proposed by Ramanujan in 1916.

Not long ago, there was a movie about Ramanujan's life, which also mentioned "integer division".
Insert picture description here
It can be seen that Ramanujan is a very powerful Indian mathematician. When calculating the number of integer splits, he introduced a "formula" for calculating the number of integer splits (I don't know how to push it for the time being):
Insert picture description here

The figure below is the error variation curve between Ramanujan's estimation formula and the actual p(n). When n is larger, the error is actually smaller. In fact, I wrote a program to verify it. The reason why n is only calculated to 400 is because the larger p(n) will exceed a 64-bit integer.
Insert picture description here
When n=400, the error is about 2.2%; I know from the data on the Internet that when n=1000, the error is reduced to about 1.4%. In the age before computers, it was not easy for Ramanujan to derive such an "accurate" formula!

Guess you like

Origin blog.csdn.net/Brave_heart4pzj/article/details/114833518