Opened 3 years ago

Closed 3 years ago

#24175 closed enhancement (fixed)

Optimizations to generating rigged configurations

Reported by: tscrim Owned by:
Priority: major Milestone: sage-8.1
Component: performance Keywords: rigged configurations, crystals
Cc: sage-combinat, aschilling, bsalisbury01 Merged in:
Authors: Travis Scrimshaw Reviewers: Ben Salisbury
Report Upstream: N/A Work issues:
Branch: 65df5a1 (Commits) Commit: 65df5a1a720fb949838ad045aa4a526a3631f047
Dependencies: #24141 Stopgaps:

Description

We get more speed by

  • Faster method to compute phi and _calc_vacancy_number for i = oo.
  • Cythonization of RiggedPartition.

Note #24141 is not a strict dependency, but it does take those optimizations of the Kleber tree further.

Change History (3)

comment:1 Changed 3 years ago by tscrim

  • Branch set to public/combinat/optimize_rc_generation-24175
  • Commit set to 65df5a1a720fb949838ad045aa4a526a3631f047
  • Status changed from new to needs_review
sage: RC = RiggedConfigurations(['F',4,1], [[3,9]])
sage: K = RC.kleber_tree()
sage: %time len(RC.module_generators)
CPU times: user 3.4 s, sys: 92 ms, total: 3.49 s
Wall time: 3.32 s
71009
sage: %time L = [mg.weight() for mg in RC.module_generators]
CPU times: user 4.82 s, sys: 56 ms, total: 4.87 s
Wall time: 4.78 s

vs 8.1.beta9 with #24141:

sage: %time len(RC.module_generators)
CPU times: user 4.12 s, sys: 80 ms, total: 4.2 s
Wall time: 4.18 s
71009
sage: %time L = [mg.weight() for mg in RC.module_generators]
CPU times: user 7.42 s, sys: 52 ms, total: 7.47 s
Wall time: 7.42 s

New commits:

82bc1fbInitial optimization to avoid polytopes for small number of possible choices.
65df5a1Faster _calc_vacancy_number and phi. Cythonized RiggedPartition.

comment:2 Changed 3 years ago by bsalisbury1

  • Reviewers set to Ben Salisbury
  • Status changed from needs_review to positive_review

comment:3 Changed 3 years ago by vbraun

  • Branch changed from public/combinat/optimize_rc_generation-24175 to 65df5a1a720fb949838ad045aa4a526a3631f047
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.