1 2(SDEFUN |SGCF;numberOfImproperPartitionsInternal| 3 ((|n| |Integer|) (|m| |Integer|) (|cm| |Integer|) ($ |Integer|)) 4 (SPROG ((|s| (|Integer|)) (#1=#:G413 NIL) (|i| NIL)) 5 (SEQ 6 (COND ((EQL |n| 0) (SPADCALL |m| |cm| (QREFELT $ 8))) 7 ('T 8 (SEQ (COND ((EQL |cm| 0) (COND ((> |n| 0) (EXIT 0))))) 9 (LETT |s| 0) 10 (SEQ (LETT |i| 0) (LETT #1# (- |n| 1)) G190 11 (COND ((|greater_SI| |i| #1#) (GO G191))) 12 (SEQ 13 (EXIT 14 (LETT |s| 15 (+ |s| 16 (|SGCF;numberOfImproperPartitionsInternal| 17 |i| |m| (- |cm| 1) $))))) 18 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 19 (EXIT NIL)) 20 (EXIT |s|))))))) 21 22(SDEFUN |SGCF;numberOfImproperPartitions;3I;2| 23 ((|n| |Integer|) (|m| |Integer|) ($ |Integer|)) 24 (SPROG ((|s| (|Integer|)) (#1=#:G418 NIL) (|i| NIL) (#2=#:G417 NIL)) 25 (SEQ 26 (EXIT 27 (SEQ 28 (COND 29 ((OR (< |n| 0) (< |m| 1)) 30 (PROGN (LETT #2# 0) (GO #3=#:G416)))) 31 (COND 32 ((OR (EQL |m| 1) (EQL |n| 0)) 33 (PROGN (LETT #2# 1) (GO #3#)))) 34 (LETT |s| 0) 35 (SEQ (LETT |i| 0) (LETT #1# |n|) G190 36 (COND ((|greater_SI| |i| #1#) (GO G191))) 37 (SEQ 38 (EXIT 39 (LETT |s| 40 (+ |s| 41 (SPADCALL (- |n| |i|) (- |m| 1) 42 (QREFELT $ 9)))))) 43 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 44 (EXIT |s|))) 45 #3# (EXIT #2#)))) 46 47(SDEFUN |SGCF;unrankImproperPartitions0;3IL;3| 48 ((|n| |Integer|) (|m| |Integer|) (|k| |Integer|) 49 ($ |List| (|Integer|))) 50 (SPROG 51 ((|l| (|List| (|Integer|))) (#1=#:G427 NIL) (|s| #2=(|Integer|)) 52 (|sOld| #2#) (#3=#:G429 NIL) (|y| NIL) (#4=#:G428 NIL) (|t| NIL)) 53 (SEQ (LETT |l| NIL) 54 (EXIT 55 (COND 56 ((< |k| 0) (|error| "counting of partitions is started at 0")) 57 ((>= |k| (SPADCALL |n| |m| (QREFELT $ 9))) 58 (|error| "there are not so many partitions")) 59 ('T 60 (SEQ 61 (SEQ (LETT |t| 0) (LETT #4# (- |m| 2)) G190 62 (COND ((|greater_SI| |t| #4#) (GO G191))) 63 (SEQ (LETT |s| 0) 64 (SEQ 65 (EXIT 66 (SEQ (LETT |y| 0) (LETT #3# |n|) G190 67 (COND ((|greater_SI| |y| #3#) (GO G191))) 68 (SEQ (LETT |sOld| |s|) 69 (LETT |s| 70 (+ |s| 71 (SPADCALL (- |n| |y|) 72 (- (- |m| |t|) 1) 73 (QREFELT $ 9)))) 74 (EXIT 75 (COND 76 ((> |s| |k|) 77 (PROGN 78 (LETT #1# |$NoValue|) 79 (GO #5=#:G420)))))) 80 (LETT |y| (|inc_SI| |y|)) (GO G190) G191 81 (EXIT NIL))) 82 #5# (EXIT #1#)) 83 (LETT |l| 84 (SPADCALL |l| (SPADCALL |y| (QREFELT $ 11)) 85 (QREFELT $ 12))) 86 (LETT |k| (- |k| |sOld|)) 87 (EXIT (LETT |n| (- |n| |y|)))) 88 (LETT |t| (|inc_SI| |t|)) (GO G190) G191 (EXIT NIL)) 89 (LETT |l| 90 (SPADCALL |l| (SPADCALL |n| (QREFELT $ 11)) 91 (QREFELT $ 12))) 92 (EXIT |l|)))))))) 93 94(SDEFUN |SGCF;unrankImproperPartitions1;3IL;4| 95 ((|n| |Integer|) (|m| . #1=(|Integer|)) (|k| |Integer|) 96 ($ |List| (|Integer|))) 97 (SPROG 98 ((#2=#:G442 NIL) (|i| NIL) (|nonZeroPos| (|List| (|Integer|))) 99 (|nonZeros| (|List| (|Integer|))) (#3=#:G441 NIL) 100 (|s| #4=(|Integer|)) (|sOld| #4#) (|y| NIL) (|cm| #1#) 101 (|partition| (|Vector| (|Integer|))) (#5=#:G431 NIL)) 102 (SEQ (LETT |nonZeros| NIL) 103 (LETT |partition| 104 (MAKEARR1 105 (PROG1 (LETT #5# |m|) 106 (|check_subtype2| (>= #5# 0) '(|NonNegativeInteger|) 107 '(|Integer|) #5#)) 108 0)) 109 (EXIT 110 (COND 111 ((OR (< |k| 0) (>= |k| (SPADCALL |n| |m| (QREFELT $ 9)))) 112 |nonZeros|) 113 ('T 114 (SEQ (LETT |cm| |m|) 115 (SEQ G190 116 (COND 117 ((NULL (SPADCALL |n| 0 (QREFELT $ 15))) (GO G191))) 118 (SEQ (LETT |s| 0) (LETT |cm| (- |cm| 1)) 119 (SEQ 120 (EXIT 121 (SEQ (LETT |y| |n|) G190 122 (COND ((< |y| 1) (GO G191))) 123 (SEQ (LETT |sOld| |s|) 124 (LETT |s| 125 (+ |s| 126 (|SGCF;numberOfImproperPartitionsInternal| 127 (- |n| |y|) |m| |cm| $))) 128 (EXIT 129 (COND 130 ((> |s| |k|) 131 (PROGN 132 (LETT #3# |$NoValue|) 133 (GO #6=#:G433)))))) 134 (LETT |y| (+ |y| -1)) (GO G190) G191 135 (EXIT NIL))) 136 #6# (EXIT #3#)) 137 (LETT |nonZeros| 138 (SPADCALL |nonZeros| 139 (SPADCALL |y| (QREFELT $ 11)) 140 (QREFELT $ 12))) 141 (LETT |k| (- |k| |sOld|)) 142 (EXIT (LETT |n| (- |n| |y|)))) 143 NIL (GO G190) G191 (EXIT NIL)) 144 (LETT |nonZeroPos| 145 (REVERSE 146 (SPADCALL |m| (- |m| |cm|) |k| (QREFELT $ 16)))) 147 (SEQ (LETT |i| 1) (LETT #2# (- |m| |cm|)) G190 148 (COND ((|greater_SI| |i| #2#) (GO G191))) 149 (SEQ 150 (EXIT 151 (SPADCALL |partition| 152 (+ 1 153 (SPADCALL |nonZeroPos| |i| 154 (QREFELT $ 17))) 155 (SPADCALL |nonZeros| |i| (QREFELT $ 17)) 156 (QREFELT $ 19)))) 157 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 158 (EXIT (SPADCALL |partition| (QREFELT $ 20)))))))))) 159 160(SDEFUN |SGCF;subSet;3IL;5| 161 ((|n| |Integer|) (|m| . #1=(|Integer|)) (|k| . #2=(|Integer|)) 162 ($ |List| (|Integer|))) 163 (SPROG 164 ((|s| #1#) (|mm| #2#) (|l| (|List| (|Integer|))) (#3=#:G451 NIL) 165 (#4=#:G453 NIL) (|y| NIL) (#5=#:G452 NIL) (|t| NIL) 166 (|bin| (|Integer|))) 167 (SEQ 168 (COND 169 ((OR (OR (OR (< |k| 0) (< |n| 0)) (< |m| 0)) (> |m| |n|)) 170 (|error| "improper argument to subSet")) 171 ('T 172 (SEQ (LETT |bin| (SPADCALL |n| |m| (QREFELT $ 8))) 173 (EXIT 174 (COND 175 ((>= |k| |bin|) (|error| "there are not so many subsets")) 176 (#6='T 177 (SEQ (LETT |l| NIL) 178 (EXIT 179 (COND ((EQL |n| 0) |l|) 180 (#6# 181 (SEQ (LETT |mm| |k|) (LETT |s| |m|) 182 (SEQ (LETT |t| 0) (LETT #5# (- |m| 1)) 183 G190 184 (COND 185 ((|greater_SI| |t| #5#) (GO G191))) 186 (SEQ 187 (SEQ 188 (EXIT 189 (SEQ (LETT |y| (- |s| 1)) 190 (LETT #4# (+ |n| 1)) G190 191 (COND 192 ((> |y| #4#) (GO G191))) 193 (SEQ 194 (EXIT 195 (COND 196 ((> 197 (SPADCALL |y| |s| 198 (QREFELT $ 199 8)) 200 |mm|) 201 (PROGN 202 (LETT #3# |$NoValue|) 203 (GO #7=#:G444)))))) 204 (LETT |y| (+ |y| 1)) 205 (GO G190) G191 (EXIT NIL))) 206 #7# (EXIT #3#)) 207 (LETT |l| 208 (SPADCALL |l| 209 (SPADCALL (- |y| 1) 210 (QREFELT 211 $ 11)) 212 (QREFELT $ 12))) 213 (LETT |mm| 214 (- |mm| 215 (SPADCALL (- |y| 1) |s| 216 (QREFELT $ 8)))) 217 (EXIT (LETT |s| (- |s| 1)))) 218 (LETT |t| (|inc_SI| |t|)) (GO G190) 219 G191 (EXIT NIL)) 220 (EXIT |l|))))))))))))))) 221 222(SDEFUN |SGCF;nextLatticePermutation;2LBL;6| 223 ((|lambda| |List| #1=(|Integer|)) (|lattP| |List| (|Integer|)) 224 (|constructNotFirst| |Boolean|) ($ |List| (|Integer|))) 225 (SPROG 226 ((#2=#:G484 NIL) (|l| NIL) (|i| NIL) 227 (|rightPosition| #3=(|NonNegativeInteger|)) (#4=#:G472 NIL) 228 (|j| (|NonNegativeInteger|)) (#5=#:G483 NIL) (|ready| (|Boolean|)) 229 (|leftEntry| #6=(|NonNegativeInteger|)) (#7=#:G464 NIL) 230 (|rightEntry| #6#) (#8=#:G482 NIL) (#9=#:G463 NIL) 231 (|help| (|Vector| (|Integer|))) (|n| #3#) (#10=#:G462 NIL) 232 (#11=#:G460 NIL) (#12=#:G459 #1#) (#13=#:G461 #1#) (#14=#:G481 NIL) 233 (#15=#:G400 NIL) (|rows| (|NonNegativeInteger|)) (#16=#:G455 NIL) 234 (|columns| (|NonNegativeInteger|)) (#17=#:G454 NIL) 235 (|lprime| (|List| (|Integer|)))) 236 (SEQ (LETT |lprime| (SPADCALL |lambda| (QREFELT $ 23))) 237 (LETT |columns| 238 (PROG1 (LETT #17# (|SPADfirst| |lambda|)) 239 (|check_subtype2| (>= #17# 0) '(|NonNegativeInteger|) 240 '(|Integer|) #17#))) 241 (LETT |rows| 242 (PROG1 (LETT #16# (|SPADfirst| |lprime|)) 243 (|check_subtype2| (>= #16# 0) '(|NonNegativeInteger|) 244 '(|Integer|) #16#))) 245 (LETT |n| 246 (PROG1 247 (LETT #10# 248 (PROGN 249 (LETT #11# NIL) 250 (SEQ (LETT #15# NIL) (LETT #14# |lambda|) G190 251 (COND 252 ((OR (ATOM #14#) 253 (PROGN (LETT #15# (CAR #14#)) NIL)) 254 (GO G191))) 255 (SEQ 256 (EXIT 257 (PROGN 258 (LETT #13# #15#) 259 (COND (#11# (LETT #12# (+ #12# #13#))) 260 ('T 261 (PROGN 262 (LETT #12# #13#) 263 (LETT #11# 'T))))))) 264 (LETT #14# (CDR #14#)) (GO G190) G191 265 (EXIT NIL)) 266 (COND (#11# #12#) (#18='T 0)))) 267 (|check_subtype2| (>= #10# 0) '(|NonNegativeInteger|) 268 '(|Integer|) #10#))) 269 (EXIT 270 (COND 271 (|constructNotFirst| 272 (SEQ (LETT |help| (MAKEARR1 |columns| 0)) 273 (LETT |rightPosition| |n|) 274 (LETT |leftEntry| 275 (PROG1 276 (LETT #9# 277 (SPADCALL |lattP| |rightPosition| 278 (QREFELT $ 17))) 279 (|check_subtype2| (>= #9# 0) 280 '(|NonNegativeInteger|) 281 '(|Integer|) #9#))) 282 (LETT |ready| NIL) 283 (SEQ (LETT #8# NIL) G190 (COND (#8# (GO G191))) 284 (SEQ (LETT |rightEntry| |leftEntry|) 285 (LETT |leftEntry| 286 (PROG1 287 (LETT #7# 288 (SPADCALL |lattP| 289 (- |rightPosition| 1) 290 (QREFELT $ 17))) 291 (|check_subtype2| (>= #7# 0) 292 '(|NonNegativeInteger|) 293 '(|Integer|) #7#))) 294 (SPADCALL |help| |rightEntry| 295 (+ 296 (SPADCALL |help| |rightEntry| 297 (QREFELT $ 24)) 298 1) 299 (QREFELT $ 19)) 300 (COND 301 ((> |rightEntry| |leftEntry|) 302 (COND 303 ((> 304 (- 305 (SPADCALL |lprime| |leftEntry| 306 (QREFELT $ 17)) 307 (SPADCALL |help| |leftEntry| 308 (QREFELT $ 24))) 309 (+ 310 (- 311 (SPADCALL |lprime| |rightEntry| 312 (QREFELT $ 17)) 313 (SPADCALL |help| |rightEntry| 314 (QREFELT $ 24))) 315 1)) 316 (SEQ (LETT |ready| 'T) 317 (LETT |j| (+ |leftEntry| 1)) 318 (SEQ G190 319 (COND 320 ((NULL 321 (COND 322 ((EQL 323 (SPADCALL |help| |j| 324 (QREFELT $ 24)) 325 0) 326 'T) 327 ('T 328 (< 329 (- 330 (SPADCALL |lprime| 331 |leftEntry| 332 (QREFELT $ 17)) 333 (SPADCALL |lprime| |j| 334 (QREFELT $ 17))) 335 (+ 336 (- 337 (SPADCALL |help| 338 |leftEntry| 339 (QREFELT $ 24)) 340 (SPADCALL |help| |j| 341 (QREFELT $ 342 24))) 343 2))))) 344 (GO G191))) 345 (SEQ (EXIT (LETT |j| (+ |j| 1)))) 346 NIL (GO G190) G191 (EXIT NIL)) 347 (SPADCALL |lattP| 348 (- |rightPosition| 1) |j| 349 (QREFELT $ 25)) 350 (SPADCALL |help| |j| 351 (- 352 (SPADCALL |help| |j| 353 (QREFELT $ 24)) 354 1) 355 (QREFELT $ 19)) 356 (SPADCALL |help| |leftEntry| 357 (+ 358 (SPADCALL |help| 359 |leftEntry| 360 (QREFELT $ 24)) 361 1) 362 (QREFELT $ 19)) 363 (EXIT 364 (SEQ (LETT |l| |rightPosition|) 365 (LETT #5# |n|) G190 366 (COND ((> |l| #5#) (GO G191))) 367 (SEQ (LETT |j| 0) 368 (SEQ G190 369 (COND 370 ((NULL 371 (EQL 372 (SPADCALL |help| 373 (+ 1 374 |j|) 375 (QREFELT 376 $ 24)) 377 0)) 378 (GO G191))) 379 (SEQ 380 (EXIT 381 (LETT |j| 382 (+ |j| 1)))) 383 NIL (GO G190) G191 384 (EXIT NIL)) 385 (SPADCALL |lattP| |l| 386 (+ |j| 1) 387 (QREFELT $ 25)) 388 (EXIT 389 (SPADCALL |help| (+ 1 |j|) 390 (- 391 (SPADCALL 392 |help| 393 (+ 1 |j|) 394 (QREFELT $ 395 24)) 396 1) 397 (QREFELT $ 398 19)))) 399 (LETT |l| (+ |l| 1)) (GO G190) 400 G191 (EXIT NIL)))))))) 401 (LETT |rightPosition| 402 (PROG1 (LETT #4# (- |rightPosition| 1)) 403 (|check_subtype2| (>= #4# 0) 404 '(|NonNegativeInteger|) 405 '(|Integer|) #4#))) 406 (EXIT 407 (COND 408 ((EQL |rightPosition| 1) 409 (LETT |constructNotFirst| NIL))))) 410 (LETT #8# 411 (COND 412 ((OR |ready| (NULL |constructNotFirst|)) 'T) 413 ('T NIL))) 414 (GO G190) G191 (EXIT NIL)) 415 (EXIT (COND (|constructNotFirst| |lattP|) (#18# NIL))))) 416 (#18# 417 (SEQ (LETT |lattP| NIL) 418 (SEQ (LETT |i| |columns|) G190 419 (COND ((< |i| 1) (GO G191))) 420 (SEQ 421 (EXIT 422 (SEQ (LETT |l| 1) 423 (LETT #2# 424 (SPADCALL |lprime| |i| (QREFELT $ 17))) 425 G190 426 (COND ((|greater_SI| |l| #2#) (GO G191))) 427 (SEQ 428 (EXIT (LETT |lattP| (CONS |i| |lattP|)))) 429 (LETT |l| (|inc_SI| |l|)) (GO G190) G191 430 (EXIT NIL)))) 431 (LETT |i| (+ |i| -1)) (GO G190) G191 (EXIT NIL)) 432 (EXIT |lattP|)))))))) 433 434(SDEFUN |SGCF;makeYoungTableau;2LM;7| 435 ((|lambda| |List| (|Integer|)) (|gitter| |List| (|Integer|)) 436 ($ |Matrix| (|Integer|))) 437 (SPROG 438 ((|i| (|Integer|)) (|j| (|Integer|)) (#1=#:G491 NIL) (|l| NIL) 439 (|help| (|Vector| (|Integer|))) (|ytab| (|Matrix| (|Integer|))) 440 (|rows| (|NonNegativeInteger|)) (#2=#:G486 NIL) 441 (|columns| (|NonNegativeInteger|)) (#3=#:G485 NIL) 442 (|lprime| (|List| (|Integer|)))) 443 (SEQ (LETT |lprime| (SPADCALL |lambda| (QREFELT $ 23))) 444 (LETT |columns| 445 (PROG1 (LETT #3# (|SPADfirst| |lambda|)) 446 (|check_subtype2| (>= #3# 0) '(|NonNegativeInteger|) 447 '(|Integer|) #3#))) 448 (LETT |rows| 449 (PROG1 (LETT #2# (|SPADfirst| |lprime|)) 450 (|check_subtype2| (>= #2# 0) '(|NonNegativeInteger|) 451 '(|Integer|) #2#))) 452 (LETT |ytab| (MAKE_MATRIX1 |rows| |columns| 0)) 453 (LETT |help| (MAKEARR1 |columns| 1)) (LETT |i| -1) (LETT |j| 0) 454 (SEQ (LETT |l| 1) (LETT #1# (LENGTH |gitter|)) G190 455 (COND ((|greater_SI| |l| #1#) (GO G191))) 456 (SEQ (LETT |j| (SPADCALL |gitter| |l| (QREFELT $ 17))) 457 (LETT |i| (+ |i| 1)) 458 (SPADCALL |ytab| (SPADCALL |help| |j| (QREFELT $ 24)) 459 |j| |i| (QREFELT $ 28)) 460 (EXIT 461 (SPADCALL |help| |j| 462 (+ (SPADCALL |help| |j| (QREFELT $ 24)) 1) 463 (QREFELT $ 19)))) 464 (LETT |l| (|inc_SI| |l|)) (GO G190) G191 (EXIT NIL)) 465 (EXIT |ytab|)))) 466 467(SDEFUN |SGCF;listYoungTableaus;LL;8| 468 ((|lambda| |List| (|Integer|)) ($ |List| (|Matrix| (|Integer|)))) 469 (SPROG 470 ((|lattice| (|List| (|Integer|))) 471 (|younglist| (|List| (|Matrix| (|Integer|)))) 472 (|ytab| (|Matrix| (|Integer|))) (#1=#:G496 NIL)) 473 (SEQ (LETT |younglist| NIL) 474 (LETT |lattice| (SPADCALL |lambda| |lattice| NIL (QREFELT $ 26))) 475 (SEQ (LETT #1# NIL) G190 (COND (#1# (GO G191))) 476 (SEQ 477 (LETT |ytab| (SPADCALL |lambda| |lattice| (QREFELT $ 29))) 478 (LETT |younglist| 479 (SPADCALL |younglist| (LIST |ytab|) (QREFELT $ 31))) 480 (EXIT 481 (LETT |lattice| 482 (SPADCALL |lambda| |lattice| 'T (QREFELT $ 26))))) 483 (LETT #1# (NULL |lattice|)) (GO G190) G191 (EXIT NIL)) 484 (EXIT |younglist|)))) 485 486(SDEFUN |SGCF;nextColeman;2L2M;9| 487 ((|alpha| |List| (|Integer|)) (|beta| |List| (|Integer|)) 488 (C |Matrix| (|Integer|)) ($ |Matrix| (|Integer|))) 489 (SPROG 490 ((|vrest| #1=(|Vector| (|Integer|))) 491 (|coleman| (|Matrix| (|Integer|))) (|succ| (|Vector| (|Integer|))) 492 (#2=#:G512 NIL) (|i| (|NonNegativeInteger|)) (#3=#:G505 NIL) 493 (|j| (|Integer|)) (#4=#:G498 NIL) (#5=#:G511 NIL) (#6=#:G497 NIL) 494 (|cnull| (|Matrix| (|Integer|))) (|vzero| #1#) 495 (|vnull| (|Vector| (|Integer|))) (|ncol| #7=(|NonNegativeInteger|)) 496 (|nrow| #7#)) 497 (SEQ 498 (EXIT 499 (SEQ (LETT |nrow| (LENGTH |beta|)) (LETT |ncol| (LENGTH |alpha|)) 500 (LETT |vnull| (SPADCALL NIL (QREFELT $ 33))) 501 (LETT |vzero| (MAKEARR1 |ncol| 0)) 502 (LETT |vrest| (MAKEARR1 |ncol| 0)) 503 (LETT |cnull| (MAKE_MATRIX1 1 1 0)) 504 (LETT |coleman| (SPADCALL C (QREFELT $ 34))) 505 (COND 506 ((SPADCALL |coleman| |cnull| (QREFELT $ 35)) 507 (SEQ 508 (LETT |i| 509 (PROG1 (LETT #6# (- |nrow| 1)) 510 (|check_subtype2| (>= #6# 0) '(|NonNegativeInteger|) 511 '(|Integer|) #6#))) 512 (LETT |vrest| 513 (SPADCALL (SPADCALL |coleman| |i| (QREFELT $ 36)) 514 (SPADCALL |coleman| |nrow| (QREFELT $ 36)) 515 (QREFELT $ 37))) 516 (LETT |succ| 517 (SPADCALL |vrest| 518 (SPADCALL |coleman| |i| (QREFELT $ 36)) 519 (SPADCALL |beta| |i| (QREFELT $ 17)) 520 (QREFELT $ 38))) 521 (SEQ G190 522 (COND 523 ((NULL (SPADCALL |succ| |vnull| (QREFELT $ 39))) 524 (GO G191))) 525 (SEQ 526 (COND 527 ((EQL |i| 1) 528 (PROGN (LETT #5# |cnull|) (GO #8=#:G510)))) 529 (LETT |i| 530 (PROG1 (LETT #4# (- |i| 1)) 531 (|check_subtype2| (>= #4# 0) 532 '(|NonNegativeInteger|) 533 '(|Integer|) #4#))) 534 (LETT |vrest| 535 (SPADCALL |vrest| 536 (SPADCALL |coleman| |i| 537 (QREFELT $ 36)) 538 (QREFELT $ 37))) 539 (EXIT 540 (LETT |succ| 541 (SPADCALL |vrest| 542 (SPADCALL |coleman| |i| 543 (QREFELT $ 36)) 544 (SPADCALL |beta| |i| (QREFELT $ 17)) 545 (QREFELT $ 38))))) 546 NIL (GO G190) G191 (EXIT NIL)) 547 (LETT |j| |i|) 548 (LETT |coleman| 549 (SPADCALL |coleman| |i| |succ| (QREFELT $ 40))) 550 (EXIT 551 (LETT |vrest| 552 (SPADCALL |vrest| 553 (SPADCALL |coleman| |i| (QREFELT $ 36)) 554 (QREFELT $ 41)))))) 555 ('T 556 (SEQ (LETT |vrest| (SPADCALL |alpha| (QREFELT $ 33))) 557 (LETT |coleman| (MAKE_MATRIX1 |nrow| |ncol| 0)) 558 (EXIT (LETT |j| 0))))) 559 (SEQ 560 (LETT |i| 561 (PROG1 (LETT #3# (+ |j| 1)) 562 (|check_subtype2| (>= #3# 0) '(|NonNegativeInteger|) 563 '(|Integer|) #3#))) 564 (LETT #2# (- |nrow| 1)) G190 (COND ((> |i| #2#) (GO G191))) 565 (SEQ 566 (LETT |succ| 567 (SPADCALL |vrest| |vnull| 568 (SPADCALL |beta| |i| (QREFELT $ 17)) 569 (QREFELT $ 38))) 570 (LETT |coleman| 571 (SPADCALL |coleman| |i| |succ| (QREFELT $ 40))) 572 (EXIT 573 (LETT |vrest| (SPADCALL |vrest| |succ| (QREFELT $ 41))))) 574 (LETT |i| (+ |i| 1)) (GO G190) G191 (EXIT NIL)) 575 (EXIT (SPADCALL |coleman| |nrow| |vrest| (QREFELT $ 40))))) 576 #8# (EXIT #5#)))) 577 578(SDEFUN |SGCF;nextPartition;2VIV;10| 579 ((|gamma| |Vector| (|Integer|)) (|part| |Vector| (|Integer|)) 580 (|number| |Integer|) ($ |Vector| (|Integer|))) 581 (SPADCALL (SPADCALL |gamma| (QREFELT $ 20)) |part| |number| 582 (QREFELT $ 43))) 583 584(SDEFUN |SGCF;nextPartition;LVIV;11| 585 ((|gamma| |List| (|Integer|)) (|part| |Vector| (|Integer|)) 586 (|number| |Integer|) ($ |Vector| (|Integer|))) 587 (SPROG 588 ((#1=#:G526 NIL) (|k| NIL) (|j| (|NonNegativeInteger|)) 589 (|sum| (|Integer|)) (|i| (|NonNegativeInteger|)) (#2=#:G525 NIL) 590 (|vnull| (|Vector| (|Integer|))) (|n| (|NonNegativeInteger|))) 591 (SEQ 592 (EXIT 593 (SEQ (LETT |n| (LENGTH |gamma|)) (LETT |vnull| (MAKE-ARRAY 0)) 594 (COND 595 ((SPADCALL |part| |vnull| (QREFELT $ 44)) 596 (SEQ (LETT |i| 2) 597 (LETT |sum| (SPADCALL |part| 1 (QREFELT $ 24))) 598 (SEQ G190 599 (COND 600 ((NULL 601 (COND 602 ((EQL (SPADCALL |part| |i| (QREFELT $ 24)) 603 (SPADCALL |gamma| |i| (QREFELT $ 17))) 604 'T) 605 ('T (EQL |sum| 0)))) 606 (GO G191))) 607 (SEQ 608 (LETT |sum| 609 (+ |sum| 610 (SPADCALL |part| |i| (QREFELT $ 24)))) 611 (LETT |i| (+ |i| 1)) 612 (EXIT 613 (COND 614 ((EQL |i| (+ 1 |n|)) 615 (PROGN (LETT #2# |vnull|) (GO #3=#:G524)))))) 616 NIL (GO G190) G191 (EXIT NIL)) 617 (LETT |sum| (- |sum| 1)) 618 (EXIT 619 (SPADCALL |part| |i| 620 (+ (SPADCALL |part| |i| (QREFELT $ 24)) 1) 621 (QREFELT $ 19))))) 622 ('T 623 (SEQ (LETT |sum| |number|) (LETT |part| (MAKEARR1 |n| 0)) 624 (EXIT (LETT |i| (+ 1 |n|)))))) 625 (LETT |j| 1) 626 (SEQ G190 627 (COND 628 ((NULL (> |sum| (SPADCALL |gamma| |j| (QREFELT $ 17)))) 629 (GO G191))) 630 (SEQ 631 (SPADCALL |part| |j| 632 (SPADCALL |gamma| |j| (QREFELT $ 17)) 633 (QREFELT $ 19)) 634 (LETT |sum| 635 (- |sum| (SPADCALL |gamma| |j| (QREFELT $ 17)))) 636 (EXIT (LETT |j| (+ |j| 1)))) 637 NIL (GO G190) G191 (EXIT NIL)) 638 (SPADCALL |part| |j| |sum| (QREFELT $ 19)) 639 (SEQ (LETT |k| (+ |j| 1)) (LETT #1# (- |i| 1)) G190 640 (COND ((> |k| #1#) (GO G191))) 641 (SEQ (EXIT (SPADCALL |part| |k| 0 (QREFELT $ 19)))) 642 (LETT |k| (+ |k| 1)) (GO G190) G191 (EXIT NIL)) 643 (EXIT |part|))) 644 #3# (EXIT #2#)))) 645 646(SDEFUN |SGCF;inverseColeman;2LML;12| 647 ((|alpha| |List| (|Integer|)) (|beta| |List| (|Integer|)) 648 (C |Matrix| (|Integer|)) ($ |List| (|Integer|))) 649 (SPROG 650 ((|pi| (|List| (|Integer|))) (#1=#:G538 NIL) (|k| NIL) (#2=#:G537 NIL) 651 (|i| NIL) (#3=#:G536 NIL) (|j| NIL) (|sum| (|Integer|)) 652 (#4=#:G535 NIL) (|help| (|Vector| (|Integer|))) 653 (|ncol| #5=(|NonNegativeInteger|)) (|nrow| #5#)) 654 (SEQ (LETT |pi| NIL) (LETT |nrow| (LENGTH |beta|)) 655 (LETT |ncol| (LENGTH |alpha|)) (LETT |help| (MAKEARR1 |nrow| 0)) 656 (LETT |sum| 1) 657 (SEQ (LETT |i| 1) (LETT #4# |nrow|) G190 658 (COND ((|greater_SI| |i| #4#) (GO G191))) 659 (SEQ (SPADCALL |help| |i| |sum| (QREFELT $ 19)) 660 (EXIT 661 (LETT |sum| 662 (+ |sum| 663 (SPADCALL |beta| |i| (QREFELT $ 17)))))) 664 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 665 (SEQ (LETT |j| 1) (LETT #3# |ncol|) G190 666 (COND ((|greater_SI| |j| #3#) (GO G191))) 667 (SEQ 668 (EXIT 669 (SEQ (LETT |i| 1) (LETT #2# |nrow|) G190 670 (COND ((|greater_SI| |i| #2#) (GO G191))) 671 (SEQ 672 (EXIT 673 (SEQ (LETT |k| 2) 674 (LETT #1# 675 (+ 1 676 (SPADCALL C |i| |j| (QREFELT $ 45)))) 677 G190 (COND ((|greater_SI| |k| #1#) (GO G191))) 678 (SEQ 679 (LETT |pi| 680 (SPADCALL |pi| 681 (SPADCALL 682 (SPADCALL |help| |i| 683 (QREFELT $ 24)) 684 (QREFELT $ 11)) 685 (QREFELT $ 12))) 686 (EXIT 687 (SPADCALL |help| |i| 688 (+ 689 (SPADCALL |help| |i| 690 (QREFELT $ 24)) 691 1) 692 (QREFELT $ 19)))) 693 (LETT |k| (|inc_SI| |k|)) (GO G190) G191 694 (EXIT NIL)))) 695 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 696 (EXIT NIL)))) 697 (LETT |j| (|inc_SI| |j|)) (GO G190) G191 (EXIT NIL)) 698 (EXIT |pi|)))) 699 700(SDEFUN |SGCF;coleman;3LM;13| 701 ((|alpha| |List| (|Integer|)) (|beta| |List| (|Integer|)) 702 (|pi| |List| (|Integer|)) ($ |Matrix| (|Integer|))) 703 (SPROG 704 ((#1=#:G556 NIL) (|j| NIL) (|betasum| #2=(|NonNegativeInteger|)) 705 (#3=#:G548 NIL) (|help| (|List| (|Integer|))) (#4=#:G546 NIL) 706 (#5=#:G555 NIL) (|i| NIL) (|temp| (|List| (|List| (|Integer|)))) 707 (|alphasum| #2#) (#6=#:G542 NIL) (#7=#:G540 NIL) (#8=#:G554 NIL) 708 (|colematrix| (|Matrix| (|Integer|))) 709 (|ncol| #9=(|NonNegativeInteger|)) (|nrow| #9#)) 710 (SEQ (LETT |nrow| (LENGTH |beta|)) (LETT |ncol| (LENGTH |alpha|)) 711 (LETT |temp| NIL) (LETT |help| NIL) 712 (LETT |colematrix| (MAKE_MATRIX1 |nrow| |ncol| 0)) 713 (LETT |betasum| 0) (LETT |alphasum| 0) 714 (SEQ (LETT |i| 1) (LETT #8# |ncol|) G190 715 (COND ((|greater_SI| |i| #8#) (GO G191))) 716 (SEQ (LETT |help| NIL) 717 (SEQ (LETT |j| (SPADCALL |alpha| |i| (QREFELT $ 17))) 718 G190 (COND ((< |j| 1) (GO G191))) 719 (SEQ 720 (EXIT 721 (LETT |help| 722 (CONS 723 (SPADCALL |pi| 724 (+ 725 (PROG1 (LETT #7# |j|) 726 (|check_subtype2| (>= #7# 0) 727 '(|NonNegativeInteger|) 728 '(|Integer|) 729 #7#)) 730 |alphasum|) 731 (QREFELT $ 17)) 732 |help|)))) 733 (LETT |j| (+ |j| -1)) (GO G190) G191 (EXIT NIL)) 734 (LETT |alphasum| 735 (PROG1 736 (LETT #6# 737 (+ |alphasum| 738 (SPADCALL |alpha| |i| 739 (QREFELT $ 17)))) 740 (|check_subtype2| (>= #6# 0) 741 '(|NonNegativeInteger|) 742 '(|Integer|) #6#))) 743 (EXIT 744 (LETT |temp| 745 (SPADCALL |temp| 746 (SPADCALL |help| (QREFELT $ 48)) 747 (QREFELT $ 49))))) 748 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 749 (SEQ (LETT |i| 1) (LETT #5# |nrow|) G190 750 (COND ((|greater_SI| |i| #5#) (GO G191))) 751 (SEQ (LETT |help| NIL) 752 (SEQ (LETT |j| (SPADCALL |beta| |i| (QREFELT $ 17))) 753 G190 (COND ((< |j| 1) (GO G191))) 754 (SEQ 755 (EXIT 756 (LETT |help| 757 (CONS 758 (+ 759 (PROG1 (LETT #4# |j|) 760 (|check_subtype2| (>= #4# 0) 761 '(|NonNegativeInteger|) 762 '(|Integer|) #4#)) 763 |betasum|) 764 |help|)))) 765 (LETT |j| (+ |j| -1)) (GO G190) G191 (EXIT NIL)) 766 (LETT |betasum| 767 (PROG1 768 (LETT #3# 769 (+ |betasum| 770 (SPADCALL |beta| |i| 771 (QREFELT $ 17)))) 772 (|check_subtype2| (>= #3# 0) 773 '(|NonNegativeInteger|) 774 '(|Integer|) #3#))) 775 (EXIT 776 (SEQ (LETT |j| 1) (LETT #1# |ncol|) G190 777 (COND ((|greater_SI| |j| #1#) (GO G191))) 778 (SEQ 779 (EXIT 780 (SPADCALL |colematrix| |i| |j| 781 (SPADCALL 782 (SPADCALL 783 (SPADCALL |help| (QREFELT $ 51)) 784 (SPADCALL 785 (SPADCALL |temp| |j| 786 (QREFELT $ 52)) 787 (QREFELT $ 51)) 788 (QREFELT $ 53)) 789 (QREFELT $ 55)) 790 (QREFELT $ 28)))) 791 (LETT |j| (|inc_SI| |j|)) (GO G190) G191 792 (EXIT NIL)))) 793 (LETT |i| (|inc_SI| |i|)) (GO G190) G191 (EXIT NIL)) 794 (EXIT |colematrix|)))) 795 796(DECLAIM (NOTINLINE |SymmetricGroupCombinatoricFunctions;|)) 797 798(DEFUN |SymmetricGroupCombinatoricFunctions| () 799 (SPROG NIL 800 (PROG (#1=#:G558) 801 (RETURN 802 (COND 803 ((LETT #1# 804 (HGET |$ConstructorCache| 805 '|SymmetricGroupCombinatoricFunctions|)) 806 (|CDRwithIncrement| (CDAR #1#))) 807 ('T 808 (UNWIND-PROTECT 809 (PROG1 810 (CDDAR 811 (HPUT |$ConstructorCache| 812 '|SymmetricGroupCombinatoricFunctions| 813 (LIST 814 (CONS NIL 815 (CONS 1 816 (|SymmetricGroupCombinatoricFunctions;|)))))) 817 (LETT #1# T)) 818 (COND 819 ((NOT #1#) 820 (HREM |$ConstructorCache| 821 '|SymmetricGroupCombinatoricFunctions|)))))))))) 822 823(DEFUN |SymmetricGroupCombinatoricFunctions;| () 824 (SPROG ((|dv$| NIL) ($ NIL) (|pv$| NIL)) 825 (PROGN 826 (LETT |dv$| '(|SymmetricGroupCombinatoricFunctions|)) 827 (LETT $ (GETREFV 57)) 828 (QSETREFV $ 0 |dv$|) 829 (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL))) 830 (|haddProp| |$ConstructorCache| 831 '|SymmetricGroupCombinatoricFunctions| NIL (CONS 1 $)) 832 (|stuffDomainSlots| $) 833 (SETF |pv$| (QREFELT $ 3)) 834 $))) 835 836(MAKEPROP '|SymmetricGroupCombinatoricFunctions| '|infovec| 837 (LIST 838 '#(NIL NIL NIL NIL NIL NIL (|Integer|) 839 (|IntegerCombinatoricFunctions| 6) (0 . |binomial|) 840 |SGCF;numberOfImproperPartitions;3I;2| (|List| 6) (6 . |list|) 841 (11 . |append|) |SGCF;unrankImproperPartitions0;3IL;3| 842 (|Boolean|) (17 . ~=) |SGCF;subSet;3IL;5| (23 . |elt|) 843 (|Vector| 6) (29 . |setelt!|) (36 . |entries|) 844 |SGCF;unrankImproperPartitions1;3IL;4| 845 (|PartitionsAndPermutations|) (41 . |conjugate|) (46 . |elt|) 846 (52 . |setelt!|) |SGCF;nextLatticePermutation;2LBL;6| 847 (|Matrix| 6) (59 . |setelt!|) |SGCF;makeYoungTableau;2LM;7| 848 (|List| 27) (67 . |append|) |SGCF;listYoungTableaus;LL;8| 849 (73 . |vector|) (78 . |copy|) (83 . ~=) (89 . |row|) (95 . +) 850 |SGCF;nextPartition;2VIV;10| (101 . =) (107 . |setRow!|) 851 (114 . -) |SGCF;nextColeman;2L2M;9| |SGCF;nextPartition;LVIV;11| 852 (120 . ~=) (126 . |elt|) |SGCF;inverseColeman;2LML;12| 853 (|List| 10) (133 . |list|) (138 . |append|) (|Set| 6) 854 (144 . |set|) (149 . |elt|) (155 . |intersect|) 855 (|NonNegativeInteger|) (161 . |#|) |SGCF;coleman;3LM;13|) 856 '#(|unrankImproperPartitions1| 166 |unrankImproperPartitions0| 173 857 |subSet| 180 |numberOfImproperPartitions| 187 |nextPartition| 193 858 |nextLatticePermutation| 207 |nextColeman| 214 |makeYoungTableau| 859 221 |listYoungTableaus| 227 |inverseColeman| 232 |coleman| 239) 860 'NIL 861 (CONS (|makeByteWordVec2| 1 '(0)) 862 (CONS '#(NIL) 863 (CONS 864 '#((|Join| 865 (|mkCategory| 866 (LIST 867 '((|coleman| 868 ((|Matrix| (|Integer|)) (|List| (|Integer|)) 869 (|List| (|Integer|)) (|List| (|Integer|)))) 870 T) 871 '((|inverseColeman| 872 ((|List| (|Integer|)) (|List| (|Integer|)) 873 (|List| (|Integer|)) (|Matrix| (|Integer|)))) 874 T) 875 '((|listYoungTableaus| 876 ((|List| (|Matrix| (|Integer|))) 877 (|List| (|Integer|)))) 878 T) 879 '((|makeYoungTableau| 880 ((|Matrix| (|Integer|)) (|List| (|Integer|)) 881 (|List| (|Integer|)))) 882 T) 883 '((|nextColeman| 884 ((|Matrix| (|Integer|)) (|List| (|Integer|)) 885 (|List| (|Integer|)) (|Matrix| (|Integer|)))) 886 T) 887 '((|nextLatticePermutation| 888 ((|List| (|Integer|)) (|List| (|Integer|)) 889 (|List| (|Integer|)) (|Boolean|))) 890 T) 891 '((|nextPartition| 892 ((|Vector| (|Integer|)) (|Vector| (|Integer|)) 893 (|Vector| (|Integer|)) (|Integer|))) 894 T) 895 '((|nextPartition| 896 ((|Vector| (|Integer|)) (|List| (|Integer|)) 897 (|Vector| (|Integer|)) (|Integer|))) 898 T) 899 '((|numberOfImproperPartitions| 900 ((|Integer|) (|Integer|) (|Integer|))) 901 T) 902 '((|subSet| 903 ((|List| (|Integer|)) (|Integer|) (|Integer|) 904 (|Integer|))) 905 T) 906 '((|unrankImproperPartitions0| 907 ((|List| (|Integer|)) (|Integer|) (|Integer|) 908 (|Integer|))) 909 T) 910 '((|unrankImproperPartitions1| 911 ((|List| (|Integer|)) (|Integer|) (|Integer|) 912 (|Integer|))) 913 T)) 914 (LIST) NIL NIL))) 915 (|makeByteWordVec2| 56 916 '(2 7 6 6 6 8 1 10 0 6 11 2 10 0 0 917 0 12 2 6 14 0 0 15 2 10 6 0 6 17 918 3 18 6 0 6 6 19 1 18 10 0 20 1 22 919 10 10 23 2 18 6 0 6 24 3 10 6 0 6 920 6 25 4 27 6 0 6 6 6 28 2 30 0 0 0 921 31 1 18 0 10 33 1 27 0 0 34 2 27 922 14 0 0 35 2 27 18 0 6 36 2 18 0 0 923 0 37 2 18 14 0 0 39 3 27 0 0 6 18 924 40 2 18 0 0 0 41 2 18 14 0 0 44 3 925 27 6 0 6 6 45 1 47 0 10 48 2 47 0 926 0 0 49 1 50 0 10 51 2 47 10 0 6 927 52 2 50 0 0 0 53 1 50 54 0 55 3 0 928 10 6 6 6 21 3 0 10 6 6 6 13 3 0 929 10 6 6 6 16 2 0 6 6 6 9 3 0 18 18 930 18 6 38 3 0 18 10 18 6 43 3 0 10 931 10 10 14 26 3 0 27 10 10 27 42 2 932 0 27 10 10 29 1 0 30 10 32 3 0 10 933 10 10 27 46 3 0 27 10 10 10 934 56))))) 935 '|lookupComplete|)) 936 937(MAKEPROP '|SymmetricGroupCombinatoricFunctions| 'NILADIC T) 938