\(\(\( (*\ 
      HookPsts . \(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(\(nb\ --\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)--\)\ *) \)\(
\)\(
\)\( (*\ 
      Reads\ in\ polynomials\ WP \((x)\)\ for\ the\ posets\ P\ and\ writes\ out\ the\ posets
	
        P\ which\ have\ the\ hook\ length\ property . \ \ Writes\ out\ their\ hook\ lengths
	tp\ a\ parallel\ \(\(file\)\(.\)\)\ *) \)\(
\)\(
\)\( (*\ 
      Utility\ \(Needed : \ \(\(WriteLstOfLst[]\)\(.\)\)\)\ *) \)\(
\)\( (*\ 
      Function\ \(Needed : \ \(\(HookQ[]\)\(.\)\)\)\ *) \)\(
\)\(
\)\( (*\ 
      User\ needs\ to\ specify\ the\ directory, \ the\ poset\ size, \ 
      an\ input\ family
	of\ posets, \ 
      and\ the\ file\ containing\ the\ coefficients\ of\ WP \((x)\)\ for\ every
	poset\ P\ in\ that\ file . \ \ The\ user\ must\ also\ specify\ two\ output\ file\ 
	\(families : \ 
          one\ for\ the\ hook\ length\ posets\ and\ one\ for\ their\ corresponding

        	hook\ \(\(lengths\)\(.\)\)\)\ *) \)\(
\)\(
\)\( (*\ 
      Change\ the\ \(\(directory\)\(:\)\)\ *) \)\(
\)\(\(SetDirectory["J:/isis/home/c/a/cagann/public_html/Posets"];\)\(
\)
    \(<< \ GenrlUtils.m; \ \ \ \ << \ HookUtils.m;\)\(\ \)\(
\)\(
\)
    \(stmem\  = \ MaxMemoryUsed[]; \ sttim\  = \ AbsoluteTime[]; \ 
    stcpu\  = \ TimeUsed[];\)\(
\)\(
\)
    \( (*\ Change\ poset\ \(\(size\)\(:\)\)\ *) \)\(\ \ \)\(psiz\  = \ 
        8;\)\(
\)\(
\)
    \( (*\ 
      Change\ Poset\ input\ file\ \(\(family\)\(:\)\)\ *) \)\(\ \ \ \)\(infam1\  = \ "IDHLcan/idhlcan";\)\(
\)
    \( (*\ 
      Change\ WP \((x)\)\ input\ file\ \(\(family\)\(:\)\)\ *) \)\(\ \ \)\(infam2\  = \ "IDHLCWP/idhlcwp";\)\(
\)
    \( (*\ 
      Change\ Poset\ output\ file\ \(\(family\)\(:\)\)\ *) \)\(\ \ \)\(outfam1\  = \ "IDHLPos/idhlpos";\)\(
\)
    \( (*\ 
      Change\ Hook\ length\ output\ \(\(family\)\(:\)\)\ *) \)\(\ \)\(outfam2\  = \ "IDHLPhl/idhlphl";\)\(
\)\(
\)\( (*\ 
      Apply\ HookQ[]\ to\ each\ WP \((x)\)\ in\ the\ input\ \(\(file\)\(.\)\)\ *) \)\(
\)
    \(hookrslts\  = \ 
        Map[\ 
	HookQ[psiz, #] &, \ 
	
          ReadList[
            StringJoin[infam2, ToString[psiz]]]
];\)\(
\)\(
\)\( (*\ 
      Find\ the\ positions\ of\ the\ hook\ length\ \(\(posets\)\(.\)\)\ *) \)\(
\)
    \(hlplocats\  = \ 
        Most[\ Position[\ hookrslts, \ {__}]\ ];\)\(
\)\(
\)\( (*\ 
      Pick\ out\ the\ hook\ length\ posets\ from\ the\ input\ file\ and\ form\ the\ list
	
        of\ their\ corresponding\ hook\ \(\(lengths\)\(.\)\)\ *) \)\(
\)
    \(hlplist\  = \ 
        Extract[\ ReadList[StringJoin[infam1, ToString[psiz]]], \ 
          hlplocats\ ];\)\(
\)
    \(hlphooks\  = \ Extract[\ hookrslts, \ hlplocats\ ];\)\(
\)\(
\)
    \(WriteLstOfLst[\ StringJoin[outfam1, ToString[psiz]], \ 
        hlplist\ ];\)\(
\)
    \(WriteLstOfLst[\ StringJoin[outfam2, ToString[psiz]], \ 
        hlphooks\ ];\)\(	\)\(
\)\(
\)
    \(emem\  = \ MaxMemoryUsed[]; \ etim\  = \ AbsoluteTime[]; \ 
    ecpu\  = \ TimeUsed[];\)\(
\)
    \(PrntCnsmptn[stmem, emem, sttim, etim, stcpu, ecpu];\)\(
\)\(
\)
    \( (*\ End\ of\ HookPsts . nb . \ *) \)\)\)\)