(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.2' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 15934, 441]*) (*NotebookOutlinePosition[ 16705, 467]*) (* CellTagsIndexPosition[ 16661, 463]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ "Permutations and Permutation Tableaux \n", StyleBox["an implementation of Corteel's bijection", "Subtitle", FontSize->16], StyleBox["\n\n", "Subtitle"], StyleBox["Katie Evans, Christina Koch, Molly Schaus", "Subsubtitle", FontSize->24], StyleBox["\n\n", "Subsubtitle"], StyleBox["St. Olaf College\n1500 St. Olaf Ave.\nNorthfield, MN 55057, USA", "Text", FontSize->16], StyleBox["\n\n", "Subsubtitle"], StyleBox["evansk@stolaf.edu\nkochc@stolaf.edu\nschausm@stolaf.edu", "Text", FontSize->16, FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}], StyleBox["\n\nJuly 24, 2007", "Subsubtitle", FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}] }], "Title", CellDingbat->None, TextAlignment->Center, TextJustification->1, FontColor->RGBColor[0.4, 0, 0.239216]], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["I", CellOpen->False], "ntroduction" }], "Section", CellDingbat->"\[EmptyDiamond]", FontColor->RGBColor[0.4, 0, 0.239216]], Cell[TextData[{ "This ", StyleBox["Mathematica", FontSlant->"Italic"], " notebook is one of the results of a summer working on the bijection found \ by Sylvie Corteel. We spent a week writing a code in which one can input a \ permutation and the output is the corresponding permutation tableaux. You can \ download the program PermutationTableaux in the Examples section. There were \ many useful smaller codes used in writing the final code. Examples of these \ smaller codes can also be found in the Examples section.\n\n", "http://www.stolaf.edu/people/garrettk/software.html" }], "Text", TextAlignment->Center], Cell[TextData[{ "In order to use our program, make sure that you load our package in your \ current working directory. In order to make sure you are in the correct \ directory, check with Directory[]. The package is named ", StyleBox["PermutationTableux.m ", FontWeight->"Bold"], "and can be loaded using the command below." }], "Text"], Cell[BoxData[ \(<< PermutationTableaux.m\)], "Input"] }, Open ]], Cell[CellGroupData[{ Cell["Examples", "Section", CellDingbat->"\[EmptyDiamond]", FontColor->RGBColor[0.4, 0, 0.239216]], Cell[TextData[{ "These examples showcase what different applications our code has and how \ to use it. This package utilizes the ", StyleBox["Mathematica", FontSlant->"Italic"], " program ", "<"Bold"], " returns the descents in a permutation. In this \tbijection, the descents \ index the columns in the tableau.\n" }], "Text"], Cell[BoxData[{ \(descend[{5, 8, 2, 1, 6, 7, 4, 3}]\), "\n", \({8, 2, 7, 4}\)}], "Input"], Cell[BoxData[{ \(nondescend[{5, 8, 2, 1, 6, 7, 4, 3}]\), "\n", \({5, 1, 6, 3}\)}], "Input"], Cell[TextData[{ "\n", "The command ", StyleBox["shape[ ]", FontWeight->"Bold"], " returns a list of numbers which are the lengths of the rows in the \ tableau.", "\n" }], "Text"], Cell[BoxData[{ \(shape[{5, 8, 2, 1, 6, 7, 4, 3}]\), "\n", \({4, 3, 2, 2}\)}], "Input"], Cell[TextData[{ "The ", StyleBox["createtableau[ ]", FontWeight->"Bold"], " function uses the corteel function and returns a set of lists that \ correspond to the rows, then takes the lists and converts it to a table \ form.", "\n" }], "Text"], Cell[BoxData[{\(createtableau[{5, 8, 2, 1, 6, 7, 4, 3}]\), "\n", InterpretationBox[GridBox[{ {"1", "0", "0", "1"}, {"1", "1", "1", StyleBox["\[Placeholder]", FontColor->GrayLevel[1]]}, {"0", "1", StyleBox["\[Placeholder]", FontColor->GrayLevel[1]], StyleBox["\[Placeholder]", FontColor->GrayLevel[1]]}, {"0", "0", StyleBox["\[Placeholder]", FontColor->GrayLevel[1]], StyleBox["\"\<\>\"", FontColor->GrayLevel[1]]} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {{1, 0, 0, 1}, {1, 1, 1}, {0, 1}, {0, 0}}]]}], "Input"], Cell[TextData[{ "The", StyleBox[" ptabk[ ]", FontWeight->"Bold"], " command returns all the permutations with a specified number of \ nondescents , with their tableau." }], "Text"], Cell[BoxData[{ RowBox[{\(ptabk[4, 2]\), "\[IndentingNewLine]"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{1, 4, 3, 2}\), SequenceForm[ "Permutation: ", {1, 4, 3, 2}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"0", "0"}, {"1", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{0, 0}, {1, 1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{2, 1, 4, 3}\), SequenceForm[ "Permutation: ", {2, 1, 4, 3}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", InterpretationBox[GridBox[{ {"0", "1"}, {"1", "\"\<\>\""} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {{0, 1}, {1}}]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{0, 1}, {1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{2, 4, 3, 1}\), SequenceForm[ "Permutation: ", {2, 4, 3, 1}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"1", "1"}, {"0", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {0, 1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{3, 1, 4, 2}\), SequenceForm[ "Permutation: ", {3, 1, 4, 2}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"0", "1"}, {"1", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{0, 1}, {1, 1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{3, 2, 1, 4}\), SequenceForm[ "Permutation: ", {3, 2, 1, 4}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", InterpretationBox[GridBox[{ {"1", "1"}, {"\"\<\>\"", "\"\<\>\""} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {{1, 1}, {}}]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{3, 2, 4, 1}\), SequenceForm[ "Permutation: ", {3, 2, 4, 1}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"1", "0"}, {"0", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 0}, {0, 1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{3, 4, 2, 1}\), SequenceForm[ "Permutation: ", {3, 4, 2, 1}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", InterpretationBox[GridBox[{ {"1", "1"}, {"0", "\"\<\>\""} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {{1, 1}, {0}}]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {0}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{4, 1, 3, 2}\), SequenceForm[ "Permutation: ", {4, 1, 3, 2}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"1", "0"}, {"1", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 0}, {1, 1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{4, 2, 1, 3}\), SequenceForm[ "Permutation: ", {4, 2, 1, 3}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", InterpretationBox[GridBox[{ {"1", "1"}, {"1", "\"\<\>\""} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {{1, 1}, {1}}]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {1}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{4, 2, 3, 1}\), SequenceForm[ "Permutation: ", {4, 2, 3, 1}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"1", "1"}, {"0", "0"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {0, 0}}]], Editable->False], "\n"}], "\n", InterpretationBox[\("\"\[InvisibleSpace]2\), SequenceForm[ "Number of Nondescents: ", 2], Editable->False], "\n", InterpretationBox[\("\"\[InvisibleSpace]{4, 3, 1, 2}\), SequenceForm[ "Permutation: ", {4, 3, 1, 2}], Editable->False], "\n", RowBox[{ InterpretationBox[ RowBox[{"\"\\"", "\[InvisibleSpace]", TagBox[GridBox[{ {"1", "1"}, {"1", "1"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], Function[ BoxForm`e$, TableForm[ BoxForm`e$]]]}], SequenceForm[ "Permutation Tableau: ", TableForm[ {{1, 1}, {1, 1}}]], Editable->False], "\n"}], "\n", "11"}], "Input"] }, Open ]] }, Open ]] }, FrontEndVersion->"5.2 for Macintosh", ScreenRectangle->{{0, 1440}, {0, 829}}, ScreenStyleEnvironment->"Working", PrintingStyleEnvironment->"Condensed", WindowToolbars->"EditBar", WindowSize->{598, 550}, WindowMargins->{{319, Automatic}, {Automatic, 6}}, StyleDefinitions -> "Report.nb" ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1776, 53, 859, 23, 809, "Title"], Cell[CellGroupData[{ Cell[2660, 80, 159, 6, 95, "Section"], Cell[2822, 88, 628, 12, 258, "Text"], Cell[3453, 102, 346, 7, 139, "Text"], Cell[3802, 111, 57, 1, 46, "Input"] }, Open ]], Cell[CellGroupData[{ Cell[3896, 117, 102, 2, 95, "Section"], Cell[4001, 121, 436, 12, 187, "Text"], Cell[4440, 135, 97, 2, 69, "Input"], Cell[4540, 139, 100, 2, 69, "Input"], Cell[4643, 143, 192, 8, 115, "Text"], Cell[4838, 153, 95, 2, 55, "Input"], Cell[4936, 157, 255, 8, 63, "Text"], Cell[5194, 167, 798, 21, 103, "Input"], Cell[5995, 190, 190, 6, 46, "Text"], Cell[6188, 198, 9718, 239, 1098, "Input"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)