René's URL Explorer Experiment


Title: Update I/O system repr() and str() by murrayrm · Pull Request #1091 · python-control/python-control · GitHub

Open Graph Title: Update I/O system repr() and str() by murrayrm · Pull Request #1091 · python-control/python-control

X Title: Update I/O system repr() and str() by murrayrm · Pull Request #1091 · python-control/python-control

Description: This PR provides updates to the string representations of I/O systems, including both the __repr__ and __str__ functions (used for repr(), str(), and print()) as well as LaTeX output (via _repr_html_): Created a set of standard _repr_* formats for InputOutputSystem's that can be overridden in subclasses to get the most useful representations based on the system type, using method names similar to _repr_latex_ used by Jupyter notebooks: _repr_info_: generates a minimal description of the I/O system in the form [output list][, dt=timebase]>. This is the default format that exists for all I/O systems. The inclusion of the timebase is new. _repr_eval_: generates an "evaluatable" description of the I/O system, if possible (otherwise return _repr_info_()). This is used in LTI systems to show the state space matrices, numerator/denominator, or freuquency response data. This format is similar to what was done before this PR for LTI classes, but now includes the signal names (if non-generic) or the signal counts (if generic). The inclusion of the string names make sure that you can recreate the system with the proper labels. The inclusion of the string counts lets you see the number of inputs and outputs. _repr_html_: generates an HTML/LaTeX description of the I/O system, if possible (otherwise return _repr_info_()). This method is picked up by Jupyter notebooks to display the value of a variable and replaces _repr_latex_ used in prior versions. This is similar to what was present before, except that now there is a "header" that shows the system name and signal names before showing a LaTeX representation of the state space matrices and/or transfer functions (this required changing _repr_latex_ to _repr_html_). Note that since the timebase information is included in the header, it is no longer included in the LaTeX formatted code. Created a new function iosys_repr (similar to np.array_repr) that allows different representations of I/O systems via a format parameter ('info', 'eval', or 'latex'). The transfer function display_format parameter is now handled in a dynamic fashion. If it is set to None (default) on system creation, the display style will follow config.defaults['xferfcn.display_format']. If set to poly or zpk on system creation, that overrides the default. Updated the str() (print) representation of InputOutputSystems to include dt after the state/input/output names (suppressed if it matches the default dt). Updated the str() (print) representation for NonlinearIOSystems to include list of parameter labels. Updated the str() (print) representation for InterconnectedSystems to include the list of subsystems (in 'info' form) as well summaries of the connections and outputs matrix (might be an eventual replacement for connection_table). All representations now apply np.printoptions to system arrays before generating strings, so you get consistent formatting across representations (including latex) and you can use things like suppress to display near-zero numbers as '0'. Fixed up various line spacings in str() (print) to make things consistent across the various I/O system classes, including adding some indentation for transfer functions and MIMO systems (see screen shots below). Added examples/repr_gallery.ipynb and exampes/repr_gallery.py files to show all of the various output formats and options (with dashed lines at the start and end so you can see any extraneous blank lines). Added config.defaults options 'iosys.repr_format' and 'iosys.repr_show_count' to control representation formats. The combine_tf function now accepts system and signal name keywords. (This is not strictly related to the main subject of this PR, but I needed since I had to set the name of the system in order for doctests to work.) Added the ability of config.defaults to be called as a context manager, so that you can temporarily change default parameters (this is used in examples/repr_gallery.py). (This is more general than this PR, but I used it extensively in repr_gallery). Updated docstrings and unit tests. A detailed set of before and after views are attached as PDFs, generated by the new examples/repr_gallery.ipynb and exampes/repr_gallery.py files: Before: repr_gallery-10.1-29Dec2024.pdf After: repr_gallery-10.1-04Jan2025.pdf Some highlights (pulled from repr_gallery): State space system, repr(), 'eval' format: StateSpace: sys_ss, dt=0: ------------------------- StateSpace( array([[ 0., 1.], [-4., -5.]]), array([[0.], [1.]]), array([[-1., 1.]]), array([[0.]]), name='sys_ss', states=2, outputs=1, inputs=1) ---- Discrete time, state space system, repr(), 'eval' format: StateSpace: sys_dss, dt=0.1: ---------------------------- StateSpace( array([[ 0.98300988, 0.07817246], [-0.31268983, 0.59214759]]), array([[0.00424753], [0.07817246]]), array([[-1., 1.]]), array([[0.]]), dt=0.1, name='sys_dss', states=2, outputs=1, inputs=1) ---- MIMO transfer function, repr(), 'eval' format: TransferFunction: sys_mtf_zpk, dt=0: ------------------------------------ TransferFunction( [[array([ 1., -1.]), array([0.])], [array([1, 0]), array([1, 0])]], [[array([1., 5., 4.]), array([1.])], [array([1]), array([1, 2, 1])]], name='sys_mtf_zpk', outputs=2, inputs=2) ---- Discrete time, state space system, repr(), ,'info' format: TransferFunction: sys_dss_poly, dt=0.1: --------------------------------------- ['y[0]'], dt=0.1> ---- Discrete time, state space systems, str(): : sys_dss Inputs (1): ['u[0]'] Outputs (1): ['y[0]'] States (2): ['x[0]', 'x[1]'] dt = 0.1 A = [[ 0.98300988 0.07817246] [-0.31268983 0.59214759]] B = [[0.00424753] [0.07817246]] C = [[-1. 1.]] D = [[0.]] ---- Nonlinear I/O system, str(): NonlinearIOSystem: sys_nl, dt=0: -------------------------------- : sys_nl Inputs (1): ['u[0]'] Outputs (1): ['y[0]'] States (2): ['x[0]', 'x[1]'] Parameters: ['a', 'b'] Update: Output: Linear interconnected system, str(): LinearICSystem: sys_ic, dt=0: ----------------------------- : sys_ic Inputs (2): ['r[0]', 'r[1]'] Outputs (2): ['y[0]', 'y[1]'] States (2): ['proc_x[0]', 'proc_x[1]'] Subsystems (2): * ['y[0]', 'y[1]']> * ['y[0]', 'y[1]'], dt=None> Connections: * proc.u[0] <- ctrl.y[0] * proc.u[1] <- ctrl.y[1] * ctrl.u[0] <- -proc.y[0] + r[0] * ctrl.u[1] <- -proc.y[1] + r[1] Outputs: * y[0] <- proc.y[0] * y[1] <- proc.y[1] A = [[-2. 3.] [-1. -5.]] B = [[-2. 0.] [ 0. -3.]] C = [[-1. 1.] [ 1. 0.]] D = [[0. 0.] [0. 0.]] ----

Open Graph Description: This PR provides updates to the string representations of I/O systems, including both the __repr__ and __str__ functions (used for repr(), str(), and print()) as well as LaTeX output (via _repr_htm...

X Description: This PR provides updates to the string representations of I/O systems, including both the __repr__ and __str__ functions (used for repr(), str(), and print()) as well as LaTeX output (via _repr_htm...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:9c334c41-be65-c081-b022-d5ebb4756987
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idB75E:37DC0E:4E965E:6AC334:697B08E5
html-safe-noncecb6bdbc301c3b4c08bf92c56071db5f24227465af57d772aac800cd2cd125fbd
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNzVFOjM3REMwRTo0RTk2NUU6NkFDMzM0OjY5N0IwOEU1IiwidmlzaXRvcl9pZCI6IjE3MTk3Nzc2ODk2MDM4Njg5MDEiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac82c5efe4157996a507d711f8e89df815ccf0dbc15d55b6666d5b381fd482f2b2
hovercard-subject-tagpull_request:2260532387
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/1091/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 provides updates to the string representations of I/O systems, including both the __repr__ and __str__ functions (used for repr(), str(), and print()) as well as LaTeX output (via _repr_htm...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7ce8ed0a54c4730aeca4e6abacfc6490365fc42e25480b86883054df3f9181c8
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
released7bfc78137af9a4828305e52ab993fce981d7085
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/python-control/python-control/pull/1091/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%2F1091%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%2F1091%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/1091/changes
Reloadhttps://github.com/python-control/python-control/pull/1091/changes
Reloadhttps://github.com/python-control/python-control/pull/1091/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:mainhttps://github.com/python-control/python-control/tree/main
murrayrm:iosys_repr-07Dec2024https://github.com/murrayrm/python-control/tree/iosys_repr-07Dec2024
Conversation 23 https://github.com/python-control/python-control/pull/1091
Commits 21 https://github.com/python-control/python-control/pull/1091/commits
Checks 13 https://github.com/python-control/python-control/pull/1091/checks
Files changed https://github.com/python-control/python-control/pull/1091/files
Please reload this pagehttps://github.com/python-control/python-control/pull/1091/changes
Update I/O system repr() and str() https://github.com/python-control/python-control/pull/1091/changes#top
Show all changes 21 commits https://github.com/python-control/python-control/pull/1091/files
f363e7b updated iosys class/factory function documentation + docstring unit t… murrayrm Dec 16, 2024 https://github.com/python-control/python-control/pull/1091/commits/f363e7b22eb502778f83c09c24a383c641ba22bb
5076298 update state space system repr() to include signal/system names murrayrm Dec 7, 2024 https://github.com/python-control/python-control/pull/1091/commits/50762986d3301910446135ee86e7dbbe53eda9ed
6f7cbfa update transfer function repr() + signal/system names murrayrm Dec 7, 2024 https://github.com/python-control/python-control/pull/1091/commits/6f7cbfa3a323b408b9ad620350f18c2f7f4ab269
4cedb6c update FRD repr() + copy signal/system names on sampling murrayrm Dec 7, 2024 https://github.com/python-control/python-control/pull/1091/commits/4cedb6cc408856fad5a49489753e48162ae4096f
b0397e0 add unit tests for consistent systems repr() processing murrayrm Dec 7, 2024 https://github.com/python-control/python-control/pull/1091/commits/b0397e0710807a119167df72ddd5e0212ce1e078
85772f5 add iosys_repr and set default __repr__ to short form murrayrm Dec 15, 2024 https://github.com/python-control/python-control/pull/1091/commits/85772f58e1c9902576f816dbd27698290059ab22
9897ab2 use NumPy printoptions in LaTeX representations murrayrm Dec 17, 2024 https://github.com/python-control/python-control/pull/1091/commits/9897ab212c7e15884ce34119cc89c09bb0048d04
376c28e refactor I/O system repr() processing via iosys_repr and _repr_ murrayrm Dec 20, 2024 https://github.com/python-control/python-control/pull/1091/commits/376c28e461477f74bcef47edcc5be5abe4219440
42eaff9 small docstring and comment updates murrayrm Dec 20, 2024 https://github.com/python-control/python-control/pull/1091/commits/42eaff9d7ceabbabdf4844206497c43772f6619d
964c3aa expanded __str__ for IC systems (subsys list + connection map) murrayrm Dec 22, 2024 https://github.com/python-control/python-control/pull/1091/commits/964c3aa914962f8e769d99a72c62be6b0dad9b0b
9ca6833 add Parameters to NonlinearIOSystem.__str__() + avoid double empty lines murrayrm Dec 22, 2024 https://github.com/python-control/python-control/pull/1091/commits/9ca6833cf4130b51934e4a2a6f2f0d1d7125630e
ea7d3ed Update split_tf and combine_tf docstrings + combine_tf kwargs murrayrm Dec 28, 2024 https://github.com/python-control/python-control/pull/1091/commits/ea7d3ed9c001160dcf8f1671e4ace313b024be9e
1434540 add repr_gallery + update formatting for style and consistency murrayrm Dec 31, 2024 https://github.com/python-control/python-control/pull/1091/commits/143454067f43b62e765203492d936fd1ef11f172
b083212 add context manager functionality to config.defaults murrayrm Dec 31, 2024 https://github.com/python-control/python-control/pull/1091/commits/b08321268accf6daf50cee22b23934e2bb1b8b51
8402605 update latex processing + repr_gallery.ipynb murrayrm Dec 31, 2024 https://github.com/python-control/python-control/pull/1091/commits/8402605699eeb0c6ba4a8d805de491e7053f03e5
7863690 update unit tests + tweak formatting for consistency murrayrm Dec 31, 2024 https://github.com/python-control/python-control/pull/1091/commits/786369055b2f5cfc3677ec335484a4257b50b096
e0a612f change default repr to 'eval' + adjust HTML formatting murrayrm Dec 31, 2024 https://github.com/python-control/python-control/pull/1091/commits/e0a612f7ddf3a0f13686f95c8697f51503166ea3
5ae33b0 add iosys.repr_show_count and defualt to True murrayrm Jan 4, 2025 https://github.com/python-control/python-control/pull/1091/commits/5ae33b0ff45b6260d5cee33807775e6634b78f11
32f65d6 add params to sys_nl in repr_gallery; fix combine/split_tf outputs murrayrm Jan 4, 2025 https://github.com/python-control/python-control/pull/1091/commits/32f65d6fa23f55948185e82221fd157705d32ffd
41d92d3 address @murrayrm and preliminary @slivingston review comments murrayrm Jan 8, 2025 https://github.com/python-control/python-control/pull/1091/commits/41d92d3c97788ba5ad3107999bc3dc85b71cb2f8
0f0fad0 address final (?) @slivingston comments murrayrm Jan 13, 2025 https://github.com/python-control/python-control/pull/1091/commits/0f0fad0de06348736e0c8db742c946606332daa9
Clear filters https://github.com/python-control/python-control/pull/1091/files
Please reload this pagehttps://github.com/python-control/python-control/pull/1091/changes
Please reload this pagehttps://github.com/python-control/python-control/pull/1091/changes
bdalg.py https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
config.py https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
frdata.py https://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
iosys.py https://github.com/python-control/python-control/pull/1091/changes#diff-12b378d96d36c9d59a9fbc5afbc7cc158d153ff7591b4769f8312772e1d74ed1
lti.py https://github.com/python-control/python-control/pull/1091/changes#diff-9eb79d97f0ecfaf506be3bac9ab8573caf6301e9685c8bfa3e91632402fa4e5a
nlsys.py https://github.com/python-control/python-control/pull/1091/changes#diff-5ae9b973ef43076c51927f314e400ffc76cef00009ba1f343c83c53bd12a9d99
statesp.py https://github.com/python-control/python-control/pull/1091/changes#diff-b5aac033a6dd07653e82d9f5a40afaa775010c2d2d5af8beeb159487b566df72
config_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-5eadccfa15bf2713ea447a592131d9404915a826d9b41f54d5ef4b2631f24067
docstrings_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-f098dc1536e0667ba32b96b805f95b4ee82c1c1c81e0547799106131b713028f
frd_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-b101ace1745361794d1166464ae9f94082e839fca269eb4f15e1d6150067955c
iosys_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-2d9f6fd1b76261b8663bd7fa89565809a728c32edd8b0f6e095177f80b6e5100
kwargs_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-3144c3ea9a838756fe63a094bb84c293d32c5190d9b081cbb2f10926fda2e19e
lti_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-485af8392823eae5427ee85989fd5a2da1379077477709269159b5b28336abd1
namedio_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-94bfe2c2e359db3059f456bc5f48673ee573b286bb4834719ca5173fceeffa50
nlsys_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-9bbebd2d7d1971bd874d605b2a384e956157bdba7b55363919c6b3dd76c17697
statesp_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-4c76080acbdea36493458693d93ec10e4e10b2e04ce01c56e8a81567cc1ea0d6
xferfcn_test.py https://github.com/python-control/python-control/pull/1091/changes#diff-df824c2e70c14dd722d8f5b8d418f28180aa0d1a8dffa5e4b6271740d58cb2b2
xferfcn.py https://github.com/python-control/python-control/pull/1091/changes#diff-0dd9424d3024fc1d5cc8fd67d13efe5703318c4c705526ab0ae216de69ce3de7
repr_gallery.ipynb https://github.com/python-control/python-control/pull/1091/changes#diff-de5c3d858aa84169d9fcc15064912b3065471e5b7f8c922817c18f26b9aad659
repr_gallery.py https://github.com/python-control/python-control/pull/1091/changes#diff-bdfca3974862ef86423d8146214d2cc586ce6fbeeb77f46a30468d3cd75d5a73
control/bdalg.pyhttps://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
View file https://github.com/murrayrm/python-control/blob/0f0fad0de06348736e0c8db742c946606332daa9/control/bdalg.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/1091/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
https://github.com/python-control/python-control/pull/1091/changes#diff-bfd06fb2f8c259261d6ca31b01ff2f68525fd4936b7ff911434f757a8e9201c6
control/config.pyhttps://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
View file https://github.com/murrayrm/python-control/blob/0f0fad0de06348736e0c8db742c946606332daa9/control/config.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/1091/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
https://github.com/python-control/python-control/pull/1091/changes#diff-d1ad1d32d49067e21beadf8da713ffdea3d1673aedb13dbbf54028cb7e8e4cb5
control/frdata.pyhttps://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
View file https://github.com/murrayrm/python-control/blob/0f0fad0de06348736e0c8db742c946606332daa9/control/frdata.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/python-control/python-control/pull/1091/{{ revealButtonHref }}
https://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
https://github.com/python-control/python-control/pull/1091/changes#diff-cacf59417131c19becd6fba4dde9e979bed49ce572eb24f0f62bd2af460d83d1
Please reload this pagehttps://github.com/python-control/python-control/pull/1091/changes
Please reload this pagehttps://github.com/python-control/python-control/pull/1091/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.