"Integer partitions"의 두 판 사이의 차이

수학노트
둘러보기로 가기 검색하러 가기
10번째 줄: 10번째 줄:
  
 
md:=7
 
md:=7
 +
 +
 
 +
 +
 
 +
 +
n:=6
 +
 +
md:=11
 +
 +
 
  
 
 
 
 
  
 
will be a good choice
 
will be a good choice
 +
 +
 
 +
 +
<math>p(5k+4)\equiv 0 \pmod 5</math>
 +
 +
<math>p(7k+5)\equiv 0 \pmod 7</math>
 +
 +
<math>p(11k+6)\equiv 0 \pmod {11}</math>
  
 
 
 
 
21번째 줄: 39번째 줄:
 
<h5>partition and rank</h5>
 
<h5>partition and rank</h5>
  
(*define a integer you want to investigate*)<br> n := 12<br> (*choose the proper moduli for the partition statistics*)<br> md := 7<br> S[n_] := IntegerPartitions[n]<br> (*define the rank of a partition with the name "pr"*)<br> pr[s_] := Max[s] - Length[s]<br> (*modulus distribution partition rank *)<br> Sort[Table[Mod[pr[s], md], {s, S[n]}]]<br> (*list of paritions with rank*)<br> Do[Print[s, ", rank=", pr[s], "\[Congruent]",<br>   Mod[Max[s] - Length[s], md], "(mod ", md, ")"], {s, S[n]}]<br> (*you will see p (n),the partition statistics and list of paritions \<br> with rank*)
+
(*define a integer you want to investigate*)<br> n := 12<br> (*choose the proper moduli for the partition statistics*)<br> md := 7<br> S[n_] := IntegerPartitions[n]<br> (*define the rank of a partition with the name "pr"*)<br> pr[s_] := Max[s] - Length[s]<br> (*modulus distribution partition rank *)<br> Sort[Table[Mod[pr[s], md], {s, S[n]}]]<br> (*list of paritions with rank*)<br> Do[Print[s, ", rank=", pr[s], "\[Congruent]",<br>   Mod[pr[s], md], "(mod ", md, ")"], {s, S[n]}]<br> (*you will see p (n),the partition statistics and list of paritions \<br> with rank*)
  
 
 
 
 
29번째 줄: 47번째 줄:
 
<h5>partition and crank</h5>
 
<h5>partition and crank</h5>
  
(* Choose n*)<br> n := 6<br> Om[s_] := Count[s, 1]<br> KK[s_] := Select[s, # > Om[s] &]<br> Mu[s_] := Length[KK[s]]<br> Crank[s_] := If[Om[s] == 0, Max[s], Mu[s] - Om[s]]<br> NV[m_, n_] := Length[Select[IntegerPartitions[n], Crank[#] == m &]]<br> Do[Print[s, ",", Max[s], ",", Om[s], ",", Mu[s], ",", Crank[s]], {s,<br>   IntegerPartitions[n]}]<br> (* partion of "n", maximum part, number of ones=w, number of parts \<br> larger than w, the crank *)
+
(* Choose n*)<br> n := 6<br> Om[s_] := Count[s, 1]<br> KK[s_] := Select[s, # > Om[s] &]<br> Mu[s_] := Length[KK[s]]<br> Crank[s_] := If[Om[s] == 0, Max[s], Mu[s] - Om[s]]<br> NV[m_, n_] := Length[Select[IntegerPartitions[n], Crank[#] == m &]]<br> Do[Print[s, ",", Max[s], ",", Om[s], ",", Mu[s], ",", Crank[s]], {s,<br>   IntegerPartitions[n]}]<br> (* a partion of "n", maximum part, number of ones=w, number of parts \<br> larger than w, the crank *)
  
 
 
 
 

2010년 3월 4일 (목) 21:38 판

background

n:=9

md:=5

 

n:=12

md:=7

 

 

n:=6

md:=11

 

 

will be a good choice

 

\(p(5k+4)\equiv 0 \pmod 5\)

\(p(7k+5)\equiv 0 \pmod 7\)

\(p(11k+6)\equiv 0 \pmod {11}\)

 

 

partition and rank

(*define a integer you want to investigate*)
n := 12
(*choose the proper moduli for the partition statistics*)
md := 7
S[n_] := IntegerPartitions[n]
(*define the rank of a partition with the name "pr"*)
pr[s_] := Max[s] - Length[s]
(*modulus distribution partition rank *)
Sort[Table[Mod[pr[s], md], {s, S[n]}]]
(*list of paritions with rank*)
Do[Print[s, ", rank=", pr[s], "\[Congruent]",
  Mod[pr[s], md], "(mod ", md, ")"], {s, S[n]}]
(*you will see p (n),the partition statistics and list of paritions \
with rank*)

 

 

partition and crank

(* Choose n*)
n := 6
Om[s_] := Count[s, 1]
KK[s_] := Select[s, # > Om[s] &]
Mu[s_] := Length[KK[s]]
Crank[s_] := If[Om[s] == 0, Max[s], Mu[s] - Om[s]]
NV[m_, n_] := Length[Select[IntegerPartitions[n], Crank[#] == m &]]
Do[Print[s, ",", Max[s], ",", Om[s], ",", Mu[s], ",", Crank[s]], {s,
  IntegerPartitions[n]}]
(* a partion of "n", maximum part, number of ones=w, number of parts \
larger than w, the crank *)

 

{6},6,0,1,6
{5,1},5,1,1,0
{4,2},4,0,2,4
{4,1,1},4,2,1,-1
{3,3},3,0,2,3
{3,2,1},3,1,2,1
{3,1,1,1},3,3,0,-3
{2,2,2},2,0,3,2
{2,2,1,1},2,2,0,-2
{2,1,1,1,1},2,4,0,-4
{1,1,1,1,1,1},1,6,0,-6

 

various partitions

(* partitions with at most 5 parts *)
IntegerPartitions[7, 5]


(* partition into exactly three parts *)
VS[n_] := IntegerPartitions[n, {3}]
VS[11]

 


(* number of partitions into distinct parts *)
PartitionsQ[11]

 

(* partition into odd parts *)
IntegerPartitions[11, All, {1, 3, 5, 7, 9, 11}]