Title: Refactored matrix inversions (see #85 and #91) by mp4096 · Pull Request #101 · python-control/python-control · GitHub
Open Graph Title: Refactored matrix inversions (see #85 and #91) by mp4096 · Pull Request #101 · python-control/python-control
X Title: Refactored matrix inversions (see #85 and #91) by mp4096 · Pull Request #101 · python-control/python-control
Description: Continuing work on the issue raised in #85 and partially done in #91: Replaced most of the .Is and invs with numpy.linalg.solve or numpy.linalg.lstsq. The remaining inversions which I didn't touch are in yottalab.py. Is it still used? Where applicable, replaced A\B, A\C by solving A\[B, C] and taking views for the corresponding results. This avoids redundant cubic LU decompositions. Added singularity checks before matrix inversions. Added two unit tests for the reachable canonical form. Refactored an old TODO. Fixed a minor typo: compatability -> compatability I commented out the matrix singularity check in modelsimp.py since it correctly raises an error during testModred() in matlab_test.py. Matrix A22 is indeed numerically singular in this case (second column is something like [[0.0, 3.0e-16]]). Should we change the test case? See comment for bf6c446
Open Graph Description: Continuing work on the issue raised in #85 and partially done in #91: Replaced most of the .Is and invs with numpy.linalg.solve or numpy.linalg.lstsq. The remaining inversions which I didn't t...
X Description: Continuing work on the issue raised in #85 and partially done in #91: Replaced most of the .Is and invs with numpy.linalg.solve or numpy.linalg.lstsq. The remaining inversions which I didn'...
Opengraph URL: https://github.com/python-control/python-control/pull/101
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/checks(.:format) |
| route-controller | pull_requests |
| route-action | checks |
| fetch-nonce | v2:5f53f1ad-bd43-806c-5378-af832ef3236a |
| current-catalog-service-hash | 87dc3bc62d9b466312751bfd5f889726f4f1337bdff4e8be7da7c93d6c00a25a |
| request-id | C378:A7E5F:15B10F6:1DF03E5:697B2698 |
| html-safe-nonce | db156efd6916ffb724c1fa412186751a6e3fbfe507205d66e56a56ddc5367f77 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDMzc4OkE3RTVGOjE1QjEwRjY6MURGMDNFNTo2OTdCMjY5OCIsInZpc2l0b3JfaWQiOiI2MTQ0ODg2NDUwMzM3NTU2MTIwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 2c53148772db417b87f622fae0e2c190c6b7f0e04c7622ee2593fd9399b489f6 |
| hovercard-subject-tag | pull_request:76090457 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,checks,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/python-control/python-control/pull/101/checks |
| twitter:image | https://avatars.githubusercontent.com/u/5394551?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/5394551?s=400&v=4 |
| og:image:alt | Continuing work on the issue raised in #85 and partially done in #91: Replaced most of the .Is and invs with numpy.linalg.solve or numpy.linalg.lstsq. The remaining inversions which I didn't t... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 26ee438f0a804360f1b93f477a85a7932f8df33f19cc3cc6231e1782206b194a |
| turbo-cache-control | no-preview |
| go-import | github.com/python-control/python-control git https://github.com/python-control/python-control.git |
| octolytics-dimension-user_id | 2285872 |
| octolytics-dimension-user_login | python-control |
| octolytics-dimension-repository_id | 22791752 |
| octolytics-dimension-repository_nwo | python-control/python-control |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 22791752 |
| octolytics-dimension-repository_network_root_nwo | python-control/python-control |
| turbo-body-classes | logged-out env-production page-responsive full-width full-width-p-0 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | c845ccd48a615635f346dc49a2d3da3f5224a529 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width