On Wed, Oct 7, 2009 at 4:39 PM, Brian Granger <ellisonbg....@gmail.com> wrote: > > > On Wed, Oct 7, 2009 at 4:19 PM, Ondrej Certik <ond...@certik.cz> wrote: >> >> On Wed, Oct 7, 2009 at 3:46 PM, Brian Granger <ellisonbg....@gmail.com> >> wrote: >> > Øyvind, >> > >> > It will take me a while to go through everything, but I just read >> > through >> > some of it quickly. It all looks quite >> > powerful and nice. One minor thing and one question: >> > >> > * In various places you use the variable "str." This is dangerous as >> > str is >> > a builtin type (a string). >> > >> > * It is a little awkward to have the occupation #'s stored differently >> > for >> > bosons and fermion. For bosons >> > it looks like you store the list of occupation #'s (dense format) but >> > for >> > fermions, the indices of occupied states >> > (sparse format). Did you do this for performance/algorithmic reasons? >> > For >> > states with a few particles but many states the sparse >> > structure of your fermionic approach would be better, but as the number >> > of >> > particles approaches the number >> > of states, I think the sparse format doesn't give any advantage. I am >> > wondering if we can use the same >> > storage format for both bosons and fermions. Sparse for both? Dense >> > for >> > both? >> > >> > * Am I correct that you are using assumptions to keep track of whether >> > or >> > not an index is above or >> > below the fermi surface. Are you using the new assumptions system? I >> > haven't followed this very >> > closely - Ondrej can you comment on which should be used? >> >> Currently the old system, and once we finish the new system, the new >> system should be used. >> >> However, this: >> >> + �...@property >> + def is_above_fermi(self): >> + """ >> + Does the index of this FermionicOperator allow values above >> fermi? >> + """ >> + return not self.args[0].assumptions0.get("below_fermi") >> >> >> will cause problems, because the new assumption system doesn't store >> the assumptions within the symbols. One could use global assumptions, >> or remember them locally in the instance though and the new system >> should allow to create new assumptions easily. >> >> Why not to store this information in the FermionicOperator(SqOperator) >> instance itself? (And not use assumptions at all?) >> > > But doesn't this seem like a good application of assumptions?
I guess it is. I am just pointing out to make it easy to port to the new assumptions system. Ondrej --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sympy-patches" group. To post to this group, send email to sympy-patches@googlegroups.com To unsubscribe from this group, send email to sympy-patches+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sympy-patches?hl=en -~----------~----~----~----~------~----~------~--~---