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

수학노트
둘러보기로 가기 검색하러 가기
21번째 줄: 21번째 줄:
 
<h5>partition and rank</h5>
 
<h5>partition and rank</h5>
  
<< Combinatorica`<br> (*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_] := Partitions[n]<br> (*define the rank of a partition with the name "pr"*)<br> pr[s_] := Max[s] - Length[s]<br> S[n]<br> PartitionsP[n]<br> (*partition statistics*)<br> Table[Mod[pr[s], md], {s, S[n]}]<br> Sort[%]<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[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*)
  
 
 
 
 
27번째 줄: 27번째 줄:
 
 
 
 
  
<h5>pa</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 *)
 +
 
 +
 
 +
 
 +
{6},6,0,1,6<br> {5,1},5,1,1,0<br> {4,2},4,0,2,4<br> {4,1,1},4,2,1,-1<br> {3,3},3,0,2,3<br> {3,2,1},3,1,2,1<br> {3,1,1,1},3,3,0,-3<br> {2,2,2},2,0,3,2<br> {2,2,1,1},2,2,0,-2<br> {2,1,1,1,1},2,4,0,-4<br> {1,1,1,1,1,1},1,6,0,-6
 +
 
 +
 
 +
 
 +
<h5>various partitions</h5>
 +
 
 +
(* partitions with at most 5 parts *)<br> IntegerPartitions[7, 5]
 +
 
 +
<br> (* partition into exactly three parts *)<br> VS[n_] := IntegerPartitions[n, {3}]<br> VS[11]
 +
 
 +
 
 +
 
 +
<br> (* number of partitions into distinct parts *)<br> PartitionsQ[11]
 +
 
 +
 
 +
 
 +
(* partition into odd parts *)<br> IntegerPartitions[11, All, {1, 3, 5, 7, 9, 11}]

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

background

n:=9

md:=5

 

n:=12

md:=7

 

will be a good choice

 

 

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[Max[s] - Length[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]}]
(* 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}]