René's URL Explorer Experiment


Title: Prepare for removal of dependency on numpy.matrix class by murrayrm · Pull Request #292 · python-control/python-control · GitHub

Open Graph Title: Prepare for removal of dependency on numpy.matrix class by murrayrm · Pull Request #292 · python-control/python-control

X Title: Prepare for removal of dependency on numpy.matrix class by murrayrm · Pull Request #292 · python-control/python-control

Description: This PR prepares for removal the dependency of the control package on the numpy.matrix class, which is planned for deprecation at some point in the future. To handle this, a number of changes have been made: A new StateSpaceMatrix class, derived from numpy.ndarray, was created that is used to store the A, B, C, D matrices for a StateSpace system. This class maintains elements as a 2D matrix, so B[:,1] returns a column matrix (shape = (n, 1)). As an ndarray, this expression would normally return a 1D array. The StateSpaceMatrix class also overrides the * and ^ operators to give matrix multiplication and matrix powers (same as numpy.matlab does). This gives better compatibility with (user) code that was using those constructs to operate directly on matrices associated with a system. A new unit test file for the class is also included. There is also a function ssmatrix() that can be used to create a StateSpaceMatrix object (similar to the use of numpy.array to create an numpy.ndarray object). Functions that used to return numpy.matrix objects now return a user-configurable type, set using the use_numpy_matrix or set_ss_matrix_type functions. By default the return type is currently numpy.matrix (for backward compatibility), but calling use_numpy_matrix(False) changes the return type to StateSpaceMatrix. Using set_ss_matrix_type, it is possible to use other subclasses derived from numpy.ndarray (including ndarray itself). A UserWarning is issued whenever numpy.matrix is set or used as the output type. The code in the package as been updated to remove unneeded dependencies on the numpy.matrix class. This mainly involved changing numpy.matrix to numpy.array, but in some cases some additional changes were needed because of the differences between matrices and numpy. With the exception of extracting elements of submatrices, the main package code does not explicitly use the functionality of the StateSpaceMatrix class, so the main use of this class is to provide some backward compatibility for user code that users * and ^ operators (which is fairly common in my own code). All unit test code (in control/tests) has been scrubbed of unnecessary dependence on the numpy.matrix class (except for testing that warning messages are generated and a few other checks for backward compatibility). I did some PEP8 cleaning on statesp.py since there were lots of changes in this file already. The changes were tested with the old unit test files, the new unit test files, and all examples and everything continues to work across all of those variants. Net impact of this PR is that all numpy.matrix deprecation warnings can be removed by calling use_numpy_matrix(False), addressing issue #233. This behavior can be made the default in a future release or when numpy.matrix goes away. There are two situations in which the numpy.matrix deprecation warning can still appear: For backward compatibility, I set things up so that if you pass the StateSpaceMatrix constructor a string then it will call numpy.matrix. This allows all old examples to work without change (but does generate a warning message). It's possible that if a user creates a numpy.matrix object to one of the python-control functions that it could end up generating a copy and that could trigger a warning message. I figure that is the user's fault -:). (Note: this description was updated on 8 Jun 2019 to reflect the changes made in response to comments and responses below.)

Open Graph Description: This PR prepares for removal the dependency of the control package on the numpy.matrix class, which is planned for deprecation at some point in the future. To handle this, a number of changes have...

X Description: This PR prepares for removal the dependency of the control package on the numpy.matrix class, which is planned for deprecation at some point in the future. To handle this, a number of changes have...

Opengraph URL: https://github.com/python-control/python-control/pull/292

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:89a0350c-5894-56a7-e68b-24b0a3a70907
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCEE2:C0F96:1D594F:283322:697BBAC7
html-safe-nonce5a6c52f426893297bd679f47c16d353f2c5d575c70ac6428114cbfa723e4ada0
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRUUyOkMwRjk2OjFENTk0RjoyODMzMjI6Njk3QkJBQzciLCJ2aXNpdG9yX2lkIjoiODEyNTc2MDg0MzY4MjY1OTAxNSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac128a652d894e9d6352350764920b090658bb6b6e1dc046276530f890acaceb4f
hovercard-subject-tagpull_request:270996435
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/python-control/python-control/pull/292/files
twitter:imagehttps://avatars.githubusercontent.com/u/293362?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/293362?s=400&v=4
og:image:altThis PR prepares for removal the dependency of the control package on the numpy.matrix class, which is planned for deprecation at some point in the future. To handle this, a number of changes have...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneab413746e1b95376981dfec4a04b2384a611b96affe802ee3ee6d752200afbb1
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/python-control/python-control git https://github.com/python-control/python-control.git
octolytics-dimension-user_id2285872
octolytics-dimension-user_loginpython-control
octolytics-dimension-repository_id22791752
octolytics-dimension-repository_nwopython-control/python-control
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id22791752
octolytics-dimension-repository_network_root_nwopython-control/python-control
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasebea0e0f1995ab0bb7fa336572c353032cf897ec1
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python-control/python-control/pull/292/changes#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-control%2Fpython-control%2Fpull%2F292%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fpython-control%2Fpython-control%2Fpull%2F292%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=python-control%2Fpython-control
Reloadhttps://github.com/python-control/python-control/pull/292/changes
Reloadhttps://github.com/python-control/python-control/pull/292/changes
Reloadhttps://github.com/python-control/python-control/pull/292/changes
python-control https://github.com/python-control
python-controlhttps://github.com/python-control/python-control
Notifications https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Fork 447 https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Star 2k https://github.com/login?return_to=%2Fpython-control%2Fpython-control
Code https://github.com/python-control/python-control
Issues 87 https://github.com/python-control/python-control/issues
Pull requests 8 https://github.com/python-control/python-control/pulls
Discussions https://github.com/python-control/python-control/discussions
Actions https://github.com/python-control/python-control/actions
Projects 0 https://github.com/python-control/python-control/projects
Wiki https://github.com/python-control/python-control/wiki
Security 0 https://github.com/python-control/python-control/security
Insights https://github.com/python-control/python-control/pulse
Code https://github.com/python-control/python-control
Issues https://github.com/python-control/python-control/issues
Pull requests https://github.com/python-control/python-control/pulls
Discussions https://github.com/python-control/python-control/discussions
Actions https://github.com/python-control/python-control/actions
Projects https://github.com/python-control/python-control/projects
Wiki https://github.com/python-control/python-control/wiki
Security https://github.com/python-control/python-control/security
Insights https://github.com/python-control/python-control/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fpython-control%2Fpython-control%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fpython-control%2Fpython-control%2Fissues%2Fnew%2Fchoose
murrayrmhttps://github.com/murrayrm
python-control:masterhttps://github.com/python-control/python-control/tree/master
murrayrm:np.matrixhttps://github.com/murrayrm/python-control/tree/np.matrix
Conversation 15 https://github.com/python-control/python-control/pull/292
Commits 15 https://github.com/python-control/python-control/pull/292/commits
Checks 0 https://github.com/python-control/python-control/pull/292/checks
Files changed https://github.com/python-control/python-control/pull/292/files
Please reload this pagehttps://github.com/python-control/python-control/pull/292/changes
Prepare for removal of dependency on numpy.matrix class https://github.com/python-control/python-control/pull/292/changes#top
Show all changes 15 commits https://github.com/python-control/python-control/pull/292/files
a4986b6 add StateSpaceMatrix class murrayrm Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/a4986b653a7a3e5f4df514cb5150d0bc8adae0ef
f010542 remove np.matrix dependencies from module code murrayrm Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/f010542d86d34d03269170bb740a04c7db355e86
afc4ef4 remove np.matrix dependencies from tests murrayrm Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/afc4ef48da7d22384aea6a7436d0ec0b96a590f7
14d5c3a add matrix power operation (**) to StateSpaceMatrix murrayrm Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/14d5c3a7c28833a7c91a0d9fa1a88cda969f03be
08f1c51 code cleanup (including PEP8) murrayrm Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/08f1c51915ded86ba1ed1c3b97f2e2b63f4a9bf9
ce42c1c Fix typo in control/statesp.py moorepants Apr 16, 2019 https://github.com/python-control/python-control/pull/292/commits/ce42c1ceb94d6f3e070b2183c87e83c473208fcd
fbc58ec add return_type keyword to functions that previously returned np.matrix murrayrm Apr 17, 2019 https://github.com/python-control/python-control/pull/292/commits/fbc58ecc5e7e9932b86f491925afdaa321451797
2dafd5c Merge branch 'np.matrix' of https://github.com/murrayrm/python-contro… murrayrm Apr 17, 2019 https://github.com/python-control/python-control/pull/292/commits/2dafd5c0973feec180eeb20347edbbbe2916e909
e492f2b Merge branch 'master' into np.matrix murrayrm May 19, 2019 https://github.com/python-control/python-control/pull/292/commits/e492f2b1c0bd3eeb0d9fc3b77033799968269eca
2304807 Merge updates to master and update additional unit tests murrayrm May 31, 2019 https://github.com/python-control/python-control/pull/292/commits/23048073c85fe477f3b4094c0b67d0db8225095d
fe528a8 merge latest master + fix simple conflict murrayrm Jun 1, 2019 https://github.com/python-control/python-control/pull/292/commits/fe528a85b99f271a25fb337fde36867a48d2fc11
d93ea5e implement remaining dunder methods for StateSpace murrayrm Jun 8, 2019 https://github.com/python-control/python-control/pull/292/commits/d93ea5edf35c32fc293a229561192d34adaaaab8
dc333a6 Create config options for using numpy.matrix as state space return type murrayrm Jun 8, 2019 https://github.com/python-control/python-control/pull/292/commits/dc333a6e6ce66e783d720b72d3336d9b83cabfbe
4bba186 skip np.matrix warning checks in py2.7 due to bug in repeated warnings murrayrm Jun 8, 2019 https://github.com/python-control/python-control/pull/292/commits/4bba186789e587d4b23a1ce96ac93ea5815dbe9d
a5126f8 TRV: docstring updates murrayrm Jun 8, 2019 https://github.com/python-control/python-control/pull/292/commits/a5126f8621fcb995429dae3abf8114884f048665
Clear filters https://github.com/python-control/python-control/pull/292/files
Please reload this pagehttps://github.com/python-control/python-control/pull/292/changes
Please reload this pagehttps://github.com/python-control/python-control/pull/292/changes
bdalg.py https://github.com/python-control/python-control/pull/292/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
config.py https://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
frdata.py https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
mateqn.py https://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
modelsimp.py https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
statefbk.py https://github.com/python-control/python-control/pull/292/changes#diff-dbb4a524ae36f7833fa7b5991007098ea0b11b1f8a5d30831c641f5e6d39e0cb
statesp.py https://github.com/python-control/python-control/pull/292/changes#diff-b5aac033a6dd07653e82d9f5a40afaa775010c2d2d5af8beeb159487b566df72
canonical_test.py https://github.com/python-control/python-control/pull/292/changes#diff-dda6fea2b296a2cee218aa811a220fba295b7d357d76a90fdf23620a0834d1b8
convert_test.py https://github.com/python-control/python-control/pull/292/changes#diff-cebcec17ebc58131080d1e205ff7eb7dd87a5354def1adb46964e2a5c08a2140
discrete_test.py https://github.com/python-control/python-control/pull/292/changes#diff-b045dd59ba4d891e79551a3ecefb413f26380b5e65553c4874e406374ce5cd68
frd_test.py https://github.com/python-control/python-control/pull/292/changes#diff-b101ace1745361794d1166464ae9f94082e839fca269eb4f15e1d6150067955c
freqresp_test.py https://github.com/python-control/python-control/pull/292/changes#diff-2683aff019235f249bce1f807365cf2682e0917893484b2c4109bf580f157c77
input_element_int_test.py https://github.com/python-control/python-control/pull/292/changes#diff-ac6120e3daee7ec35bfcfcd1ccd4e5147dbede714008cd10d341d10d6acf6cc5
mateqn_test.py https://github.com/python-control/python-control/pull/292/changes#diff-33d9d8f092632faedfb4ce3c436cb445d1e77133ca1af06d26e124ed5559efec
matlab_test.py https://github.com/python-control/python-control/pull/292/changes#diff-79c20f0d3385778d9d3499c17ebf67060db66785a0eae139486d3e7a468ceb32
modelsimp_test.py https://github.com/python-control/python-control/pull/292/changes#diff-f5ee5e873243b37690868ede3ea4a02a0e4e6b5670095107af0415f40cd86b65
ssmatrix_test.py https://github.com/python-control/python-control/pull/292/changes#diff-9d90a0085d4bc4a9144d9326f3a0d317da96e8ea09925b5ce0d22f98711c967d
statefbk_test.py https://github.com/python-control/python-control/pull/292/changes#diff-90f212319faaca2098d93d660936eab8762ef555c04db53a4b76e6ece773fc1d
statesp_test.py https://github.com/python-control/python-control/pull/292/changes#diff-4c76080acbdea36493458693d93ec10e4e10b2e04ce01c56e8a81567cc1ea0d6
test_control_matlab.py https://github.com/python-control/python-control/pull/292/changes#diff-46acc2524e91303a035ce4f56ef86d3ececfb0f7a28cef60de472471f8f76128
timeresp_test.py https://github.com/python-control/python-control/pull/292/changes#diff-ecf5a23a5f3aa1be4faff8673255c1610fd61b011b8ed010e1dc1497e3d8a9b1
xferfcn_test.py https://github.com/python-control/python-control/pull/292/changes#diff-df824c2e70c14dd722d8f5b8d418f28180aa0d1a8dffa5e4b6271740d58cb2b2
timeresp.py https://github.com/python-control/python-control/pull/292/changes#diff-3200453f1cf62f183f04dbf39d1129d91245c53a9f74675cee6bd384351c45b4
xferfcn.py https://github.com/python-control/python-control/pull/292/changes#diff-0dd9424d3024fc1d5cc8fd67d13efe5703318c4c705526ab0ae216de69ce3de7
control/bdalg.pyhttps://github.com/python-control/python-control/pull/292/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
View file https://github.com/murrayrm/python-control/blob/a5126f8621fcb995429dae3abf8114884f048665/control/bdalg.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/292/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/292/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/292/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
control/config.pyhttps://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
View file https://github.com/murrayrm/python-control/blob/a5126f8621fcb995429dae3abf8114884f048665/control/config.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/292/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/292/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
control/frdata.pyhttps://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
View file https://github.com/murrayrm/python-control/blob/a5126f8621fcb995429dae3abf8114884f048665/control/frdata.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/292/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/292/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
control/mateqn.pyhttps://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
View file https://github.com/murrayrm/python-control/blob/a5126f8621fcb995429dae3abf8114884f048665/control/mateqn.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/292/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
https://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
https://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
https://github.com/python-control/python-control/pull/292/changes#diff-063352893924b087df21a9816e0ee3e35db0bf1ad96e263c6c8f4fa5981995aa
control/modelsimp.pyhttps://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
View file https://github.com/murrayrm/python-control/blob/a5126f8621fcb995429dae3abf8114884f048665/control/modelsimp.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/292/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
https://github.com/python-control/python-control/pull/292/changes#diff-47ef25709027cfe03ce27958643e45485de7bf664578a305643715bdceba9b78
Please reload this pagehttps://github.com/python-control/python-control/pull/292/changes
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.