(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 78054, 2378] NotebookOptionsPosition[ 66570, 1987] NotebookOutlinePosition[ 68179, 2038] CellTagsIndexPosition[ 67799, 2026] WindowFrame->Normal ContainsDynamic->True *) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["Preliminary note", "Subsection", CellChangeTimes->{{3.4183893833929195`*^9, 3.4183893879867287`*^9}}, FontWeight->"Plain"], Cell["\<\ This notebook illustrates the use of the package. \ Commands in this file assume that the package was read into a Global` \ context.\ \>", "Text", CellChangeTimes->{{3.418389414815197*^9, 3.418389482566064*^9}, { 3.418389528754155*^9, 3.418389530613554*^9}, {3.418390836489644*^9, 3.418390863271237*^9}}], Cell[CellGroupData[{ Cell[BoxData["$ContextPath"], "Input", CellChangeTimes->{{3.4183895151133556`*^9, 3.418389518004018*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"\<\"DiscreteMath`Combinatorica`\"\>", ",", "\<\"Global`UnsortedOperations`\"\>", ",", "\<\"DocumentationSearch`\"\>", ",", "\<\"ResourceLocator`\"\>", ",", "\<\"JLink`\"\>", ",", "\<\"PacletManager`\"\>", ",", "\<\"WebServices`\"\>", ",", "\<\"System`\"\>", ",", "\<\"Global`\"\>"}], "}"}]], "Output", CellChangeTimes->{3.4183895185821505`*^9}] }, Open ]], Cell["\<\ If this is not so, then commands such as Information (?) have to be modified \ appropriately. \ \>", "Text", CellChangeTimes->{{3.418389414815197*^9, 3.418389482566064*^9}, { 3.418389528754155*^9, 3.418389539019912*^9}}], Cell["\<\ Since we use the random lists for the tests in the first part of this file, \ your results will be different when you run it. Be sure to either read the \ file in its original form (without running the cells) or run all the cells, \ to get consistent results.\ \>", "Text", CellChangeTimes->{{3.4183908786776843`*^9, 3.4183909884603395`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell["The functions in the package", "Subsection", CellChangeTimes->{{3.4183893982212343`*^9, 3.4183894075651045`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "`UnsortedOperations`*"}]], "Input", CellChangeTimes->{{3.4182247568094177`*^9, 3.4182247623073235`*^9}, 3.4183760934728107`*^9}], Cell[BoxData[ DynamicModuleBox[{Typeset`open$$ = True}, PaneSelectorBox[{False-> RowBox[{ OpenerBox[Dynamic[Typeset`open$$], ImageSize->Small], StyleBox["Global`UnsortedOperations`", "InfoHeading"]}], True->GridBox[{ { RowBox[{ OpenerBox[Dynamic[Typeset`open$$], ImageSize->Small], StyleBox["Global`UnsortedOperations`", "InfoHeading"]}]}, {GridBox[{ { ButtonBox["MapAtComplement", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MapAtComplement"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["PositionsOfDifferent", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`PositionsOfDifferent"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MapAtIntersection", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MapAtIntersection"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["PositionsOfSame", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`PositionsOfSame"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MapAtMembers", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MapAtMembers"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["Subsequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`Subsequences"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberPositions", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MemberPositions"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedComplement", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`UnsortedComplement"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberPositionsSequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MemberPositionsSequences"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedIntersection", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`UnsortedIntersection"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberSequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`MemberSequences"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedUnion", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379693-6687254", "Global`UnsortedOperations`UnsortedUnion"}, ButtonNote->"Global`UnsortedOperations`"]} }, DefaultBaseStyle->"InfoGrid", GridBoxItemSize->{"Columns" -> {{ Scaled[0.475]}}}]} }, GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}]}, Dynamic[Typeset`open$$], ImageSize->Automatic]]], "Print", "InfoCell", CellChangeTimes->{3.4183760940353184`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Tests", "Section", CellChangeTimes->{{3.418228569321541*^9, 3.4182285719653425`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell["Test lists", "Subsection", CellChangeTimes->{{3.4182282929140863`*^9, 3.418228297690955*^9}}, FontWeight->"Plain"], Cell["\<\ These are some small lists of random integers that we can use to test the \ operation of the various functions in the package\ \>", "Text", CellChangeTimes->{{3.4183888518861165`*^9, 3.418388882308381*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"test1", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"Random", "[", RowBox[{"Integer", ",", RowBox[{"{", RowBox[{"1", ",", "10"}], "}"}]}], "]"}], ",", RowBox[{"{", "10", "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.418224935326112*^9, 3.4182249379298563`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}]], "Output", CellChangeTimes->{ 3.4163834201951857`*^9, 3.4172471349280434`*^9, 3.4182003624019823`*^9, 3.4182038414145565`*^9, 3.4182225656486835`*^9, 3.4182248850037518`*^9, 3.4182249404735136`*^9, 3.4182251283636866`*^9, 3.4182254081660223`*^9, 3.4182283042704163`*^9, 3.4182285741885395`*^9, 3.418229881247998*^9, 3.418230172076189*^9, 3.418230723048448*^9, 3.418231226171904*^9, 3.4182907556533537`*^9, 3.4183761145980816`*^9, 3.4183890328728085`*^9, { 3.4183890835140815`*^9, 3.418389090014165*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"test2", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"Random", "[", RowBox[{"Integer", ",", RowBox[{"{", RowBox[{"1", ",", "10"}], "}"}]}], "]"}], ",", RowBox[{"{", "10", "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4182249423061485`*^9, 3.418224944238928*^9}, { 3.418225408736843*^9, 3.4182254094478655`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}]], "Output", CellChangeTimes->{ 3.4163834209462657`*^9, 3.417247135979555*^9, 3.41820036244204*^9, 3.4182038437679405`*^9, 3.4182225657388124`*^9, 3.41822489321556*^9, 3.4182249446495185`*^9, 3.4182251289945936`*^9, 3.418225409928557*^9, 3.4182283044306464`*^9, 3.418228574338755*^9, 3.418229881368171*^9, 3.418230172186347*^9, 3.4182307231886497`*^9, 3.4182312262820625`*^9, 3.4182907557434835`*^9, 3.418376114723083*^9, 3.4183890329509344`*^9, { 3.4183890835922074`*^9, 3.418389090107916*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"test3", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{"Random", "[", RowBox[{"Integer", ",", RowBox[{"{", RowBox[{"1", ",", "10"}], "}"}]}], "]"}], ",", RowBox[{"{", "10", "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4182249742120275`*^9, 3.4182249817027984`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "8", ",", "1", ",", "6", ",", "10", ",", "6", ",", "10", ",", "2", ",", "6", ",", "4", ",", "3"}], "}"}]], "Output", CellChangeTimes->{ 3.4182249823837776`*^9, 3.418225129635515*^9, 3.4182254106896515`*^9, 3.418228304470704*^9, 3.418228574408856*^9, 3.418229881428258*^9, 3.418230172236419*^9, 3.4182307232587504`*^9, 3.4182312263321342`*^9, 3.4182907558135843`*^9, 3.4183761147699585`*^9, 3.41838903299781*^9, { 3.418389083623458*^9, 3.418389090139166*^9}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["MemberPositions", "Subsection", CellChangeTimes->{{3.418228078395624*^9, 3.4182280820909376`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "MemberPositions"}]], "Input", CellChangeTimes->{3.418388906761819*^9}], Cell[BoxData[ StyleBox["\<\"MemberPositions[x,y] takes\\n2 lists and returns a list of \ positions of elements in the first\\nlist (x) which are also present in the \ second list (y). The element\\ncomparison is based on SameQ (syntactic).\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.4183889075587044`*^9}, CellTags->"Info3418392507-3403061"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MemberPositions", "[", RowBox[{"test1", ",", "test2"}], "]"}]], "Input", CellChangeTimes->{{3.4182040412218657`*^9, 3.418204041332024*^9}, { 3.418224901557555*^9, 3.4182249244705024`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"2", ",", "3", ",", "5", ",", "6", ",", "8", ",", "9"}], "}"}]], "Output", CellChangeTimes->{ 3.418204041762643*^9, 3.4182225659491153`*^9, {3.4182249253717985`*^9, 3.418224946612341*^9}, 3.4182251303265085`*^9, 3.418225411290515*^9, 3.4182283086366944`*^9, 3.4182285744689426`*^9, 3.4182298814783297`*^9, 3.4182301722864914`*^9, 3.4182307233188367`*^9, 3.418231226372192*^9, 3.418290755863656*^9, 3.418376114879335*^9, 3.4183890350134606`*^9, { 3.418389086529745*^9, 3.4183890918735633`*^9}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["MemberPositionSequences", "Subsection", CellChangeTimes->{{3.418228088269822*^9, 3.4182280933771667`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "MemberPositionsSequences"}]], "Input", CellChangeTimes->{3.418389068467014*^9}], Cell[BoxData[ StyleBox["\<\"MemberPositionsSequences[x_List,y_List] gives sequences of \ \\npositions of consequitive elements of which are also in \\n. The \ comparison is based on SameQ (syntactic)\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.418389069123272*^9}, CellTags->"Info3418392668-9012397"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MemberPositionsSequences", "[", RowBox[{"test1", ",", RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.418226387043579*^9, 3.418226400452861*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"{", "10", "}"}], "}"}]], "Output", CellChangeTimes->{{3.4182263943340626`*^9, 3.418226400953581*^9}, 3.418228314495118*^9, 3.4182285746692305`*^9, 3.418229881688632*^9, 3.4182301724967937`*^9, 3.418230723519125*^9, 3.418231226552451*^9, 3.4182907574259024`*^9, 3.418376115988724*^9, 3.418389037997874*^9, 3.4183890936704617`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Subsequences", "Subsection", CellChangeTimes->{{3.4182281015889745`*^9, 3.4182281044731216`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Subsequences", "[", RowBox[{"test1", ",", RowBox[{"{", RowBox[{"1", ",", "2", ",", "3"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.418228331629757*^9, 3.418228331850074*^9}, { 3.4183891322647057`*^9, 3.4183891323584566`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"7", ",", "7", ",", "8", ",", "10", ",", "7"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "10"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.418228332290707*^9, 3.4182285749296045`*^9, 3.418229881938992*^9, 3.418230172737139*^9, 3.418230723749456*^9, 3.4182312267627535`*^9, 3.418290759418768*^9, 3.4183761179574995`*^9, {3.4183891261865025`*^9, 3.4183891327178364`*^9}}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["PositionsOfSame", "Subsection", CellChangeTimes->{{3.4182281074373837`*^9, 3.4182281111226835`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"{", RowBox[{"test1", ",", "test2", ",", "test3"}], "}"}]], "Input", CellChangeTimes->{{3.418229412894539*^9, 3.4182294192336545`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}], ",", RowBox[{"{", RowBox[{ "8", ",", "1", ",", "6", ",", "10", ",", "6", ",", "10", ",", "2", ",", "6", ",", "4", ",", "3"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.4182294194139137`*^9, 3.4182298819790497`*^9, 3.4182301727872114`*^9, 3.418230723799528*^9, 3.418231226802811*^9, 3.4182907594988832`*^9, 3.418376118082501*^9, 3.4183891378272767`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PositionsOfSame", "[", RowBox[{"test1", ",", "test2", ",", "test3"}], "]"}]], "Input", CellChangeTimes->{{3.4182251821109715`*^9, 3.4182251936375456`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5", ",", "8", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "6"}], "}"}]}], "}"}], "}"}]], "Output", CellChangeTimes->{3.4182251940481358`*^9, 3.4182254152061453`*^9, 3.4182283402120976`*^9, 3.4182285749896913`*^9, 3.418229882039136*^9, 3.418230172837283*^9, 3.4182307238596144`*^9, 3.4182312268528833`*^9, 3.418290759548955*^9, 3.418376118145002*^9, 3.418389139952304*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PositionsOfSame", "[", RowBox[{"test1", ",", "test2"}], "]"}]], "Input", CellChangeTimes->{{3.418225204963832*^9, 3.418225205094019*^9}, { 3.418226291846693*^9, 3.4182262930384064`*^9}, {3.418389148343036*^9, 3.4183891503430614`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "6"}], "}"}], ",", RowBox[{"{", RowBox[{"7", ",", "10"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"5", ",", "8", ",", "9"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "8"}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.41822520666628*^9, 3.4182254163578014`*^9, {3.41822628988387*^9, 3.418226293418954*^9}, 3.4182283446484766`*^9, 3.4182285750397635`*^9, 3.4182298820892076`*^9, 3.4182301728973694`*^9, 3.4182307239197006`*^9, 3.4182312268929405`*^9, 3.4182907596090417`*^9, 3.4183761182075024`*^9, 3.4183891507336917`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PositionsOfSame", "[", RowBox[{"test2", ",", "test3"}], "]"}]], "Input", CellChangeTimes->{{3.4182265329233437`*^9, 3.4182265380707455`*^9}, { 3.418389153249349*^9, 3.418389157858783*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", "2", "}"}], ",", RowBox[{"{", "2", "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "9", "}"}], ",", RowBox[{"{", "9", "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", "4", "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "5", ",", "8"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "8"}], "}"}], ",", RowBox[{"{", RowBox[{"4", ",", "6"}], "}"}]}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.418226538601509*^9, 3.418228345659931*^9, 3.418228575089835*^9, 3.4182298821392803`*^9, 3.4182301729474416`*^9, 3.418230723969773*^9, 3.4182312269329987`*^9, 3.418290759659114*^9, 3.4183761182700033`*^9, 3.4183891585306664`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["PositionsOfDifferent", "Subsection", CellChangeTimes->{{3.4182281213173423`*^9, 3.4182281267050896`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "PositionsOfDifferent"}]], "Input", CellChangeTimes->{{3.418226304795312*^9, 3.4182263137181425`*^9}}], Cell[BoxData[ StyleBox["\<\"PositionsOfDifferent[x_List,y_List]\\ntakes 2 lists x and y \ and returns a list of positions of those \\nelements of which are not in \ . The comparison is based on \\nSameQ (syntactic)\"\>", "MSG"]], "Print", \ "PrintUsage", CellChangeTimes->{3.4183891679995375`*^9}, CellTags->"Info3418392767-8926759"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"{", RowBox[{"test1", ",", "test2"}], "}"}]], "Input", CellChangeTimes->{{3.4183891853278847`*^9, 3.4183891916717157`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.4183891888904305`*^9, 3.4183891921404715`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PositionsOfDifferent", "[", RowBox[{"test1", ",", "test2"}], "]"}]], "Input", CellChangeTimes->{{3.4182265665617137`*^9, 3.418226571829288*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"1", ",", "4", ",", "7", ",", "10"}], "}"}]], "Output", CellChangeTimes->{{3.418226568704795*^9, 3.4182265721197057`*^9}, 3.4182283512780094`*^9, 3.4182285770025854`*^9, 3.418229883411109*^9, 3.4182301742493134`*^9, 3.41823072526163*^9, 3.4182312283149853`*^9, 3.4182907603701363`*^9, 3.418376118941887*^9, 3.418389181484085*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["UnsortedUnion", "Subsection", CellChangeTimes->{{3.418228163548067*^9, 3.4182281664322147`*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "UnsortedUnion"}]], "Input", CellChangeTimes->{{3.4183892177970505`*^9, 3.4183892229689913`*^9}}], Cell[BoxData[ StyleBox["\<\"UnsortedUnion[x_List] computes an unsorted \\nUnion of the \ list - that is, removes repeated elements without\\nsorting the resulting \ list\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.418389223781502*^9}, CellTags->"Info3418392823-9534231"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"{", RowBox[{"test1", ",", RowBox[{"UnsortedUnion", "[", "test1", "]"}]}], "}"}]], "Input", CellChangeTimes->{{3.4182281675938845`*^9, 3.4182281763064127`*^9}, { 3.41822835928953*^9, 3.418228362183691*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"3", ",", "7", ",", "8", ",", "10", ",", "2"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{ 3.418228177137608*^9, {3.4182283552837696`*^9, 3.4182283627344832`*^9}, 3.4182285770626717`*^9, 3.418229883471195*^9, 3.4182301742993855`*^9, 3.4182307253117027`*^9, 3.418231228365058*^9, 3.4182907604101934`*^9, 3.418376118988763*^9, 3.4183892023593526`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["UnsortedComplement", "Subsection", CellChangeTimes->{{3.4182284396550894`*^9, 3.418228443851123*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "UnsortedComplement"}]], "Input", CellChangeTimes->{{3.4183892290628195`*^9, 3.418389234797268*^9}}], Cell[BoxData[ StyleBox["\<\"UnsortedComplement[x_List,y_List]\\nreturns all the elements \ of which are not in , without\\nsorting the resulting list. The \ comparison is based on SameQ\\n(syntactic)\"\>", "MSG"]], "Print", \ "PrintUsage", CellChangeTimes->{3.418389236062909*^9}, CellTags->"Info3418392835-8707629"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{"{", RowBox[{"test1", ",", "test2"}], "}"}], "\[IndentingNewLine]", RowBox[{"UnsortedComplement", "[", RowBox[{"test1", ",", "test2"}], "]"}]}], "Input", CellChangeTimes->{{3.41822837963879*^9, 3.4182284031526017`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.418228392096704*^9, 3.418228403813552*^9}, 3.4182285771327724`*^9, 3.418229883521267*^9, 3.4182301743594723`*^9, 3.4182307253617744`*^9, 3.4182312284151297`*^9, 3.418290760450251*^9, 3.418376119066889*^9, 3.4183892075000434`*^9, 3.4183892389535713`*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"3", ",", "8", ",", "3", ",", "2"}], "}"}]], "Output", CellChangeTimes->{{3.418228392096704*^9, 3.418228403813552*^9}, 3.4182285771327724`*^9, 3.418229883521267*^9, 3.4182301743594723`*^9, 3.4182307253617744`*^9, 3.4182312284151297`*^9, 3.418290760450251*^9, 3.418376119066889*^9, 3.4183892075000434`*^9, 3.4183892389691963`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["UnsortedIntersection", "Subsection", CellChangeTimes->{{3.418230195419755*^9, 3.418230200867589*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "UnsortedIntersection"}]], "Input", CellChangeTimes->{{3.418389242922372*^9, 3.418389248109938*^9}}], Cell[BoxData[ StyleBox["\<\"\\nUnsortedIntersection[lists__List,{positions__Integer?\ Positive}]\\ntakes any number of lists and a list of positions, \ \\nspecifying for which of the the result should be displayed.\\nFor \ the lists indicated, it keeps only those of their elements which \\nare \ present in all of . For those not indicated in the \\n{positions} \ list, the result is not computed and not \ returned.\\nUnsortedIntersection[lists__List,All] does the same as above \ but\\nfor all lists. Finally, \ UnsortedIntersection[lists__List,n_Integer]\\ncomputes the same for a single \ list {lists}[[n]], and is equivalent\\nto UnsortedIntersection[lists,{n}], \ but somewhat faster.\\n\\n\\nFor example:\\n \ \\nUnsortedIntersection[{1,2,3,4},{2,4,2,2},{4,2,4,1},{1,3}]->\\n{{2,4},{4,2,\ 4}}\\n\\nUnsortedIntersection[{1,2,3,4},{2,4,2,2},{4,2,4,1},All]->\\n{{2,4},{\ 2,4,2,2},{4,2,4}}\\n\\nUnsortedIntersection[{1,2,3,4},{2,4,2,2},{4,2,4,1},2]->\ \\n{2,4,2,2}\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.418389249328704*^9}, CellTags->"Info3418392848-3090341"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"{", RowBox[{"test1", ",", "test2"}], "}"}]], "Input", CellChangeTimes->{{3.418230205203824*^9, 3.4182302090293245`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3", ",", "7", ",", "7", ",", "8", ",", "10", ",", "7", ",", "3", ",", "10", ",", "10", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.418230209540059*^9, 3.4182307255119905`*^9, 3.418231228565346*^9, 3.4182907606305103`*^9, 3.418376119176265*^9, 3.418389257110053*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", "All"}], "]"}]], "Input", CellChangeTimes->{{3.4182284482774878`*^9, 3.4182284798028193`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"7", ",", "7", ",", "10", ",", "7", ",", "10", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "7", ",", "10", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{{3.4182284602346816`*^9, 3.4182284816755123`*^9}, 3.4182285773731184`*^9, 3.418229883671483*^9, 3.4182301745297165`*^9, 3.4182307255620623`*^9, 3.4182312286154175`*^9, 3.418290760680582*^9, 3.4183761192075157`*^9, 3.418389258719449*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", "test3", ",", "All"}], "]"}]], "Input", CellChangeTimes->{{3.418228599094352*^9, 3.4182286004462957`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"10", ",", "10", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "10"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.418228600806814*^9, 3.418229883721555*^9, 3.4182301745797887`*^9, 3.4182307256221485`*^9, 3.4182312286654897`*^9, 3.4182907607306547`*^9, 3.4183761192543907`*^9, 3.4183892611726055`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", "1"}], "]"}]], "Input", CellChangeTimes->{{3.418228611011488*^9, 3.418228621176104*^9}, { 3.418229605701782*^9, 3.418229613653216*^9}, {3.4182299044914207`*^9, 3.418229904641637*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"7", ",", "7", ",", "10", ",", "7", ",", "10", ",", "10"}], "}"}]], "Output", CellChangeTimes->{ 3.4182286216067233`*^9, {3.4182295912209597`*^9, 3.4182296140037203`*^9}, { 3.4182298837716274`*^9, 3.4182299049721117`*^9}, 3.4182301746398754`*^9, 3.4182307256722207`*^9, 3.418231228725576*^9, 3.4182907607807264`*^9, 3.4183761193012667`*^9, 3.4183892642351446`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", "2"}], "]"}]], "Input", CellChangeTimes->{{3.418230819417019*^9, 3.4182308195371923`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"10", ",", "7", ",", "10", ",", "7"}], "}"}]], "Output", CellChangeTimes->{3.4182308198276095`*^9, 3.418231228775648*^9, 3.418290760830798*^9, 3.418376119348142*^9, 3.418389266360172*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", RowBox[{"{", "1", "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.4182286394023123`*^9, 3.4182286402435217`*^9}, { 3.4182295650433187`*^9, 3.418229580535595*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"{", RowBox[{"7", ",", "7", ",", "10", ",", "7", ",", "10", ",", "10"}], "}"}], "}"}]], "Output", CellChangeTimes->{ 3.4182286406240687`*^9, {3.4182295604467087`*^9, 3.418229581086387*^9}, 3.4182298838317137`*^9, 3.418230174760048*^9, 3.418230280021406*^9, 3.4182307259225807`*^9, 3.418231228845749*^9, 3.4182907608808703`*^9, 3.4183761193793926`*^9, 3.4183892690320807`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"UnsortedIntersection", "[", RowBox[{"test1", ",", "test2", ",", RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.4182308311939535`*^9, 3.4182308313842273`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"7", ",", "7", ",", "10", ",", "7", ",", "10", ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"10", ",", "7", ",", "10", ",", "7"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.418230831734731*^9, 3.418231228905835*^9, 3.4182907609309425`*^9, 3.418376119426268*^9, 3.4183892704852247`*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["MapAtMembers", "Subsection", CellChangeTimes->{{3.4182308672457933`*^9, 3.418230873164304*^9}}, FontWeight->"Plain"], Cell[BoxData[ RowBox[{ RowBox[{"Clear", "[", RowBox[{"f", ",", "g", ",", "h"}], "]"}], ";"}]], "Input", CellChangeTimes->{{3.4183896540370092`*^9, 3.418389658630818*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "MapAtMembers"}]], "Input", CellChangeTimes->{{3.4182308748066654`*^9, 3.4182308780913887`*^9}, { 3.4183893087513394`*^9, 3.4183893112513714`*^9}}], Cell[BoxData[ StyleBox["\<\"MapAtMembers[f_,x_List,y_List] maps\\na function on those \ elements of which are also in \\n\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.418389312220134*^9}, CellTags->"Info3418392911-2768743"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"{", RowBox[{"test2", ",", "test3"}], "}"}]], "Input", CellChangeTimes->{{3.4182309357142467`*^9, 3.4182309436556654`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "10", ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", "10", ",", "4", ",", "7"}], "}"}], ",", RowBox[{"{", RowBox[{ "8", ",", "1", ",", "6", ",", "10", ",", "6", ",", "10", ",", "2", ",", "6", ",", "4", ",", "3"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.4182309441063137`*^9, 3.4182312290560513`*^9, 3.418290761922368*^9, 3.41837612036378*^9, 3.418389317048321*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MapAtMembers", "[", RowBox[{"f", ",", "test2", ",", "test3"}], "]"}]], "Input", CellChangeTimes->{{3.418230894194544*^9, 3.418230933300776*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "10", "]"}], ",", RowBox[{"f", "[", "1", "]"}], ",", "5", ",", RowBox[{"f", "[", "6", "]"}], ",", "9", ",", "5", ",", "7", ",", RowBox[{"f", "[", "10", "]"}], ",", RowBox[{"f", "[", "4", "]"}], ",", "7"}], "}"}]], "Output", CellChangeTimes->{{3.418230898981427*^9, 3.4182309455483875`*^9}, 3.418231229106123*^9, 3.41829076197244*^9, 3.418376120410656*^9, 3.418389318642091*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["MapAtIntersection", "Subsection", CellChangeTimes->{{3.4182310641989985`*^9, 3.4182310705381136`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "MapAtIntersection"}]], "Input", CellChangeTimes->{{3.4182310764966817`*^9, 3.4182310859903326`*^9}, { 3.4182311191580257`*^9, 3.4182311207102575`*^9}, {3.418389335782935*^9, 3.418389340345494*^9}}], Cell[BoxData[ StyleBox["\<\"MapAtIntersection[f_,{lists__List}]\\nmaps a function on \ those elements in each of the lists \\n which are present in all \ . \\n\\nMapAtIntersection[{funs__},{lists__List}] maps a different \ \\nfunction {funs}[[k]] on a list {lists}[[k]]. The number of \\nfunctions \ have to match the number of lists\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.4183893412205048`*^9}, CellTags->"Info3418392940-7297942"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MapAtIntersection", "[", RowBox[{"f", ",", RowBox[{"{", RowBox[{"test1", ",", "test2", ",", "test3"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.418231152616136*^9, 3.418231155069664*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "7", ",", "7", ",", "8", ",", RowBox[{"f", "[", "10", "]"}], ",", "7", ",", "3", ",", RowBox[{"f", "[", "10", "]"}], ",", RowBox[{"f", "[", "10", "]"}], ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"f", "[", "10", "]"}], ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", RowBox[{"f", "[", "10", "]"}], ",", "4", ",", "7"}], "}"}], ",", RowBox[{"{", RowBox[{"8", ",", "1", ",", "6", ",", RowBox[{"f", "[", "10", "]"}], ",", "6", ",", RowBox[{"f", "[", "10", "]"}], ",", "2", ",", "6", ",", "4", ",", "3"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.4182311554301825`*^9, 3.4182312294365983`*^9, 3.4182907638251038`*^9, 3.418376122145053*^9, 3.4183893454861846`*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MapAtIntersection", "[", RowBox[{ RowBox[{"{", RowBox[{"f", ",", "g", ",", "h"}], "}"}], ",", RowBox[{"{", RowBox[{"test1", ",", "test2", ",", "test3"}], "}"}]}], "]"}]], "Input", CellChangeTimes->{{3.418231253781605*^9, 3.418231256565608*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"3", ",", "7", ",", "7", ",", "8", ",", RowBox[{"f", "[", "10", "]"}], ",", "7", ",", "3", ",", RowBox[{"f", "[", "10", "]"}], ",", RowBox[{"f", "[", "10", "]"}], ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"g", "[", "10", "]"}], ",", "1", ",", "5", ",", "6", ",", "9", ",", "5", ",", "7", ",", RowBox[{"g", "[", "10", "]"}], ",", "4", ",", "7"}], "}"}], ",", RowBox[{"{", RowBox[{"8", ",", "1", ",", "6", ",", RowBox[{"h", "[", "10", "]"}], ",", "6", ",", RowBox[{"h", "[", "10", "]"}], ",", "2", ",", "6", ",", "4", ",", "3"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.4182312573767743`*^9, 3.418290763865162*^9, 3.418376122191929*^9, 3.4183893484705977`*^9, 3.418389691615615*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["MapAtComplement", "Subsection", CellChangeTimes->{{3.4182312740807934`*^9, 3.41823128174181*^9}}, FontWeight->"Plain"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MapAtComplement", "[", RowBox[{"f", ",", "test1", ",", "test2"}], "]"}]], "Input", CellChangeTimes->{{3.4182312925273185`*^9, 3.418231296973712*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "3", "]"}], ",", "7", ",", "7", ",", RowBox[{"f", "[", "8", "]"}], ",", "10", ",", "7", ",", RowBox[{"f", "[", "3", "]"}], ",", "10", ",", "10", ",", RowBox[{"f", "[", "2", "]"}]}], "}"}]], "Output", CellChangeTimes->{3.4182312973642735`*^9, 3.418290763905219*^9, 3.418376122223179*^9, 3.418389688490575*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"MapAtComplement", "[", RowBox[{"f", ",", "test2", ",", "test3"}], "]"}]], "Input", CellChangeTimes->{{3.4182313193659105`*^9, 3.4182313213487616`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"10", ",", "1", ",", RowBox[{"f", "[", "5", "]"}], ",", "6", ",", RowBox[{"f", "[", "9", "]"}], ",", RowBox[{"f", "[", "5", "]"}], ",", RowBox[{"f", "[", "7", "]"}], ",", "10", ",", "4", ",", RowBox[{"f", "[", "7", "]"}]}], "}"}]], "Output", CellChangeTimes->{3.418231321609136*^9, 3.4182907639452767`*^9, 3.4183761222544293`*^9, 3.418389689584339*^9}] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Power tests", "Section", CellChangeTimes->{{3.418231381895824*^9, 3.4182313849402018`*^9}}, FontWeight->"Plain"], Cell["\<\ The tests below are presented to give an idea of the speed of the functions \ in this package. As our test lists, we take large randomly permuted lists.\ \>", "Text", CellChangeTimes->{{3.4183897000375977`*^9, 3.4183897621321425`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Needs", "[", "\"\\"", "]"}], ";"}]], "Input", CellChangeTimes->{{3.418231420070717*^9, 3.418231441030856*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"General", "::", "\<\"newpkg\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(\\\"DiscreteMath`Combinatorica`\\\"\\) is now \ available as the \\!\\(\\\"Combinatorica Package\\\"\\). See the \ Compatibility Guide for updating information. \\!\\(\\*ButtonBox[\\\"\ \[RightSkeleton]\\\", ButtonStyle->\\\"Link\\\", ButtonFrame->None, \ ButtonData:>\\\"paclet:Compatibility/Tutorials/DiscreteMath/Combinatorica\\\",\ ButtonNote -> \\\"General::newpkg\\\"]\\)\"\>"}]], "Message", "MSG", CellChangeTimes->{3.41823144247293*^9, 3.4183761657706113`*^9}] }, Open ]], Cell[BoxData[{ RowBox[{ RowBox[{"pwrtest1", " ", "=", " ", RowBox[{ RowBox[{"Range", "[", "10000", "]"}], "[", RowBox[{"[", RowBox[{"RandomPermutation", "[", "10000", "]"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pwrtest2", " ", "=", " ", RowBox[{ RowBox[{"Range", "[", RowBox[{"3000", ",", "13000"}], "]"}], "[", RowBox[{"[", RowBox[{"RandomPermutation", "[", "10000", "]"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pwrtest3", " ", "=", " ", RowBox[{ RowBox[{"Range", "[", RowBox[{"6000", ",", "16000"}], "]"}], "[", RowBox[{"[", RowBox[{"RandomPermutation", "[", "10000", "]"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pwrtest4", " ", "=", " ", RowBox[{"Join", "@@", RowBox[{"Table", "[", RowBox[{ RowBox[{"Range", "[", "1000", "]"}], ",", RowBox[{"{", "10", "}"}]}], "]"}]}]}], ";"}]}], "Input", CellChangeTimes->{{3.4182313869330673`*^9, 3.4182314072422705`*^9}, { 3.4182314562827873`*^9, 3.4182315333235664`*^9}, {3.418232074812189*^9, 3.418232096243005*^9}}], Cell["Functions in the package once again :", "Text", CellChangeTimes->{{3.418389768897854*^9, 3.4183897780698466`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "`UnsortedOperations`*"}]], "Input", CellChangeTimes->{3.4183761782082705`*^9}], Cell[BoxData[ DynamicModuleBox[{Typeset`open$$ = True}, PaneSelectorBox[{False-> RowBox[{ OpenerBox[Dynamic[Typeset`open$$], ImageSize->Small], StyleBox["Global`UnsortedOperations`", "InfoHeading"]}], True->GridBox[{ { RowBox[{ OpenerBox[Dynamic[Typeset`open$$], ImageSize->Small], StyleBox["Global`UnsortedOperations`", "InfoHeading"]}]}, {GridBox[{ { ButtonBox["MapAtComplement", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MapAtComplement"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["PositionsOfDifferent", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`PositionsOfDifferent"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MapAtIntersection", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MapAtIntersection"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["PositionsOfSame", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`PositionsOfSame"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MapAtMembers", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MapAtMembers"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["Subsequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`Subsequences"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberPositions", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MemberPositions"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedComplement", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`UnsortedComplement"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberPositionsSequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MemberPositionsSequences"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedIntersection", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`UnsortedIntersection"}, ButtonNote->"Global`UnsortedOperations`"]}, { ButtonBox["MemberSequences", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`MemberSequences"}, ButtonNote->"Global`UnsortedOperations`"], ButtonBox["UnsortedUnion", BaseStyle->"InformationLink", ButtonData:>{ "Info3418379778-8545751", "Global`UnsortedOperations`UnsortedUnion"}, ButtonNote->"Global`UnsortedOperations`"]} }, DefaultBaseStyle->"InfoGrid", GridBoxItemSize->{"Columns" -> {{ Scaled[0.475]}}}]} }, GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Baseline}}}]}, Dynamic[Typeset`open$$], ImageSize->Automatic]]], "Print", "InfoCell", CellChangeTimes->{3.4183761788489037`*^9}] }, Open ]], Cell["\<\ UnsortedUnion : we feed a list containing a sequence of numbers 1 ... 1000 \ repeated 10 times. \ \>", "Text", CellChangeTimes->{{3.4183897926012826`*^9, 3.4183898495395117`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res0", " ", "=", " ", RowBox[{"UnsortedUnion", "[", "pwrtest4", "]"}]}], ")"}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182321255251102`*^9, 3.418232162368088*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.04699999999999996`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.418232162908866*^9, 3.4183761863958755`*^9}] }, Open ]], Cell["The result has to be equal to Range[1000] :", "Text", CellChangeTimes->{{3.4183899467595057`*^9, 3.4183899588534107`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res0", "===", RowBox[{"Range", "[", "1000", "]"}]}]], "Input", CellChangeTimes->{{3.418232165823056*^9, 3.4182321712708893`*^9}}], Cell[BoxData["True"], "Output", CellChangeTimes->{3.418232171781624*^9, 3.4183761889115324`*^9}] }, Open ]], Cell["This is a snapshot of the first large list :", "Text", CellChangeTimes->{{3.41838996624413*^9, 3.4183899798693047`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"pwrtest1", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "10"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.418231568494139*^9, 3.4182316233930798`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "3417", ",", "418", ",", "4248", ",", "4160", ",", "4937", ",", "5355", ",", "8677", ",", "2356", ",", "8397", ",", "9213", ",", "1289", ",", "3444", ",", "634", ",", "8359", ",", "1991", ",", "6377", ",", "5351", ",", "8052", ",", "1233", ",", "237", ",", "5189", ",", "7260", ",", "9289", ",", "6036", ",", "1910", ",", "9359", ",", "2304", ",", RowBox[{"\[LeftSkeleton]", "9946", "\[RightSkeleton]"}], ",", "8326", ",", "5539", ",", "4905", ",", "1207", ",", "8767", ",", "5645", ",", "7840", ",", "256", ",", "5414", ",", "6055", ",", "898", ",", "6056", ",", "4117", ",", "6810", ",", "1613", ",", "6970", ",", "4517", ",", "8384", ",", "1738", ",", "5172", ",", "2085", ",", "7434", ",", "3944", ",", "6133", ",", "8888", ",", "9568", ",", "7972"}], "}"}], Short[#, 10]& ]], "Output", CellChangeTimes->{{3.4182316092527475`*^9, 3.418231623863757*^9}, 3.418376183083333*^9, 3.418390394593363*^9}] }, Open ]], Cell["\<\ The result of the following operation has to be a list of only those elements \ of the above list, which are also in the other two - that is, elements in the \ interval [6000, 10000] - but standing in the same order asin the original \ list.\ \>", "Text", CellChangeTimes->{{3.418389984681866*^9, 3.418390099917716*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res1", " ", "=", " ", RowBox[{"UnsortedIntersection", "[", RowBox[{"pwrtest1", ",", "pwrtest2", ",", "pwrtest3", ",", "1"}], "]"}]}], ")"}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.418231630353088*^9, 3.4182316770302067`*^9}, { 3.418232141988784*^9, 3.4182321450031185`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.11000000000000001`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.4182316777812862`*^9, 3.418376196364753*^9}] }, Open ]], Cell["We can see this now :", "Text", CellChangeTimes->{{3.418390102886504*^9, 3.4183901168398075`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res1", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "10"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.418231686413699*^9, 3.4182316959774513`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "8677", ",", "8397", ",", "9213", ",", "8359", ",", "6377", ",", "8052", ",", "7260", ",", "9289", ",", "6036", ",", "9359", ",", "8447", ",", "9641", ",", "7166", ",", "9702", ",", "6997", ",", "6789", ",", "8912", ",", "7933", ",", "6424", ",", "8159", ",", "7390", ",", "9889", ",", "8152", ",", "8487", ",", "9441", ",", "8641", ",", "6411", ",", RowBox[{"\[LeftSkeleton]", "3948", "\[RightSkeleton]"}], ",", "6442", ",", "7142", ",", "8637", ",", "6279", ",", "8930", ",", "8836", ",", "8158", ",", "8797", ",", "9073", ",", "7388", ",", "6539", ",", "8872", ",", "7827", ",", "8326", ",", "8767", ",", "7840", ",", "6055", ",", "6056", ",", "6810", ",", "6970", ",", "8384", ",", "7434", ",", "6133", ",", "8888", ",", "9568", ",", "7972"}], "}"}], Short[#, 10]& ]], "Output", CellChangeTimes->{3.4182316971391215`*^9, 3.4183762011929398`*^9, 3.418390397343398*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Length", "[", "res1", "]"}]], "Input", CellChangeTimes->{{3.4182317227559566`*^9, 3.4182317255199313`*^9}}], Cell[BoxData["4001"], "Output", CellChangeTimes->{3.418231725910493*^9, 3.4183762075523963`*^9}] }, Open ]], Cell["\<\ Here we have to get all the elements of < pwrtest1 > that are not in < \ pwrtest2 >, which for our choice of < pwrtest1 > and < pwrtest2 > means that \ they have to be less than 3000. The remaining elements have to stand in their \ original order.\ \>", "Text", CellChangeTimes->{{3.4183901316681223`*^9, 3.41839021270041*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"res2", " ", "=", " ", RowBox[{"UnsortedComplement", "[", RowBox[{"pwrtest1", ",", "pwrtest2"}], "]"}]}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182317779052577`*^9, 3.41823180765804*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.17199999999999988`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{ 3.418231810512144*^9, 3.418376209083666*^9, {3.418390402109084*^9, 3.4183904048122435`*^9}}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"pwrtest1", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{3.418390232169409*^9}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "3417", ",", "418", ",", "4248", ",", "4160", ",", "4937", ",", "5355", ",", "8677", ",", "2356", ",", "8397", ",", "9213", ",", "1289", ",", "3444", ",", "634", ",", RowBox[{"\[LeftSkeleton]", "9974", "\[RightSkeleton]"}], ",", "1613", ",", "6970", ",", "4517", ",", "8384", ",", "1738", ",", "5172", ",", "2085", ",", "7434", ",", "3944", ",", "6133", ",", "8888", ",", "9568", ",", "7972"}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.41839023301317*^9, 3.418390406687268*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res2", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.41823181717172*^9, 3.4182318237211375`*^9}, { 3.4183902213255205`*^9, 3.4183902216223993`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "418", ",", "2356", ",", "1289", ",", "634", ",", "1991", ",", "1233", ",", "237", ",", "1910", ",", "2304", ",", "1828", ",", "445", ",", "2745", ",", "554", ",", "1319", ",", RowBox[{"\[LeftSkeleton]", "2971", "\[RightSkeleton]"}], ",", "673", ",", "615", ",", "604", ",", "2910", ",", "1473", ",", "942", ",", "1198", ",", "2187", ",", "1207", ",", "256", ",", "898", ",", "1613", ",", "1738", ",", "2085"}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.418231824301973*^9, 3.41837621059931*^9, 3.4183902219036527`*^9, 3.4183904081872873`*^9}] }, Open ]], Cell["\<\ Here the function < f > has to be mapped in each of the input lists only on \ those elements which are common to all lists. For our choice of input lists, \ this means all elements in the interval [6000, 10000].\ \>", "Text", CellChangeTimes->{{3.418390251232153*^9, 3.41839031702987*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"res3", " ", "=", " ", RowBox[{"MapAtIntersection", "[", RowBox[{"f", ",", RowBox[{"{", RowBox[{"pwrtest1", ",", "pwrtest2", ",", "pwrtest3"}], "}"}]}], "]"}]}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182318527628975`*^9, 3.418231903445776*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.40599999999999997`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.418231906950816*^9, 3.4183762125993357`*^9}] }, Open ]], Cell["We test the first list :", "Text", CellChangeTimes->{{3.4183903229049454`*^9, 3.418390327983135*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res3", "[", RowBox[{"[", "1", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182319104959135`*^9, 3.418231946798114*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "3417", ",", "418", ",", "4248", ",", "4160", ",", "4937", ",", "5355", ",", RowBox[{"f", "[", "8677", "]"}], ",", "2356", ",", RowBox[{"f", "[", "8397", "]"}], ",", RowBox[{"f", "[", "9213", "]"}], ",", RowBox[{"\[LeftSkeleton]", "9980", "\[RightSkeleton]"}], ",", RowBox[{"f", "[", "8384", "]"}], ",", "1738", ",", "5172", ",", "2085", ",", RowBox[{"f", "[", "7434", "]"}], ",", "3944", ",", RowBox[{"f", "[", "6133", "]"}], ",", RowBox[{"f", "[", "8888", "]"}], ",", RowBox[{"f", "[", "9568", "]"}], ",", RowBox[{"f", "[", "7972", "]"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{{3.418231917045331*^9, 3.4182319472187185`*^9}, 3.418376217115019*^9}] }, Open ]], Cell["The second :", "Text", CellChangeTimes->{{3.4183903358113604`*^9, 3.4183903389832764`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res3", "[", RowBox[{"[", "2", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.418231941410366*^9, 3.4182319574233923`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "9742", "]"}], ",", RowBox[{"f", "[", "6199", "]"}], ",", "3708", ",", "3445", ",", "3910", ",", "3781", ",", "5043", ",", "10177", ",", "11311", ",", RowBox[{"\[LeftSkeleton]", "9982", "\[RightSkeleton]"}], ",", "4069", ",", RowBox[{"f", "[", "7282", "]"}], ",", RowBox[{"f", "[", "7360", "]"}], ",", RowBox[{"f", "[", "8192", "]"}], ",", RowBox[{"f", "[", "7808", "]"}], ",", RowBox[{"f", "[", "8780", "]"}], ",", RowBox[{"f", "[", "7743", "]"}], ",", "10127", ",", RowBox[{"f", "[", "8496", "]"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.4182319581244*^9, 3.4183762191619196`*^9}] }, Open ]], Cell["The third :", "Text", CellChangeTimes->{{3.4183903438895893`*^9, 3.418390346561498*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res3", "[", RowBox[{"[", "3", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182319622603474`*^9, 3.418231972164589*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "6099", "]"}], ",", "12018", ",", "11509", ",", "13974", ",", "13506", ",", RowBox[{"f", "[", "9625", "]"}], ",", "12614", ",", "12301", ",", "12675", ",", "13150", ",", RowBox[{"\[LeftSkeleton]", "9980", "\[RightSkeleton]"}], ",", RowBox[{"f", "[", "6644", "]"}], ",", "13904", ",", "10656", ",", "12422", ",", RowBox[{"f", "[", "7256", "]"}], ",", "15257", ",", "11900", ",", "13502", ",", "11713", ",", "13155"}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.41823197289564*^9, 3.418376220521312*^9}] }, Open ]], Cell["\<\ Here we do the same but the function mapped is different for each list :\ \>", "Text", CellChangeTimes->{{3.418390352405323*^9, 3.4183903695617924`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"res4", " ", "=", " ", RowBox[{"MapAtIntersection", "[", RowBox[{ RowBox[{"{", RowBox[{"f", ",", "g", ",", "h"}], "}"}], ",", RowBox[{"{", RowBox[{"pwrtest1", ",", "pwrtest2", ",", "pwrtest3"}], "}"}]}], "]"}]}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182319955782557`*^9, 3.4182320028186674`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.40599999999999997`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.418232004240712*^9, 3.4183762224275866`*^9}] }, Open ]], Cell["The first list now:", "Text", CellChangeTimes->{{3.418390419671809*^9, 3.4183904302031937`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res4", "[", RowBox[{"[", "1", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182319104959135`*^9, 3.418231946798114*^9}, { 3.418232029326784*^9, 3.418232029376856*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ "3417", ",", "418", ",", "4248", ",", "4160", ",", "4937", ",", "5355", ",", RowBox[{"f", "[", "8677", "]"}], ",", "2356", ",", RowBox[{"f", "[", "8397", "]"}], ",", RowBox[{"f", "[", "9213", "]"}], ",", RowBox[{"\[LeftSkeleton]", "9980", "\[RightSkeleton]"}], ",", RowBox[{"f", "[", "8384", "]"}], ",", "1738", ",", "5172", ",", "2085", ",", RowBox[{"f", "[", "7434", "]"}], ",", "3944", ",", RowBox[{"f", "[", "6133", "]"}], ",", RowBox[{"f", "[", "8888", "]"}], ",", RowBox[{"f", "[", "9568", "]"}], ",", RowBox[{"f", "[", "7972", "]"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{{3.418231917045331*^9, 3.4182319472187185`*^9}, 3.4182320300177774`*^9, 3.4183762258495054`*^9, 3.418390383280718*^9}] }, Open ]], Cell["The second :", "Text", CellChangeTimes->{{3.4183904323438463`*^9, 3.418390434922004*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res4", "[", RowBox[{"[", "2", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.418231941410366*^9, 3.4182319574233923`*^9}, { 3.4182320319906144`*^9, 3.4182320320907583`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"g", "[", "9742", "]"}], ",", RowBox[{"g", "[", "6199", "]"}], ",", "3708", ",", "3445", ",", "3910", ",", "3781", ",", "5043", ",", "10177", ",", "11311", ",", RowBox[{"\[LeftSkeleton]", "9982", "\[RightSkeleton]"}], ",", "4069", ",", RowBox[{"g", "[", "7282", "]"}], ",", RowBox[{"g", "[", "7360", "]"}], ",", RowBox[{"g", "[", "8192", "]"}], ",", RowBox[{"g", "[", "7808", "]"}], ",", RowBox[{"g", "[", "8780", "]"}], ",", RowBox[{"g", "[", "7743", "]"}], ",", "10127", ",", RowBox[{"g", "[", "8496", "]"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.4182319581244*^9, 3.4182320325514207`*^9, 3.4183762271151466`*^9}] }, Open ]], Cell["The third :", "Text", CellChangeTimes->{{3.4183904403908243`*^9, 3.4183904428283553`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"res4", "[", RowBox[{"[", "3", "]"}], "]"}], "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182319622603474`*^9, 3.418231972164589*^9}, { 3.418232035555741*^9, 3.41823203564587*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"h", "[", "6099", "]"}], ",", "12018", ",", "11509", ",", "13974", ",", "13506", ",", RowBox[{"h", "[", "9625", "]"}], ",", "12614", ",", "12301", ",", "12675", ",", "13150", ",", RowBox[{"\[LeftSkeleton]", "9980", "\[RightSkeleton]"}], ",", RowBox[{"h", "[", "6644", "]"}], ",", "13904", ",", "10656", ",", "12422", ",", RowBox[{"h", "[", "7256", "]"}], ",", "15257", ",", "11900", ",", "13502", ",", "11713", ",", "13155"}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.41823197289564*^9, 3.4182320360965185`*^9, 3.418376228724542*^9}] }, Open ]], Cell["\<\ Here we map a function only on those elements of the first list which are not \ in the second one. With our present choice of lists, this means all elements \ less than 3000.\ \>", "Text", CellChangeTimes->{{3.418390449187812*^9, 3.418390502110364*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res5", " ", "=", " ", RowBox[{"MapAtComplement", "[", RowBox[{"f", ",", "pwrtest1", ",", "pwrtest2"}], "]"}]}], ")"}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182322002325344`*^9, 3.4182322255789804`*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.1880000000000001`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.4182322265403633`*^9, 3.4183762308339443`*^9}] }, Open ]], Cell["Check :", "Text", CellChangeTimes->{{3.4183905089698267`*^9, 3.418390511391733*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res5", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182322325289745`*^9, 3.4182322470999265`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{"3417", ",", RowBox[{"f", "[", "418", "]"}], ",", "4248", ",", "4160", ",", "4937", ",", "5355", ",", "8677", ",", RowBox[{"f", "[", "2356", "]"}], ",", "8397", ",", "9213", ",", RowBox[{"f", "[", "1289", "]"}], ",", RowBox[{"\[LeftSkeleton]", "9978", "\[RightSkeleton]"}], ",", "4517", ",", "8384", ",", RowBox[{"f", "[", "1738", "]"}], ",", "5172", ",", RowBox[{"f", "[", "2085", "]"}], ",", "7434", ",", "3944", ",", "6133", ",", "8888", ",", "9568", ",", "7972"}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.418232247770891*^9, 3.4183762337402315`*^9}] }, Open ]], Cell["\<\ Here we do the opposite and map a function on those elements of the first \ list which are also in the secind one.\ \>", "Text", CellChangeTimes->{{3.4183905272200603`*^9, 3.4183905515328717`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res6", " ", "=", RowBox[{"MapAtMembers", "[", RowBox[{"f", ",", "pwrtest1", ",", "pwrtest2"}], "]"}]}], ")"}], ";"}], "//", "Timing", " "}]], "Input", CellChangeTimes->{{3.4182322609197984`*^9, 3.418232289550968*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.1560000000000001`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.4182322904923215`*^9, 3.41837623752153*^9}] }, Open ]], Cell["Check :", "Text", CellChangeTimes->{{3.4183905576266994`*^9, 3.418390559345472*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res6", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.418232293757016*^9, 3.4182323024094577`*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"f", "[", "3417", "]"}], ",", "418", ",", RowBox[{"f", "[", "4248", "]"}], ",", RowBox[{"f", "[", "4160", "]"}], ",", RowBox[{"f", "[", "4937", "]"}], ",", RowBox[{"f", "[", "5355", "]"}], ",", RowBox[{"f", "[", "8677", "]"}], ",", "2356", ",", RowBox[{"\[LeftSkeleton]", "9984", "\[RightSkeleton]"}], ",", RowBox[{"f", "[", "5172", "]"}], ",", "2085", ",", RowBox[{"f", "[", "7434", "]"}], ",", RowBox[{"f", "[", "3944", "]"}], ",", RowBox[{"f", "[", "6133", "]"}], ",", RowBox[{"f", "[", "8888", "]"}], ",", RowBox[{"f", "[", "9568", "]"}], ",", RowBox[{"f", "[", "7972", "]"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.4182323049130573`*^9, 3.418376239802809*^9}] }, Open ]], Cell["\<\ Here we extract subsequences of consequitive elements of the first list which \ are not in the third one (the third list is interpreted here as a list of \ separator elements). For our choice of lists this means sequences of elements \ all less than 6000.\ \>", "Text", CellChangeTimes->{{3.418390566142434*^9, 3.418390679378258*^9}, { 3.4183907111911654`*^9, 3.4183907276757517`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res7", " ", "=", " ", RowBox[{"Subsequences", "[", RowBox[{"pwrtest1", ",", "pwrtest3"}], "]"}]}], ")"}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.4182324553493743`*^9, 3.4182325061323967`*^9}, { 3.4183906350026903`*^9, 3.418390636096454*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.2189999999999998`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.418232509657466*^9, 3.418376241834085*^9, 3.4183906365964603`*^9}] }, Open ]], Cell["Check :", "Text", CellChangeTimes->{{3.4183906582998633`*^9, 3.4183906600498857`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res7", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182325147047234`*^9, 3.418232524608965*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "3417", ",", "418", ",", "4248", ",", "4160", ",", "4937", ",", "5355"}], "}"}], ",", RowBox[{"{", "2356", "}"}], ",", RowBox[{"{", RowBox[{"1289", ",", "3444", ",", "634"}], "}"}], ",", RowBox[{"{", "1991", "}"}], ",", RowBox[{"{", "5351", "}"}], ",", RowBox[{"\[LeftSkeleton]", "2392", "\[RightSkeleton]"}], ",", RowBox[{"{", "4117", "}"}], ",", RowBox[{"{", "1613", "}"}], ",", RowBox[{"{", "4517", "}"}], ",", RowBox[{"{", RowBox[{"1738", ",", "5172", ",", "2085"}], "}"}], ",", RowBox[{"{", "3944", "}"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.4182325251998143`*^9, 3.418376244271616*^9, 3.4183906376902246`*^9}] }, Open ]], Cell["\<\ Here we extract the subsequences of consequitive elements of the first list \ which are also in the second list\ \>", "Text", CellChangeTimes->{{3.4183907343477116`*^9, 3.418390765285608*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"res8", " ", "=", " ", RowBox[{"MemberSequences", "[", RowBox[{"pwrtest1", ",", "pwrtest2"}], "]"}]}], ")"}], ";"}], "//", "Timing"}]], "Input", CellChangeTimes->{{3.418232567580755*^9, 3.418232596942976*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{"0.234`", ",", "Null"}], "}"}]], "Output", CellChangeTimes->{3.4182325995066624`*^9, 3.418376246037264*^9, 3.418390773973219*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"res8", "//", RowBox[{ RowBox[{"Short", "[", RowBox[{"#", ",", "5"}], "]"}], "&"}]}]], "Input", CellChangeTimes->{{3.4182326016397295`*^9, 3.418232610192027*^9}}], Cell[BoxData[ TagBox[ RowBox[{"{", RowBox[{ RowBox[{"{", "3417", "}"}], ",", RowBox[{"{", RowBox[{"4248", ",", "4160", ",", "4937", ",", "5355", ",", "8677"}], "}"}], ",", RowBox[{"{", RowBox[{"8397", ",", "9213"}], "}"}], ",", RowBox[{"{", "3444", "}"}], ",", RowBox[{"\[LeftSkeleton]", "2085", "\[RightSkeleton]"}], ",", RowBox[{"{", RowBox[{"6056", ",", "4117", ",", "6810"}], "}"}], ",", RowBox[{"{", RowBox[{"6970", ",", "4517", ",", "8384"}], "}"}], ",", RowBox[{"{", "5172", "}"}], ",", RowBox[{"{", RowBox[{ "7434", ",", "3944", ",", "6133", ",", "8888", ",", "9568", ",", "7972"}], "}"}]}], "}"}], Short[#, 5]& ]], "Output", CellChangeTimes->{3.4182326113436832`*^9, 3.4183762475685334`*^9}] }, Open ]], Cell["\<\ The timing tests were performed with Intel Pentium 4 Dual Core 3.4 GHZ \ Windows machine\ \>", "Subsection", CellChangeTimes->{{3.418389891071293*^9, 3.4183899250873537`*^9}}, FontWeight->"Plain"] }, Open ]] }, WindowSize->{1272, 837}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, ShowSelection->True, Magnification->2., FrontEndVersion->"6.0 for Microsoft Windows (32-bit) (March 13, 2008)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "Info3418392507-3403061"->{ Cell[10434, 310, 363, 6, 184, "Print", CellTags->"Info3418392507-3403061"]}, "Info3418392668-9012397"->{ Cell[11933, 353, 326, 6, 150, "Print", CellTags->"Info3418392668-9012397"]}, "Info3418392767-8926759"->{ Cell[18217, 550, 343, 6, 184, "Print", CellTags->"Info3418392767-8926759"]}, "Info3418392823-9534231"->{ Cell[20099, 609, 291, 5, 150, "Print", CellTags->"Info3418392823-9534231"]}, "Info3418392835-8707629"->{ Cell[21597, 656, 326, 6, 184, "Print", CellTags->"Info3418392835-8707629"]}, "Info3418392848-3090341"->{ Cell[23581, 712, 1110, 17, 830, "Print", CellTags->"Info3418392848-3090341"]}, "Info3418392911-2768743"->{ Cell[29969, 893, 252, 5, 150, "Print", CellTags->"Info3418392911-2768743"]}, "Info3418392940-7297942"->{ Cell[31997, 957, 471, 7, 286, "Print", CellTags->"Info3418392940-7297942"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Info3418392507-3403061", 66915, 1999}, {"Info3418392668-9012397", 67026, 2002}, {"Info3418392767-8926759", 67137, 2005}, {"Info3418392823-9534231", 67248, 2008}, {"Info3418392835-8707629", 67359, 2011}, {"Info3418392848-3090341", 67470, 2014}, {"Info3418392911-2768743", 67583, 2017}, {"Info3418392940-7297942", 67694, 2020} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 130, 2, 72, "Subsection"], Cell[723, 27, 341, 7, 88, "Text"], Cell[CellGroupData[{ Cell[1089, 38, 106, 1, 82, "Input"], Cell[1198, 41, 405, 8, 151, "Output"] }, Open ]], Cell[1618, 52, 234, 5, 55, "Text"], Cell[1855, 59, 354, 6, 121, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[2246, 70, 142, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[2413, 76, 162, 3, 82, "Input"], Cell[2578, 81, 3978, 111, 259, "Print"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[6605, 198, 114, 2, 139, "Section"], Cell[CellGroupData[{ Cell[6744, 204, 122, 2, 72, "Subsection"], Cell[6869, 208, 217, 4, 88, "Text"], Cell[CellGroupData[{ Cell[7111, 216, 336, 9, 82, "Input"], Cell[7450, 227, 682, 12, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[8169, 244, 387, 10, 82, "Input"], Cell[8559, 256, 671, 12, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9267, 273, 338, 9, 82, "Input"], Cell[9608, 284, 522, 10, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[10179, 300, 127, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[10331, 306, 100, 2, 82, "Input"], Cell[10434, 310, 363, 6, 184, "Print", CellTags->"Info3418392507-3403061"] }, Open ]], Cell[CellGroupData[{ Cell[10834, 321, 218, 4, 82, "Input"], Cell[11055, 327, 557, 10, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[11661, 343, 135, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[11821, 349, 109, 2, 82, "Input"], Cell[11933, 353, 326, 6, 150, "Print", CellTags->"Info3418392668-9012397"] }, Open ]], Cell[CellGroupData[{ Cell[12296, 364, 219, 5, 82, "Input"], Cell[12518, 371, 386, 7, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[12953, 384, 126, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[13104, 390, 270, 6, 82, "Input"], Cell[13377, 398, 471, 11, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[13897, 415, 129, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[14051, 421, 162, 3, 82, "Input"], Cell[14216, 426, 722, 17, 117, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[14975, 448, 183, 3, 82, "Input"], Cell[15161, 453, 553, 13, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[15751, 471, 267, 5, 82, "Input"], Cell[16021, 478, 749, 20, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[16807, 503, 218, 4, 82, "Input"], Cell[17028, 509, 847, 25, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[17924, 540, 134, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[18083, 546, 131, 2, 82, "Input"], Cell[18217, 550, 343, 6, 184, "Print", CellTags->"Info3418392767-8926759"] }, Open ]], Cell[CellGroupData[{ Cell[18597, 561, 150, 3, 82, "Input"], Cell[18750, 566, 428, 11, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[19215, 582, 172, 3, 82, "Input"], Cell[19390, 587, 381, 6, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[19820, 599, 125, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[19970, 605, 126, 2, 82, "Input"], Cell[20099, 609, 291, 5, 150, "Print", CellTags->"Info3418392823-9534231"] }, Open ]], Cell[CellGroupData[{ Cell[20427, 619, 239, 5, 82, "Input"], Cell[20669, 626, 592, 14, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[21310, 646, 130, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[21465, 652, 129, 2, 82, "Input"], Cell[21597, 656, 326, 6, 184, "Print", CellTags->"Info3418392835-8707629"] }, Open ]], Cell[CellGroupData[{ Cell[21960, 667, 252, 5, 117, "Input"], Cell[22215, 674, 646, 14, 82, "Output"], Cell[22864, 690, 381, 6, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[23294, 702, 130, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[23449, 708, 129, 2, 82, "Input"], Cell[23581, 712, 1110, 17, 830, "Print", CellTags->"Info3418392848-3090341"] }, Open ]], Cell[CellGroupData[{ Cell[24728, 734, 148, 3, 82, "Input"], Cell[24879, 739, 520, 13, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[25436, 757, 186, 3, 82, "Input"], Cell[25625, 762, 508, 11, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[26170, 778, 198, 3, 82, "Input"], Cell[26371, 783, 461, 11, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[26869, 799, 280, 5, 82, "Input"], Cell[27152, 806, 420, 8, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[27609, 819, 182, 3, 82, "Input"], Cell[27794, 824, 230, 4, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[28061, 833, 259, 5, 82, "Input"], Cell[28323, 840, 436, 9, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[28796, 854, 233, 5, 82, "Input"], Cell[29032, 861, 377, 9, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[29458, 876, 124, 2, 72, "Subsection"], Cell[29585, 880, 178, 4, 57, "Input"], Cell[CellGroupData[{ Cell[29788, 888, 178, 3, 82, "Input"], Cell[29969, 893, 252, 5, 150, "Print", CellTags->"Info3418392911-2768743"] }, Open ]], Cell[CellGroupData[{ Cell[30258, 903, 150, 3, 82, "Input"], Cell[30411, 908, 493, 12, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[30941, 925, 172, 3, 82, "Input"], Cell[31116, 930, 463, 10, 82, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[31628, 946, 109, 1, 73, "Subsection"], Cell[CellGroupData[{ Cell[31762, 951, 232, 4, 82, "Input"], Cell[31997, 957, 471, 7, 286, "Print", CellTags->"Info3418392940-7297942"] }, Open ]], Cell[CellGroupData[{ Cell[32505, 969, 230, 5, 82, "Input"], Cell[32738, 976, 846, 19, 117, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[33621, 1000, 289, 7, 82, "Input"], Cell[33913, 1009, 842, 19, 117, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[34804, 1034, 126, 2, 72, "Subsection"], Cell[CellGroupData[{ Cell[34955, 1040, 177, 3, 82, "Input"], Cell[35135, 1045, 385, 8, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[35557, 1058, 179, 3, 82, "Input"], Cell[35739, 1063, 415, 9, 82, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[36215, 1079, 120, 2, 139, "Section"], Cell[36338, 1083, 246, 4, 88, "Text"], Cell[CellGroupData[{ Cell[36609, 1091, 179, 4, 82, "Input"], Cell[36791, 1097, 578, 10, 78, "Message"] }, Open ]], Cell[37384, 1110, 1164, 33, 185, "Input"], Cell[38551, 1145, 121, 1, 55, "Text"], Cell[CellGroupData[{ Cell[38697, 1150, 108, 2, 82, "Input"], Cell[38808, 1154, 3978, 111, 259, "Print"] }, Open ]], Cell[42801, 1268, 191, 4, 55, "Text"], Cell[CellGroupData[{ Cell[43017, 1276, 256, 7, 82, "Input"], Cell[43276, 1285, 161, 3, 82, "Output"] }, Open ]], Cell[43452, 1291, 129, 1, 55, "Text"], Cell[CellGroupData[{ Cell[43606, 1296, 157, 3, 82, "Input"], Cell[43766, 1301, 97, 1, 82, "Output"] }, Open ]], Cell[43878, 1305, 127, 1, 55, "Text"], Cell[CellGroupData[{ Cell[44030, 1310, 202, 5, 82, "Input"], Cell[44235, 1317, 1012, 17, 219, "Output"] }, Open ]], Cell[45262, 1337, 331, 6, 88, "Text"], Cell[CellGroupData[{ Cell[45618, 1347, 379, 9, 117, "Input"], Cell[46000, 1358, 161, 3, 82, "Output"] }, Open ]], Cell[46176, 1364, 105, 1, 55, "Text"], Cell[CellGroupData[{ Cell[46306, 1369, 198, 5, 82, "Input"], Cell[46507, 1376, 981, 17, 219, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[47525, 1398, 132, 2, 82, "Input"], Cell[47660, 1402, 97, 1, 82, "Output"] }, Open ]], Cell[47772, 1406, 339, 6, 121, "Text"], Cell[CellGroupData[{ Cell[48136, 1416, 268, 7, 82, "Input"], Cell[48407, 1425, 214, 5, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[48658, 1435, 175, 5, 82, "Input"], Cell[48836, 1442, 577, 12, 151, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[49450, 1459, 249, 6, 82, "Input"], Cell[49702, 1467, 645, 13, 151, "Output"] }, Open ]], Cell[50362, 1483, 300, 5, 88, "Text"], Cell[CellGroupData[{ Cell[50687, 1492, 342, 9, 82, "Input"], Cell[51032, 1503, 161, 3, 82, "Output"] }, Open ]], Cell[51208, 1509, 108, 1, 55, "Text"], Cell[CellGroupData[{ Cell[51341, 1514, 249, 7, 82, "Input"], Cell[51593, 1523, 786, 19, 117, "Output"] }, Open ]], Cell[52394, 1545, 98, 1, 55, "Text"], Cell[CellGroupData[{ Cell[52517, 1550, 249, 7, 82, "Input"], Cell[52769, 1559, 730, 17, 117, "Output"] }, Open ]], Cell[53514, 1579, 95, 1, 55, "Text"], Cell[CellGroupData[{ Cell[53634, 1584, 249, 7, 82, "Input"], Cell[53886, 1593, 628, 14, 151, "Output"] }, Open ]], Cell[54529, 1610, 164, 3, 55, "Text"], Cell[CellGroupData[{ Cell[54718, 1617, 409, 11, 117, "Input"], Cell[55130, 1630, 161, 3, 82, "Output"] }, Open ]], Cell[55306, 1636, 103, 1, 55, "Text"], Cell[CellGroupData[{ Cell[55434, 1641, 298, 8, 82, "Input"], Cell[55735, 1651, 834, 19, 117, "Output"] }, Open ]], Cell[56584, 1673, 96, 1, 55, "Text"], Cell[CellGroupData[{ Cell[56705, 1678, 302, 8, 82, "Input"], Cell[57010, 1688, 757, 18, 117, "Output"] }, Open ]], Cell[57782, 1709, 97, 1, 55, "Text"], Cell[CellGroupData[{ Cell[57904, 1714, 297, 8, 82, "Input"], Cell[58204, 1724, 655, 15, 151, "Output"] }, Open ]], Cell[58874, 1742, 264, 5, 88, "Text"], Cell[CellGroupData[{ Cell[59163, 1751, 305, 8, 82, "Input"], Cell[59471, 1761, 162, 3, 82, "Output"] }, Open ]], Cell[59648, 1767, 91, 1, 55, "Text"], Cell[CellGroupData[{ Cell[59764, 1772, 199, 5, 82, "Input"], Cell[59966, 1779, 665, 14, 151, "Output"] }, Open ]], Cell[60646, 1796, 209, 4, 55, "Text"], Cell[CellGroupData[{ Cell[60880, 1804, 299, 8, 82, "Input"], Cell[61182, 1814, 159, 3, 82, "Output"] }, Open ]], Cell[61356, 1820, 91, 1, 55, "Text"], Cell[CellGroupData[{ Cell[61472, 1825, 197, 5, 82, "Input"], Cell[61672, 1832, 812, 19, 117, "Output"] }, Open ]], Cell[62499, 1854, 398, 7, 121, "Text"], Cell[CellGroupData[{ Cell[62922, 1865, 343, 9, 82, "Input"], Cell[63268, 1876, 185, 4, 82, "Output"] }, Open ]], Cell[63468, 1883, 93, 1, 55, "Text"], Cell[CellGroupData[{ Cell[63586, 1888, 197, 5, 82, "Input"], Cell[63786, 1895, 797, 22, 117, "Output"] }, Open ]], Cell[64598, 1920, 203, 4, 55, "Text"], Cell[CellGroupData[{ Cell[64826, 1928, 291, 8, 82, "Input"], Cell[65120, 1938, 172, 4, 82, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[65329, 1947, 197, 5, 82, "Input"], Cell[65529, 1954, 802, 22, 151, "Output"] }, Open ]], Cell[66346, 1979, 208, 5, 106, "Subsection"] }, Open ]] } ] *) (* End of internal cache information *)