Commit Graph

919 Commits

Author SHA1 Message Date
Marek Nečada 6cecad6d18 mpqs refactoring minor stuff
Former-commit-id: c17570e41047a309cc76bbe485309acfcac6e82a
2019-11-10 20:10:26 +02:00
Marek Nečada 345352dbd5 mpqs_t minor refactoring
Former-commit-id: 79a252c00ab7bf0f8d6c05d68be5b0adae51f9a6
2019-11-10 15:12:42 +02:00
Marek Nečada 1ea9d9cb47 mpqs_t multiplication and simple initialisation.
Former-commit-id: 2d2a5df78e1d0b47e300569c352e7758a0e64f94
2019-11-10 00:24:08 +02:00
Marek Nečada fa15871bd9 mpqs_t basics (addition, substraction) now compile (not yet tested)
Former-commit-id: 6bf0dd8553d514fe187ea5b4f6f8ff7a2752362e
2019-11-08 20:56:39 +02:00
Marek Nečada 34e52a42cf WIP mpqs_t
Former-commit-id: c0a46a1a7f0f00e1950a067f74440bd40e695db9
2019-11-06 00:22:20 +02:00
Marek Nečada 706073315b WIP mpzs_hh_t
Former-commit-id: 5df48ddb3c9aac26887c81c54d71b47173b9ec0d
2019-11-01 04:40:17 +02:00
Marek Nečada c0ec5389e0 WIP polynomials etc.
Former-commit-id: 546c139f9cce0686c1b3065403beaa769bd7b55b
2019-10-29 14:00:09 +02:00
Troy D. Hanson & al 6b5b773d0b Add uthash.h
Former-commit-id: 8bbe0ac9bdbc0e6b30c5b3c2af51b34f4f4dd4a3
2019-10-28 13:41:54 +02:00
Marek Nečada 57a1206dcc A new polynomial class with "square root of rationals" coeffs.
Former-commit-id: 4f06dc080b45dc0e89f5899dce728fb340cd6ef8
2019-10-27 09:45:08 +02:00
Marek Nečada 0c5a38371f qpq_t ointer mixing for _mul and _div, fix last merge.
Former-commit-id: 4c7a5de21c8c783ae4af4781b77f8b0d3babd6e3
2019-10-25 21:03:55 +03:00
Marek Nečada 5f77fd9386 Merge branch 'gmp_integration' of necada:~/repo/qpms into gmp_integration
Former-commit-id: 7d6118efbb06d1cee0eb3e89afc4aeb65665d023
2019-10-25 20:43:46 +03:00
Marek Nečada 8db97686e5 Polynomial division, bug fixes, enhancements.
- Addition and substraction fixed, supports result and operand mixing.


Former-commit-id: 0a53db4cd1fee70c6cf77a6ea2c65840de6d3ca1
2019-10-25 20:40:05 +03:00
Marek Nečada d6b3951dc2 "Legendroid" data structure
Former-commit-id: 34908e2933a0aae79c46d665c2abe20ab5504eed
2019-10-22 06:42:36 +03:00
Marek Nečada b4ac597771 qpq cython wrapper class, bug fixes
The new cython module qpms.cypolynomials requires gmpy2 version 2.1 or
higher.


Former-commit-id: 10198a7341437620f5a493d16a217bf6014e2759
2019-10-20 21:26:20 +03:00
Marek Nečada 25d1eced26 qpq_t element assignment functionality
Former-commit-id: 63edc3b1f27209af18932f6fd8f284c1859eb40d
2019-10-19 14:34:09 +03:00
Marek Nečada a4df0139b9 Polynomials with rational coeffs: basic functionality.
Untested.


Former-commit-id: d89daafeb73b498aab73c4a1c67823f3044499b2
2019-10-15 16:30:13 +03:00
Marek Nečada 3f5aaacbf2 First draft of essential polynomial arithmetic functionality.
Former-commit-id: f34d258aaffbd52c4e4d251f5b6f1ff3733e3a08
2019-10-13 18:08:15 +03:00
Marek Nečada 4ca003ec8b CMake scripts for finding GMP
Former-commit-id: 7ac8c4899598b44afa36300dd962a2173c07d1c1
2019-10-09 14:29:38 +03:00
Marek Nečada 4dd3234b0a Remove the branch cut at negative real axis in Ewald sum.
Move the cut to the negative imaginary axis instead.

Also update comments.


Former-commit-id: a70e6a4db0ac33836d672d9ee2356ea19a899a30
2019-10-09 13:20:20 +03:00
Marek Nečada acff55f396 Extend hardcoded T-matrix similarity tolerance.
Also some cython functions->properties.


Former-commit-id: 4a0605b1cf8b857c681f194a475ff3f10e7dfe71
2019-10-07 15:15:34 +03:00
Marek Nečada e7f0e0131f Basic branch selection functionality for incomplete Γ.
No modifications with effects on Ewald sums done yet.


Former-commit-id: e362341713ce306482386b9e6f2a48c336fad7a1
2019-10-06 01:30:29 +03:00
Marek Nečada 2dd9fe2f34 Minor stuff.
Former-commit-id: c0de35f6a52ce4cc4f34cf4b417364d92e8dac4d
2019-10-05 20:38:04 +03:00
Marek Nečada aa86fcfb08 Expose low-level scalar Ewald sums via cython.
Former-commit-id: 9910decff1e8e91c802f0f8d10573ec430dda468
2019-10-03 00:52:14 +03:00
Marek Nečada 2d891be12f ewald.h cleanup
Former-commit-id: c02360cfa9df1dac06897883115cafc98a912107
2019-10-02 20:11:25 +03:00
Marek Nečada 0239a3c9a1 Fix memset size in Mie T-matrix generator.
Former-commit-id: 244dad82dec42fdc1e08cc12205e373711465622
2019-10-02 17:53:01 +03:00
Marek Nečada c7f2e32ee4 Free unfinished PGens from Ewald sums.
Also replace some bare `if (xxx) abort();` with
`QPMS_ENSURE_SUCCESS(xxx)`.


Former-commit-id: d4712292fe0f9fb397cf3a490131bcb37d542fa6
2019-10-01 11:29:15 +03:00
Marek Nečada 7e74cb100c Experimental speedup by earlier cutoff for Ewald summation.
TODO check whether PGen is properly destroyed


Former-commit-id: db2c64292b9c1bd80e97255bf71e570385b409a4
2019-09-30 17:57:06 +03:00
Marek Nečada 67f93e461c Ewald translation calculator function using base specs.
Former-commit-id: d49880caa280cc089fa688d0cdeccb95db7cb64b
2019-09-23 08:59:18 +03:00
Marek Nečada e8a2426b55 Handle k->0 in Ewald sum.
Former-commit-id: fb61b297ead4828541b763b2ecdb0c81de1d35f1
2019-09-16 12:37:32 +03:00
Marek Nečada ecbf5b10d4 Fix infinite loop in empty lattice modes generation
Former-commit-id: 1349035090712935a0d77d64c175e4358fb4d487
2019-09-13 16:20:39 +03:00
Marek Nečada b45bdcd49a Bug fixes mostly in lattice generators.
Former-commit-id: 1fbed5865f20b7191b31fe24d263bd16baca7fa7
2019-09-13 15:51:19 +03:00
Marek Nečada e910de936e 2d empty lattice modes pxd; fix a corner case.
Former-commit-id: aa33c85a6a0d2107caef752900690f471cc6350f
2019-09-13 13:18:23 +03:00
Marek Nečada 0f03509dde Mode frequency calculations for empty lattices.
Former-commit-id: ca14f8d765399c5bf92bb64cc7f1dc6722d53ebb
2019-09-13 11:52:56 +03:00
Marek Nečada 658c564a0c Some 3D lattice functionality, little refactoring.
Former-commit-id: 8e6572c7352e3b9a75bc13585d688f1c72d378e1
2019-09-07 11:23:16 +03:00
Marek Nečada c632ee36c5 QPMS_UNLIKELY macros to qpms_error.h
Former-commit-id: d879a2105fd35a7d17f090842b03286fd310fbc1
2019-09-02 12:03:27 +03:00
Marek Nečada 4d4ab9936b Variable Lovász condition parameter
Former-commit-id: 726d5c1b1dc03a5b11f8d7b32e6bf589efec369d
2019-08-25 21:17:23 +03:00
Marek Nečada 953132e4c9 Force doubles in the LLL-reduced array in numpy.
Former-commit-id: 70cffb53ff5b15515da8dd8ac18f74721f2c3b48
2019-08-25 19:27:45 +03:00
Marek Nečada 0ea3510575 Lenstra-Lenstra-Lovász lattice basis reduction.
Former-commit-id: 3ada9f1ebf783d07c31671fd81cb6f7d6fe6187b
2019-08-25 18:58:05 +03:00
Marek Nečada 947f499bbf Print the argument return value in QPMS_ENSURE_SUCCESS.
Former-commit-id: 2aa9742b6bb1a10b963a197419af7ef57b7999c1
2019-08-23 11:26:22 +03:00
Marek Nečada 32c9c2a434 qpms_error.h remove implicit dependency on stdbool.h
Former-commit-id: 8d6d3f0cf0e33e8f9401559625f7b3261d140cd6
2019-08-23 09:40:45 +03:00
Marek Nečada cbbdec5963 Fix test for k != 0
Former-commit-id: e7a3099c4a28631129c07f82a71abc3edacfb7e5
2019-08-21 11:42:24 +03:00
Marek Nečada d91fdc2e80 More scalar Ewald tests (some pass!)
Former-commit-id: 85c3f542c317a7f7bb94bf8833a840d5cf82288d
2019-08-21 11:26:28 +03:00
Marek Nečada ad3d2d8071 Fix incomplete gamma via continued fractions for complex z.
Former-commit-id: 13ae61b958919bfcca2d3828bc7d38b0b6cbf77b
2019-08-20 17:31:43 +03:00
Marek Nečada ce905eb0a4 Expose my incomplete gamma function in Python.
More sophisticated GSL error handling


Former-commit-id: 4233d01d8aff64b00502c55cb50b54faa5c25ceb
2019-08-20 12:46:28 +03:00
Marek Nečada baad6b75aa Briefer test output
Former-commit-id: 31ebc020e2de9578cef908ff9d3b42cf7fcb6451
2019-08-20 08:52:23 +03:00
Marek Nečada a66f04a8c2 Continuos fractions for incomplete gamma, extending the domain a bit.
Former-commit-id: 838b5bd6c34d37348253aa21f45bb7601c8a6abb
2019-08-19 16:54:44 +03:00
Marek Nečada 20fac6036f Complex wave number for ewald sum (failing) + unit test.
Former-commit-id: a6c5e566028602ecd1047bc0b44677a4eeae3046
2019-08-19 15:10:39 +03:00
Marek Nečada 02e4e9c308 Some doxygen to ewald.h
Former-commit-id: aa68c91e6e6546b36a73c1c315e074f74905657e
2019-08-19 12:02:22 +03:00
Marek Nečada a20a5ac067 ewald translations legacy code removal
Former-commit-id: da74041f5105d6b3a3f9fe3ddaa7306e973bd440
2019-08-19 10:55:45 +03:00
Marek Nečada a5604bf0bc Merge branch 'master' into translations_cleanup
Former-commit-id: 80437d49a0bea655e3560aabc5a7b6dc7061aedc
2019-08-19 10:29:31 +03:00