1. 02 Mar, 2021 1 commit
  2. 25 Dec, 2020 1 commit
  3. 22 Dec, 2020 1 commit
  4. 12 Dec, 2019 2 commits
  5. 10 Dec, 2019 4 commits
    • Joseph Weston's avatar
      fix mutation-induced bug in operator · 0e9b82fc
      Joseph Weston authored
      0e9b82fc
    • Joseph Weston's avatar
      add consistency checks when computing onsite and hamiltonian data · 3e950e7c
      Joseph Weston authored
      We get rid of '_is_herm_conj' in favour of '_is_hermitian', replace
      '_check_ham' with '_check_hams' (which works on vectorized values)
      and add '_check_onsites' (which also works on vectorized values).
      Replace absolute value calculation with call to 'cabs' from 'complex.h'
      3e950e7c
    • Joseph Weston's avatar
      implement operator vectorization · 51d678bf
      Joseph Weston authored
      This includes the following changes:
      
      + Group the elements of 'where' according to the term/site-families
        they belong to. This is pre-computed and stored in '_terms'.
        What specifically is stored depends on whether vectorization
        is enabled.
      + BlockSparseMatrix now takes its matrix elements as a sequence
        of pairs 'which, data', where 'which' indexes 'where'. This
        leverages the values stored in '_terms'.
      + Normalize 'onsite' to a function that takes 'site_range' (int)
        and 'site_offsets' (array of int). This facilitates vectorization
        when it is enabled. Previously 'onsite' was normalized to a
      function
        taking 'site' (int), which was not vectorizable.
      + '_eval_onsite' is modified to compose components of '_terms' with
        'onsite'.
      + '_eval_hamiltonian' is modified to compose compoenents of '_terms'
        with 'hamiltonian_term' when vectorized, or 'hamiltonian' when
        not vectorized.
      51d678bf
    • Joseph Weston's avatar
      disallow infinite vectorized systems in operators · 87e1c044
      Joseph Weston authored
      It is not clear how this will be implemented right now.
      87e1c044
  6. 06 Dec, 2019 2 commits
  7. 13 Nov, 2019 3 commits
  8. 28 Aug, 2019 1 commit
  9. 17 Feb, 2019 1 commit
  10. 15 Feb, 2019 1 commit
  11. 11 Feb, 2019 1 commit
  12. 20 Sep, 2018 1 commit
  13. 08 Dec, 2017 1 commit
  14. 12 May, 2017 1 commit
  15. 11 May, 2017 1 commit
  16. 17 Mar, 2017 1 commit
  17. 10 Mar, 2017 1 commit
  18. 21 Feb, 2017 1 commit
    • Joseph Weston's avatar
      allow systems to accept named parameters · 886d083c
      Joseph Weston authored
      Hamiltonian value functions may now have signatures that depend on
      different parameters. On finalization, Builders now inspect all of their
      value functions and store the names of the parameters on which the value
      function depends. Then, when evaluating the Hamiltonian, a particular
      value function is only passed the parameters on which it depends.
      
      'System.hamiltonian' has been updated to accept an extra keyword-only
      parameter, 'params', which is a dictionary mapping parameter names to
      values. This is mutually exclusive with the existing '*args'. All
      top-level API that takes an 'args' parameter now also takes a
      keyword-only parameter, 'params'
      886d083c
  19. 02 Feb, 2017 2 commits
    • Joseph Weston's avatar
      correctly document `__call__` for operators · 8fc151eb
      Joseph Weston authored
      Also improve the documentation for operators in general.
      
      special methods are not included by autodocs by default, and
      as class documentation pages are generated by autosummary,
      we cannot just explicitly include __call__. We get around this
      by using a custom autosummary template for the operator classes.
      
      For cython extension modules, the method signature for __call__
      is still not embedded properly.
      See https://github.com/cython/cython/issues/1577.
      8fc151eb
    • Jörg Behrmann's avatar
      Fix several compiler warnings. · a6283d7e
      Jörg Behrmann authored
      This patch fixes the reasons for compiler warnings in
       - partitioner (signed unsigned comparison),
       - graph/util (maybe uninitialized),
       - operator (maybe uninitialized).
      a6283d7e
  20. 24 Jan, 2017 1 commit
  21. 22 Jan, 2017 1 commit
  22. 21 Jan, 2017 1 commit
  23. 17 Jan, 2017 1 commit
  24. 12 Jan, 2017 2 commits
    • Joseph Weston's avatar
      correct semantics of operator calling · c27b2a53
      Joseph Weston authored
      Previously, calling an operator would spuriously return a float
      when the operator was hermitian, even if the bra/ket vectors
      sandwiching the operator were not the same.
      c27b2a53
    • Joseph Weston's avatar
      refactor operator module to remove compile-time warnings · 7dbf4d50
      Joseph Weston authored
      Explicitly initialize pointers to NULL, refrain from using
      pythonic constructs, e.g. `a or b`, with cython extension types;
      this causes cython to produce (correct) code where pointers are
      not cast to the correct type.
      7dbf4d50
  25. 15 Dec, 2016 1 commit
    • Joseph Weston's avatar
      modify operator API and condense docstrings. · a705ad6f
      Joseph Weston authored
      + References to numpy arrays are removed from docstrings, instead
        general sequences are accepted
      
      + `__call__` no longer returns `where`
      
      + a `sum` attribute was added (and the corresponding arg in __init__. If
        sum==True then __call__ evaluates ∑_{iαβ} φ*_α Q_{iαβ} ψ_β. If
        sum==False then __call__ evaluates ∑_{αβ} φ*_α Q_{iαβ} ψ_β (i.e. no sum
        over the site/hopping index i.
      a705ad6f
  26. 30 Aug, 2016 1 commit
  27. 04 Aug, 2016 1 commit