(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 9.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 53962, 1134] NotebookOptionsPosition[ 49036, 1040] NotebookOutlinePosition[ 49432, 1056] CellTagsIndexPosition[ 49389, 1053] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Conjugate Partition", "Title",ExpressionUUID->"9c460263-9224-463a-ac5a-14b699be14e7"], Cell[CellGroupData[{ Cell["Author", "Subsection",ExpressionUUID->"0f0bf773-9d46-4ad3-a329-b4cc1cec26ce"], Cell["\<\ Eric W. Weisstein September 8, 2021\ \>", "Text",ExpressionUUID->"a79aef86-d069-477d-8524-3c209f841e2c"], Cell[TextData[{ "This notebook downloaded from ", ButtonBox["http://mathworld.wolfram.com/notebooks/Combinatorics/\ ConjugatePartition.nb", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://mathworld.wolfram.com/notebooks/Combinatorics/\ ConjugatePartition.nb"], None}], "." }], "Text",ExpressionUUID->"970b5c81-0faf-4a15-b4db-70ceaa61505f"], Cell[TextData[{ "For more information, see Eric's ", StyleBox["MathWorld", FontSlant->"Italic"], " entry ", ButtonBox["http://mathworld.wolfram.com/ConjugatePartition.html", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://mathworld.wolfram.com/ConjugatePartition.html"], None}], "." }], "Text",ExpressionUUID->"1814dc94-f262-4781-9cf0-7d1a3c210b7b"], Cell["\<\ \[Copyright]2021 Wolfram Research, Inc. except for portions noted otherwise\ \>", "Text",ExpressionUUID->"cded6721-a023-4e30-ad64-023f56136e38"] }, Open ]], Cell[CellGroupData[{ Cell["Figure", "Section",ExpressionUUID->"56a6a7a1-df8a-4627-b104-9a9db3941937"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"p2", "=", RowBox[{ RowBox[{"ResourceFunction", "[", "\"\\"", "]"}], "[", RowBox[{"p1", "=", RowBox[{"{", RowBox[{"6", ",", "3", ",", "3", ",", "2", ",", "1"}], "}"}]}], "]"}]}]], "Input", CellLabel->"In[5]:=",ExpressionUUID->"9223fae5-a85d-4284-b2e5-5a2fc7c174cb"], Cell[BoxData[ RowBox[{"{", RowBox[{"5", ",", "4", ",", "3", ",", "1", ",", "1", ",", "1"}], "}"}]], "Output", CellLabel->"Out[5]=",ExpressionUUID->"545709ce-e75b-4c39-8044-7dae3c363dcd"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"ResourceFunction", "[", "\"\\"", "]"}], "[", "p2", "]"}], "==", "p1"}]], "Input", CellLabel->"In[6]:=",ExpressionUUID->"0618a882-7b55-400a-b7e9-3625365eef9a"], Cell[BoxData["True"], "Output", CellLabel->"Out[6]=",ExpressionUUID->"d06f2bbc-36dd-40cd-b6d1-4a3b5b517642"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"ResourceFunction", "[", "\"\\"", "]"}], "[", "#", "]"}], "&"}], "/@", RowBox[{"{", RowBox[{"p1", ",", "p2"}], "}"}]}]], "Input", CellLabel->"In[7]:=",ExpressionUUID->"857063c4-1374-4d27-85f8-a478ddb239ff"], Cell[BoxData[ RowBox[{"{", RowBox[{ TagBox[GridBox[{ {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\ \<\"\[FilledCircle]\"\>"}, {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "", "", ""}, {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "", "", ""}, {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "", "", "", ""}, {"\<\"\[FilledCircle]\"\>", "", "", "", "", ""} }, AutoDelete->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Grid"], ",", TagBox[GridBox[{ {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>"}, {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", ""}, {"\<\"\[FilledCircle]\"\>", "\<\"\[FilledCircle]\"\>", "\<\"\ \[FilledCircle]\"\>", "", ""}, {"\<\"\[FilledCircle]\"\>", "", "", "", ""}, {"\<\"\[FilledCircle]\"\>", "", "", "", ""}, {"\<\"\[FilledCircle]\"\>", "", "", "", ""} }, AutoDelete->False, GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Grid"]}], "}"}]], "Output", CellLabel->"Out[7]=",ExpressionUUID->"53328dcb-52d7-4e7d-a690-2a1c491035b2"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Algorithms", "Section",ExpressionUUID->"8ee92d95-2aff-4a12-80fc-973be250fa56"], Cell[CellGroupData[{ Cell["FunctionRepository", "Subsection",ExpressionUUID->"4c59d61e-d78a-47bc-a37d-dc9230db2776"], Cell[BoxData[ RowBox[{ RowBox[{"ConjugatePartition0", "[", "l_", "]"}], ":=", RowBox[{ RowBox[{"ResourceFunction", "[", "\"\\"", "]"}], "[", "l", "]"}]}]], "Input", CellLabel->"In[1]:=",ExpressionUUID->"798afdf4-00f4-4712-9494-19180da834bb"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ConjugatePartition0", "[", RowBox[{"{", RowBox[{"6", ",", "3", ",", "3", ",", "2", ",", "1"}], "}"}], "]"}]], "Input", CellLabel->"In[3]:=",ExpressionUUID->"bffc068f-a951-4c88-9bf6-107eca9f06cc"], Cell[BoxData[ RowBox[{"{", RowBox[{"5", ",", "4", ",", "3", ",", "1", ",", "1", ",", "1"}], "}"}]], "Output", CellLabel->"Out[3]=",ExpressionUUID->"8aae6f27-6c11-4fba-806c-4dbd6f312604"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Position", "Subsection",ExpressionUUID->"ef7f01e9-f1c7-47b3-9010-23a105c92293"], Cell["Eric's version from either ca. 1999:", "Text",ExpressionUUID->"15e3077e-6a66-490d-be0d-2af9584ffa56"], Cell[BoxData[ RowBox[{ RowBox[{"ConjugatePartition", "[", "l_", "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"i", ",", RowBox[{"r", "=", RowBox[{"Reverse", "[", "l", "]"}]}], ",", RowBox[{"n", "=", RowBox[{"Length", "[", "l", "]"}]}]}], "}"}], ",", RowBox[{"Table", "[", RowBox[{ RowBox[{"n", "+", "1", "-", RowBox[{ RowBox[{"Position", "[", RowBox[{"r", ",", RowBox[{"_", "?", RowBox[{"(", RowBox[{ RowBox[{"#", "\[GreaterEqual]", "i"}], "&"}], ")"}]}], ",", "Infinity", ",", "1"}], "]"}], "[", RowBox[{"[", RowBox[{"1", ",", "1"}], "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"l", "[", RowBox[{"[", "1", "]"}], "]"}]}], "}"}]}], "]"}]}], "]"}]}]], "Input",\ CellChangeTimes->{{3.8400355847224007`*^9, 3.840035585399929*^9}}, CellLabel->"In[8]:=",ExpressionUUID->"c186880c-5711-4fc3-82f2-71795c0b0e26"], Cell["\<\ Implementation from Function Repo: https://resources.wolframcloud.com/FunctionRepository/resources/\ ConjugatePartition\ \>", "Text",ExpressionUUID->"14798705-6723-431d-a329-89b79ab30d51"] }, Open ]], Cell[CellGroupData[{ Cell["NestWhileList", "Subsection",ExpressionUUID->"13dc6264-1fa3-4522-834b-a9317f19d4b5"], Cell["\<\ Version from Arnoud B. from Sep 7 2021, which is faster and simpler:\ \>", "Text",ExpressionUUID->"1cf60d97-50da-483d-b529-5fc6e11035e4"], Cell[BoxData[ RowBox[{ RowBox[{"ConjugatePartition2", "[", "e_", "]"}], ":=", RowBox[{"Length", "/@", RowBox[{"Most", "[", "\[IndentingNewLine]", RowBox[{"NestWhileList", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{"Function", "[", RowBox[{ RowBox[{"{", "s", "}"}], ",", "\[IndentingNewLine]", RowBox[{"Select", "[", RowBox[{ RowBox[{"s", "-", "1"}], ",", RowBox[{ RowBox[{"#", ">", "0"}], "&"}]}], "]"}]}], "\[IndentingNewLine]", "]"}], ",", "\[IndentingNewLine]", "e", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"#", "=!=", RowBox[{"{", "}"}]}], "&"}]}], "]"}], "]"}]}]}]], "Input", CellChangeTimes->{{3.840037632217463*^9, 3.840037684784601*^9}, { 3.8400378274339333`*^9, 3.840037836091997*^9}, {3.840037866731454*^9, 3.840037876613693*^9}, {3.8400379551110373`*^9, 3.840037956441194*^9}}, CellLabel->"In[51]:=",ExpressionUUID->"2fc70be7-dd23-4139-b0b1-6eff60adc171"] }, Open ]], Cell[CellGroupData[{ Cell["Compiled", "Subsection",ExpressionUUID->"f58528a1-cade-44f3-82db-c4098e601e58"], Cell["\<\ A compiled version, slightly more complicated because Select can return an \ empty list which the compiler does not like:\ \>", "Text", CellChangeTimes->{{3.84004101017111*^9, 3.84004104132106*^9}},ExpressionUUID->"fadcdff9-be65-4efd-9064-\ bc48569b7e90"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ConjugatePartition3", "=", RowBox[{"FunctionCompile", "[", "\[IndentingNewLine]", RowBox[{"Function", "[", RowBox[{ RowBox[{"{", RowBox[{"Typed", "[", RowBox[{"e", ",", RowBox[{ RowBox[{"TypeSpecifier", "[", "\"\\"", "]"}], "[", RowBox[{"\"\\"", ",", " ", "1"}], "]"}]}], "]"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"ee", "=", "e"}], ",", "more", ",", RowBox[{ RowBox[{"Typed", "[", RowBox[{"res", ",", "\"\\""}], "]"}], "=", RowBox[{ "CreateDataStructure", "[", "\"\\"", "]"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"more", "=", RowBox[{ RowBox[{"Length", "[", "ee", "]"}], ">", "0"}]}], ";", "\[IndentingNewLine]", RowBox[{"While", "[", RowBox[{"more", ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"res", "[", RowBox[{"\"\\"", ",", RowBox[{"Length", "[", "ee", "]"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"ee", "-", "1"}], "]"}], ">", "0"}], ",", "\[IndentingNewLine]", RowBox[{"ee", "=", RowBox[{"Select", "[", RowBox[{ RowBox[{"ee", "-", "1"}], ",", RowBox[{ RowBox[{"#", ">", "0"}], "&"}]}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"more", "=", "False"}]}], "\[IndentingNewLine]", "]"}], ";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"Normal", "[", "res", "]"}]}]}], "\[IndentingNewLine]", "]"}]}], "]"}], "]"}]}]], "Input", CellChangeTimes->{{3.840037632217463*^9, 3.840037684784601*^9}, { 3.8400378274339333`*^9, 3.840037836091997*^9}, {3.840037866731454*^9, 3.840037876613693*^9}, {3.8400379551110373`*^9, 3.840038029816091*^9}, { 3.8400380620486727`*^9, 3.840038073905258*^9}, {3.840038212812716*^9, 3.8400382902255297`*^9}, {3.840038888344655*^9, 3.840038888433313*^9}, { 3.8400389768025017`*^9, 3.840038976952833*^9}, {3.840039540938513*^9, 3.8400396888647013`*^9}, 3.840039799170014*^9, {3.8400404184707727`*^9, 3.8400404537729893`*^9}, {3.840040535205996*^9, 3.8400405395248938`*^9}, { 3.840040618437523*^9, 3.8400406638667192`*^9}}, CellLabel-> "In[130]:=",ExpressionUUID->"10ec03c1-13b2-4b38-9ef9-9c74ae314dfc"], Cell[BoxData[ InterpretationBox[ RowBox[{ TagBox["CompiledCodeFunction", "SummaryHead"], "[", DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, TemplateBox[{ PaneSelectorBox[{False -> GridBox[{{ GraphicsBox[ InsetBox[ FormBox[ StyleBox["\"Code\"", GrayLevel[0.7], Bold, 8.267999999999999, StripOnInput -> False], TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> False, AspectRatio -> 1, ImageSize -> Dynamic[{ Automatic, 3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[ Magnification])}, ImageSizeCache -> {27., {0., 10.}}], Frame -> True, FrameTicks -> None, FrameStyle -> Directive[ Thickness[Tiny], GrayLevel[0.55]]], GridBox[{{ RowBox[{ TagBox["\"Signature: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox[ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"TypeSpecifier", "[", "\"PackedArray\"", "]"}], "[", RowBox[{"\"Integer64\"", ",", "1"}], "]"}], "}"}], "\[Rule]", "\"Expression\""}], "SummaryItem"]}]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}], True -> GridBox[{{ GraphicsBox[ InsetBox[ FormBox[ StyleBox["\"Code\"", GrayLevel[0.7], Bold, 8.267999999999999, StripOnInput -> False], TraditionalForm], {0, 0}], Background -> GrayLevel[0.93], Axes -> False, AspectRatio -> 1, ImageSize -> Dynamic[{ Automatic, 3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[ Magnification])}, ImageSizeCache -> {27., {0., 10.}}], Frame -> True, FrameTicks -> None, FrameStyle -> Directive[ Thickness[Tiny], GrayLevel[0.55]]], GridBox[{{ RowBox[{ TagBox["\"Signature: \"", "SummaryItemAnnotation"], "\[InvisibleSpace]", TagBox[ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"TypeSpecifier", "[", "\"PackedArray\"", "]"}], "[", RowBox[{"\"Integer64\"", ",", "1"}], "]"}], "}"}], "\[Rule]", "\"Expression\""}], "SummaryItem"]}]}}, GridBoxAlignment -> { "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}}, BaseStyle -> { ShowStringCharacters -> False, NumberMarks -> False, PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, AutoDelete -> False, GridBoxItemSize -> { "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, BaselinePosition -> {1, 1}]}, Dynamic[Typeset`open$$], ImageSize -> Automatic]}, "SummaryPanel"], DynamicModuleValues:>{}], "]"}], CompiledCodeFunction[ Association["Signature" -> TypeSpecifier[{ "PackedArray"["Integer64", TypeFramework`TypeLiteral[1, "Integer64"]]} -> "Expression"], "Input" -> Compile`Program[{}, Function[{ Typed[$CellContext`e, TypeSpecifier["PackedArray"]["MachineInteger", 1]]}, Module[{$CellContext`ee = $CellContext`e, $CellContext`more, Typed[$CellContext`res, "DynamicArray"] = CreateDataStructure["DynamicArray"]}, $CellContext`more = Length[$CellContext`ee] > 0; While[$CellContext`more, $CellContext`res["Append", Length[$CellContext`ee]]; If[First[$CellContext`ee - 1] > 0, $CellContext`ee = Select[$CellContext`ee - 1, # > 0& ], $CellContext`more = False]; Null]; Normal[$CellContext`res]]]], "ErrorFunction" -> Automatic, "InitializationName" -> "Initialization_767fac04_6ca5_4e84_9460_609789276932", "ExpressionName" -> "Main_ExprInvocation", "CName" -> "Main_CInvocation", "FunctionName" -> "Main", "SystemID" -> "MacOSX-ARM64", "VersionData" -> {13., 0, 0}, "CompiledIR" -> Association["MacOSX-ARM64" -> ByteArray[CompressedData[" 1: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 /paJiZyfwmnbNPjib9OweMFyNq3A3LDWgem/4oCBAfVB3mHgrrEMBr/Bv8eQ Y+HMwcCgnidLuPMTLNv7mFqnpfySmGB4rcqBWbnyJGhGzT8q0bTrkawz5LDz 9nAk/utOBtPSl/uTAOjknWFjn++E3FY53Yfc+q8nuD1sQHBbsKRv6llmYimt lUv3f4/Pfq/C94n/1bbWTvOTrcX+Z3LZFrdyM8LPUjdy/fZB1dUGR0PVJU4g XP2cztWHGaEbymKMewjVcU03lrGNH1szGLQUEukKLcgbjJ/ELd7hxyJVB5Of MgLDpx7zJ5HOV80HYliQyRZC1m9k5mImE6O2sk3uO4hK1he6i/L5VXlVX7g0 7AxnTzTEQ7rPFYR0rsk9Yqgq001lEoDbEHzyLq0zhuCTQ9KCD2saAT41tiRh u0uLvzUVnwjC6a9JHeYNpIMkUqvElQ344OYDwYyLLzoaQJj+hezB4LdxfwVO /LZv4S/kmcty3aI3uBVa5fVg+esLvUrz+W0S6OK/VS1KMHwM/RsQ/+5bVLY+ z5N9MaTKJoYRccUdIO3UkzQwOQRysSvG5E8lrcW5JAnboi13J1Xh/FM4PQ06 CbSJ4+gPSZzeYLLdTdQ27ooHbHtN11aga/sZddD5JxE9g8X0EAvgVJZZSifs 9pnvWWoa91tktweLtyKIMibs1quz2zTDBxvKck1f65S5L6EMMwU66BEVSz52 yE0rsHtZ8gLgxcfPrID9mCQS04PRT6I50GhYHp9F9zHv+8Ep33bUv8uwIDOc AnRfQ2qdRiLttrCG4el469r040XZXZ+GdE1xpoLME5hwwn0KRAkLiBILCZSQ hOaxDsZjO8IZH7VVmT7dDGoymcMUBOsW2GVjCE/shSP5EJ6yCXgapRP+XLu0 yv4s80uOUaso0Oca3aLdpTTAkrC04PcO82HSmSXQ8yS2MwKA52GLCM8bphCe 93hG8b71has5O7Tm5K+4uD5v0WNGoNXwkl1Ak5xnpgyNKo0ZLyUUMKdSrCXX dmnn1NZigD9X5lQFaPBnS83sXid/R2DDp8/NSKfIO7ktxa3QhgfIle1BwHLU T7Q1u2bfdmp1ZG1HkOoY4AAhNZyqhVT/YJ2yIvI4B+NDDD5gLGYaQbYnvX4Q nKFhWBJxaj15Ddt8U1VlDCP6wWLoQ00MrQ8F7CZ8qPUbaqLLTzVG3xL+V7qs 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 p6p4pIikmKRVSeuSUibVTfo6+bf1eQG6FLNE "]]], "orcInstance" -> 11108436832, "orcModuleId" -> 11108252560, "targetMachineId" -> 5205405184], 12149740096, 12149739888, 12149740008, 12149735424, "{\"PackedArray\"[\"Integer64\", TypeFramework`TypeLiteral[1, \ \"Integer64\"]]} -> \"Expression\""], Editable->False, SelectWithContents->True, Selectable->False]], "Output", CellChangeTimes->{ 3.840040458559767*^9, 3.84004054502054*^9, {3.8400406242060633`*^9, 3.840040669154252*^9}, 3.84004106117507*^9}, CellLabel-> "Out[130]=",ExpressionUUID->"8cfb354d-2ddd-473c-acf1-c52763bf3951"] }, Open ]], Cell["Sanity check:", "Text", CellChangeTimes->{{3.840041081858561*^9, 3.840041084214922*^9}},ExpressionUUID->"aea5a9c1-6ff3-4a01-afbe-\ b06eae2c56d8"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ConjugatePartition3", "[", RowBox[{"{", RowBox[{"4", ",", "3", ",", "2", ",", "1", ",", "1"}], "}"}], "]"}]], "Input", CellChangeTimes->{{3.840039721328874*^9, 3.8400397249866*^9}}, CellLabel-> "In[117]:=",ExpressionUUID->"f738f65c-736e-45b7-b913-efe687aadc07"], Cell[BoxData[ RowBox[{"{", RowBox[{"5", ",", "3", ",", "2", ",", "1"}], "}"}]], "Output", CellChangeTimes->{ 3.840039725299982*^9, 3.840040159093039*^9, 3.840040460508477*^9, { 3.840040625315689*^9, 3.8400406519662952`*^9}}, CellLabel-> "Out[117]=",ExpressionUUID->"3db43043-a878-4c5f-85e9-b5b9c1731399"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Timing comparisons", "Subsection",ExpressionUUID->"6c5b3058-14ba-46ee-a43c-9ba5065a0bd8"], Cell["Performance comparisons:", "Text", CellChangeTimes->{{3.8400410892571487`*^9, 3.8400410932133837`*^9}},ExpressionUUID->"02002d11-5188-49e6-8ca0-\ b66b00ce7a67"], Cell[BoxData[ RowBox[{ RowBox[{"ip", "=", RowBox[{"IntegerPartitions", "[", "40", "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.840038549932095*^9, 3.840038550743619*^9}, { 3.8400406804970083`*^9, 3.840040680558008*^9}, {3.8400408201461067`*^9, 3.840040820221438*^9}, {3.8400408689003143`*^9, 3.840040868975378*^9}}, CellLabel-> "In[125]:=",ExpressionUUID->"161b1b5d-11eb-46be-8caa-a242fa519ed4"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"AbsoluteTiming", "[", RowBox[{ RowBox[{"one", "=", RowBox[{"ConjugatePartition", "/@", "ip"}]}], ";"}], "]"}]], "Input", CellChangeTimes->{{3.840037854187818*^9, 3.840037920476281*^9}, { 3.840038547679982*^9, 3.840038548563263*^9}}, CellLabel-> "In[126]:=",ExpressionUUID->"7800fa0c-f946-413f-a9ae-36a66a1d8af2"], Cell[BoxData[ RowBox[{"{", RowBox[{"9.395728`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{ 3.840037925103278*^9, 3.8400379632924757`*^9, 3.840038556221377*^9, 3.840039002142251*^9, 3.840039711978332*^9, 3.8400408166702547`*^9, { 3.8400408662704077`*^9, 3.840040879685111*^9}}, CellLabel-> "Out[126]=",ExpressionUUID->"efedaed2-4c83-4229-972b-0c87b8e2b54e"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"AbsoluteTiming", "[", RowBox[{ RowBox[{"two", "=", RowBox[{"ConjugatePartition2", "/@", "ip"}]}], ";"}], "]"}]], "Input", CellChangeTimes->{{3.840037880250181*^9, 3.840037928689139*^9}, { 3.840037961256122*^9, 3.840037962595262*^9}, {3.840038555997738*^9, 3.840038556065283*^9}}, CellLabel-> "In[127]:=",ExpressionUUID->"4bbaf2e7-c4b3-49b6-a696-27483db799d9"], Cell[BoxData[ RowBox[{"{", RowBox[{"0.991676`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{ 3.840037929504217*^9, 3.8400379644702806`*^9, 3.840038557254548*^9, 3.84003900259604*^9, {3.840039712437457*^9, 3.840039735337496*^9}, 3.840040909151018*^9}, CellLabel-> "Out[127]=",ExpressionUUID->"529c8392-18b1-4a88-a74c-fb8840f56a8f"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"AbsoluteTiming", "[", RowBox[{ RowBox[{"three", "=", RowBox[{"ConjugatePartition3", "/@", "ip"}]}], ";"}], "]"}]], "Input", CellChangeTimes->{{3.840039006648644*^9, 3.84003900678201*^9}, { 3.840040385891644*^9, 3.8400403864253883`*^9}}, CellLabel-> "In[131]:=",ExpressionUUID->"ff3a7b29-cb70-49f3-9647-c98162aa8ba4"], Cell[BoxData[ RowBox[{"{", RowBox[{"0.551792`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{ 3.840039008788924*^9, {3.8400397283110857`*^9, 3.8400397331504517`*^9}, 3.840040387451991*^9, 3.840040463694347*^9, 3.840040549992437*^9, { 3.840040628265251*^9, 3.840040674070821*^9}, 3.8400409106712503`*^9, 3.840041063134633*^9}, CellLabel-> "Out[131]=",ExpressionUUID->"a9e97b63-70ce-42e7-955e-fc27a199fc51"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"one", "===", "two", "===", "three"}]], "Input", CellChangeTimes->{{3.840037891950424*^9, 3.840037894899757*^9}, { 3.8400403889000883`*^9, 3.840040390197442*^9}}, CellLabel-> "In[129]:=",ExpressionUUID->"0cc3aeb4-ae78-4aca-bea4-81940f24a0fb"], Cell[BoxData["True"], "Output", CellChangeTimes->{{3.840037895294519*^9, 3.8400379305702343`*^9}, 3.840037965408169*^9, 3.840039002635233*^9, 3.840040390445828*^9, 3.840040465667097*^9, 3.84004091483696*^9}, CellLabel-> "Out[129]=",ExpressionUUID->"ea92f673-cc5a-48a8-9236-90da8d72fb55"] }, Open ]] }, Open ]] }, Open ]] }, Open ]] }, WindowSize->{884, 864}, WindowMargins->{{-1114, Automatic}, {Automatic, 138}}, FrontEndVersion->"12.3 for Mac OS X x86 (64-bit) (July 9, 2021)", StyleDefinitions->"Default.nb", ExpressionUUID->"42d7ee9d-9a50-41b3-aed0-b6246f1c10e9" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[579, 22, 91, 0, 98, "Title",ExpressionUUID->"9c460263-9224-463a-ac5a-14b699be14e7"], Cell[CellGroupData[{ Cell[695, 26, 83, 0, 54, "Subsection",ExpressionUUID->"0f0bf773-9d46-4ad3-a329-b4cc1cec26ce"], Cell[781, 28, 114, 3, 58, "Text",ExpressionUUID->"a79aef86-d069-477d-8524-3c209f841e2c"], Cell[898, 33, 352, 9, 35, "Text",ExpressionUUID->"970b5c81-0faf-4a15-b4db-70ceaa61505f"], Cell[1253, 44, 366, 10, 35, "Text",ExpressionUUID->"1814dc94-f262-4781-9cf0-7d1a3c210b7b"], Cell[1622, 56, 154, 2, 35, "Text",ExpressionUUID->"cded6721-a023-4e30-ad64-023f56136e38"] }, Open ]], Cell[CellGroupData[{ Cell[1813, 63, 80, 0, 67, "Section",ExpressionUUID->"56a6a7a1-df8a-4627-b104-9a9db3941937"], Cell[CellGroupData[{ Cell[1918, 67, 339, 9, 30, "Input",ExpressionUUID->"9223fae5-a85d-4284-b2e5-5a2fc7c174cb"], Cell[2260, 78, 194, 4, 34, "Output",ExpressionUUID->"545709ce-e75b-4c39-8044-7dae3c363dcd"] }, Open ]], Cell[CellGroupData[{ Cell[2491, 87, 231, 5, 30, "Input",ExpressionUUID->"0618a882-7b55-400a-b7e9-3625365eef9a"], Cell[2725, 94, 109, 1, 34, "Output",ExpressionUUID->"d06f2bbc-36dd-40cd-b6d1-4a3b5b517642"] }, Open ]], Cell[CellGroupData[{ Cell[2871, 100, 295, 8, 30, "Input",ExpressionUUID->"857063c4-1374-4d27-85f8-a478ddb239ff"], Cell[3169, 110, 1459, 31, 117, "Output",ExpressionUUID->"53328dcb-52d7-4e7d-a690-2a1c491035b2"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[4677, 147, 84, 0, 67, "Section",ExpressionUUID->"8ee92d95-2aff-4a12-80fc-973be250fa56"], Cell[CellGroupData[{ Cell[4786, 151, 95, 0, 54, "Subsection",ExpressionUUID->"4c59d61e-d78a-47bc-a37d-dc9230db2776"], Cell[4884, 153, 276, 6, 30, "Input",ExpressionUUID->"798afdf4-00f4-4712-9494-19180da834bb"], Cell[CellGroupData[{ Cell[5185, 163, 230, 5, 30, "Input",ExpressionUUID->"bffc068f-a951-4c88-9bf6-107eca9f06cc"], Cell[5418, 170, 194, 4, 34, "Output",ExpressionUUID->"8aae6f27-6c11-4fba-806c-4dbd6f312604"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[5661, 180, 85, 0, 54, "Subsection",ExpressionUUID->"ef7f01e9-f1c7-47b3-9010-23a105c92293"], Cell[5749, 182, 107, 0, 35, "Text",ExpressionUUID->"15e3077e-6a66-490d-be0d-2af9584ffa56"], Cell[5859, 184, 1049, 30, 52, "Input",ExpressionUUID->"c186880c-5711-4fc3-82f2-71795c0b0e26"], Cell[6911, 216, 198, 4, 58, "Text",ExpressionUUID->"14798705-6723-431d-a329-89b79ab30d51"] }, Open ]], Cell[CellGroupData[{ Cell[7146, 225, 90, 0, 54, "Subsection",ExpressionUUID->"13dc6264-1fa3-4522-834b-a9317f19d4b5"], Cell[7239, 227, 147, 2, 35, "Text",ExpressionUUID->"1cf60d97-50da-483d-b529-5fc6e11035e4"], Cell[7389, 231, 1005, 22, 157, "Input",ExpressionUUID->"2fc70be7-dd23-4139-b0b1-6eff60adc171"] }, Open ]], Cell[CellGroupData[{ Cell[8431, 258, 85, 0, 54, "Subsection",ExpressionUUID->"f58528a1-cade-44f3-82db-c4098e601e58"], Cell[8519, 260, 269, 6, 35, "Text",ExpressionUUID->"fadcdff9-be65-4efd-9064-bc48569b7e90"], Cell[CellGroupData[{ Cell[8813, 270, 2788, 63, 304, "Input",ExpressionUUID->"10ec03c1-13b2-4b38-9ef9-9c74ae314dfc"], Cell[11604, 335, 32833, 565, 64, "Output",ExpressionUUID->"8cfb354d-2ddd-473c-acf1-c52763bf3951"] }, Open ]], Cell[44452, 903, 155, 3, 35, "Text",ExpressionUUID->"aea5a9c1-6ff3-4a01-afbe-b06eae2c56d8"], Cell[CellGroupData[{ Cell[44632, 910, 299, 7, 30, "Input",ExpressionUUID->"f738f65c-736e-45b7-b913-efe687aadc07"], Cell[44934, 919, 317, 7, 34, "Output",ExpressionUUID->"3db43043-a878-4c5f-85e9-b5b9c1731399"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[45300, 932, 95, 0, 54, "Subsection",ExpressionUUID->"6c5b3058-14ba-46ee-a43c-9ba5065a0bd8"], Cell[45398, 934, 170, 3, 35, "Text",ExpressionUUID->"02002d11-5188-49e6-8ca0-b66b00ce7a67"], Cell[45571, 939, 413, 8, 30, "Input",ExpressionUUID->"161b1b5d-11eb-46be-8caa-a242fa519ed4"], Cell[CellGroupData[{ Cell[46009, 951, 353, 8, 30, "Input",ExpressionUUID->"7800fa0c-f946-413f-a9ae-36a66a1d8af2"], Cell[46365, 961, 382, 8, 34, "Output",ExpressionUUID->"efedaed2-4c83-4229-972b-0c87b8e2b54e"] }, Open ]], Cell[CellGroupData[{ Cell[46784, 974, 403, 9, 30, "Input",ExpressionUUID->"4bbaf2e7-c4b3-49b6-a696-27483db799d9"], Cell[47190, 985, 355, 8, 34, "Output",ExpressionUUID->"529c8392-18b1-4a88-a74c-fb8840f56a8f"] }, Open ]], Cell[CellGroupData[{ Cell[47582, 998, 357, 8, 30, "Input",ExpressionUUID->"ff3a7b29-cb70-49f3-9647-c98162aa8ba4"], Cell[47942, 1008, 432, 9, 34, "Output",ExpressionUUID->"a9e97b63-70ce-42e7-955e-fc27a199fc51"] }, Open ]], Cell[CellGroupData[{ Cell[48411, 1022, 271, 5, 30, "Input",ExpressionUUID->"0cc3aeb4-ae78-4aca-bea4-81940f24a0fb"], Cell[48685, 1029, 299, 5, 34, "Output",ExpressionUUID->"ea92f673-cc5a-48a8-9236-90da8d72fb55"] }, Open ]] }, Open ]] }, Open ]] }, Open ]] } ] *)