Commit Graph

906 Commits

Author SHA1 Message Date
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
Marek Nečada e971aa0e79 Fix single translation coefficients.
Former-commit-id: 1c045d994bb46ed16350d294bacc9203854cd2ea
2019-08-19 10:29:02 +03:00
Marek Nečada 9ea487df84 translations.c return accidentally deleted function,
remove more legacy stuff


Former-commit-id: 6bb2033234a893e85a0242c10156a700bd2d3ceb
2019-08-19 09:29:14 +03:00
Marek Nečada 8b9c5a794c translations legacy code removal
Former-commit-id: 98e883f9c7586208623acca05585f747dc57f911
2019-08-19 08:01:59 +03:00
Marek Nečada 0b0ebf2bce Start modifying the tests structure.
Former-commit-id: 2e95b72fb3258fddd75a3b9c2ab23aa53b0a9d9a
2019-08-17 13:57:24 +03:00
Marek Nečada 5820de30ef Ewald.h doxygen
Former-commit-id: b89871b97680d5262637e7c1af2186c1d1307a84
2019-08-17 13:31:38 +03:00
Marek Nečada 7b8e7d39e5 Branch hints in frequently used inlines
Former-commit-id: aff247930de71d535e5cb455828f993b244053a2
2019-08-17 12:02:08 +03:00
Marek Nečada 3e427f35ae Additional notes for axially symmetric particles
Former-commit-id: 989527ac17b0daea7abb3b15a71ae66d9ae224bf
2019-08-16 12:57:40 +03:00
Marek Nečada 3e6f004605 Compiler warnings, doxygen fixes
Former-commit-id: 2686ab2db0a61327db1ef5ce3799f3e88fea0f49
2019-08-16 11:17:59 +03:00
Marek Nečada 03188d43f7 Fix the integrand for axially symmetric T-matrices.
Forgotten jacobian, FFS.


Former-commit-id: f9a409bd1f5af78bb460d4bd3a9aadf78cebc2a7
2019-08-16 10:05:23 +03:00
Marek Nečada 5e2dcf2100 VSWFNorm IntFlag / IntEnum fallback
Former-commit-id: f1cc46f208bdceac972409836a238a56966277a4
2019-08-15 15:19:54 +03:00
Marek Nečada 4bbdfbfbfc Convenience methods in cymaterials
Former-commit-id: dc27285f1d23c0cda3c9d80fe073aafc86f77277
2019-08-15 14:27:36 +03:00
Marek Nečada 5a9219a4f6 Expose single vswf functions to cython.
Former-commit-id: 7fd1183cdab2d6f60b446879a875dab4d673da73
2019-08-14 11:04:42 +03:00
Marek Nečada 1bf9c0b44e Cython bindings for "pi, tau" functions
Former-commit-id: 74edc5a7a431a190150c4e1cbb3563809c6b9c01
2019-08-13 17:18:39 +03:00