From: Scott C. L. <sli...@cd...> - 2016-12-31 01:11:21
|
Branch: refs/heads/master Home: https://github.com/python-control/python-control Commit: 4d70d00255864df2651f8375935d31dd5fc0e7a0 https://github.com/python-control/python-control/commit/4d70d00255864df2651f8375935d31dd5fc0e7a0 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/statesp.py Log Message: ----------- Replaced a loop with a map * The performance remains the same. * The source code is more readable. Commit: 8285cbf2e5b1422e7d497f18574374c6ccfee0fb https://github.com/python-control/python-control/commit/8285cbf2e5b1422e7d497f18574374c6ccfee0fb Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/statesp.py Log Message: ----------- Removed redundant numpy.linalg.solve calls Also improved the error message for the singularity check. Commit: 29e7f950d9979ae87def54f4feb0920584ffa952 https://github.com/python-control/python-control/commit/29e7f950d9979ae87def54f4feb0920584ffa952 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/statefbk.py Log Message: ----------- Numerical improvements in statefbk.py * `numpy.linalg.solve` instead of matrix inversion. * Better controllability matrix rank check. Commit: 443a7e3632eb822deae0379c7176cfae6dacfb09 https://github.com/python-control/python-control/commit/443a7e3632eb822deae0379c7176cfae6dacfb09 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/mateqn.py M control/tests/mateqn_test.py Log Message: ----------- Replaced `inv` with `solve` in mateqns Commit: af36e84759d194950e9577aa9e354809ed57089b https://github.com/python-control/python-control/commit/af36e84759d194950e9577aa9e354809ed57089b Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: A control/tests/canonical_test.py Log Message: ----------- Added a test case for the reachable canon. form Commit: b9e4455fdc0f8f1f9efbf395ed19a0f7b74e482d https://github.com/python-control/python-control/commit/b9e4455fdc0f8f1f9efbf395ed19a0f7b74e482d Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/canonical.py Log Message: ----------- Replaced `inv` with `solve` in canonical forms class Also made unity elements of the A, B matrices float -- just in case. Commit: 1fad4c68344c2c4d76a19b5f2927e1aff5651ba2 https://github.com/python-control/python-control/commit/1fad4c68344c2c4d76a19b5f2927e1aff5651ba2 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/canonical.py M control/tests/canonical_test.py Log Message: ----------- Added a check for unreachable systems to canonical And a corresponding unit test Commit: 863538fe79997c73209ef9c0edbc43eda6b65424 https://github.com/python-control/python-control/commit/863538fe79997c73209ef9c0edbc43eda6b65424 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/modelsimp.py Log Message: ----------- Replaced `inv` with `solve` and LSQ in modelsimp Commit: d5cb4f1e73a0abbcd35e85c86429c3a2feb0b345 https://github.com/python-control/python-control/commit/d5cb4f1e73a0abbcd35e85c86429c3a2feb0b345 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M ChangeLog M control/margins.py M control/mateqn.py M control/modelsimp.py M control/phaseplot.py M control/statesp.py M control/xferfcn.py Log Message: ----------- Fixed "compatability" typo Commit: 6a2d96ffb67487f06a69f949fc2691f8732abbe6 https://github.com/python-control/python-control/commit/6a2d96ffb67487f06a69f949fc2691f8732abbe6 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/tests/statefbk_test.py Log Message: ----------- Removed rank check with a det in a statefbk test Commit: 7b8c9f02c591106bf3c37a4b15f3d0976d7c9229 https://github.com/python-control/python-control/commit/7b8c9f02c591106bf3c37a4b15f3d0976d7c9229 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/modelsimp.py M control/tests/matlab_test.py Log Message: ----------- Added singularity check to the residualization method * Changed the unit test in matlab_test.py so that no error is thrown Commit: 860cbe8f8f5f81f39df99022ed8ef0b52d3f2265 https://github.com/python-control/python-control/commit/860cbe8f8f5f81f39df99022ed8ef0b52d3f2265 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/tests/modelsimp_test.py Log Message: ----------- Added a unit test for residualization of unstable systems Commit: 9a335095c4d8927ba5c6170922a57b148bb79df2 https://github.com/python-control/python-control/commit/9a335095c4d8927ba5c6170922a57b148bb79df2 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/modelsimp.py M control/statefbk.py Log Message: ----------- Refactored code to be more pythonic Mainly list comprehensions instead of for-loops Commit: 71fef4b983d78eb3dc657616b5d51a433f82f396 https://github.com/python-control/python-control/commit/71fef4b983d78eb3dc657616b5d51a433f82f396 Author: mp4096 <mik...@tu...> Date: 2016-11-20 (Sun, 20 Nov 2016) Changed paths: M control/modelsimp.py M control/statefbk.py Log Message: ----------- Check eigenvalues' real part using NumPy Faster than converting to a pure Python list. Commit: c71222af46c1fa7b7a5076eb11e28c7fc85cee9b https://github.com/python-control/python-control/commit/c71222af46c1fa7b7a5076eb11e28c7fc85cee9b Author: Scott C. Livingston <sli...@cd...> Date: 2016-12-30 (Fri, 30 Dec 2016) Changed paths: M ChangeLog M control/canonical.py M control/margins.py M control/mateqn.py M control/modelsimp.py M control/phaseplot.py M control/statefbk.py M control/statesp.py A control/tests/canonical_test.py M control/tests/mateqn_test.py M control/tests/matlab_test.py M control/tests/modelsimp_test.py M control/tests/statefbk_test.py M control/xferfcn.py Log Message: ----------- Merge pull request #101 "Refactored matrix inversions (see #85 and #91)" https://github.com/python-control/python-control/pull/101 Changes are from branch `master` of https://github.com/mp4096/python-control.git There was merge conflict in how a for-loop was refactored into `map` (here) vs. list comprehension (from PR #110). I compared the two alternatives using %timeit of Jupyter for matrices that would correspond to LTI systems with 10 state dimensions, 2 inputs, 2 outputs (so, the A matrix has shape (10, 10), B matrix has shape (10,2), etc.), and with 100 state dimensions, 20 inputs, 20 outputs, all using matrices from numpy.random.random((r,c)). The difference in timing performance does not appear significant. However, the case of `map` was slightly faster (approximately 500 to 900 ns less in duration), so I decided to use that one to resolve the merge conflict. Compare: https://github.com/python-control/python-control/compare/d8b07cb5406d...c71222af46c1 |