<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTools%2FPySINDy</id>
	<title>The Principia Machina/Tools/PySINDy - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTools%2FPySINDy"/>
	<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;action=history"/>
	<updated>2026-10-21T16:02:09Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=6744&amp;oldid=prev</id>
		<title>PMA Publisher: Published from the Principia Machina source</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=6744&amp;oldid=prev"/>
		<updated>2026-10-15T19:34:09Z</updated>

		<summary type="html">&lt;p&gt;Published from the Principia Machina source&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:34, 15 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{DISPLAYTITLE:PySINDy}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;PySINDy: Sparse Identification of Equations from Data, Without an Action&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;PySINDy: Sparse Identification of Equations from Data, Without an Action&amp;#039;&amp;#039;&amp;#039;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Principia Machina]] [[Category:Tools]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Principia Machina]] [[Category:Tools]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l31&quot;&gt;Line 31:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#SINDY16|SINDY16]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Brunton, S. L., Proctor, J. L., Kutz, J. N. (2016). Discovering governing equations from data by sparse identification of nonlinear dynamical systems. PNAS 113, 3932–3937. [https://doi.org/10.1073/pnas.1517384113 doi:10.1073/pnas.1517384113].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#SINDY16|SINDY16]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Brunton, S. L., Proctor, J. L., Kutz, J. N. (2016). Discovering governing equations from data by sparse identification of nonlinear dynamical systems. PNAS 113, 3932–3937. [https://doi.org/10.1073/pnas.1517384113 doi:10.1073/pnas.1517384113].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#PDEFIND2017|PDEFIND2017]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Rudy S.H., Brunton S.L., Proctor J.L., Kutz J.N. (2017). Data-driven discovery of partial differential equations. Science Advances 3(4), e1602614. [https://doi.org/10.1126/sciadv.1602614 doi:10.1126/sciadv.1602614].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#PDEFIND2017|PDEFIND2017]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Rudy S.H., Brunton S.L., Proctor J.L., Kutz J.N. (2017). Data-driven discovery of partial differential equations. Science Advances 3(4), e1602614. [https://doi.org/10.1126/sciadv.1602614 doi:10.1126/sciadv.1602614].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>PMA Publisher</name></author>
	</entry>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=5820&amp;oldid=prev</id>
		<title>BFP Rauch: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=5820&amp;oldid=prev"/>
		<updated>2026-10-06T03:41:02Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:41, 6 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BFP Rauch</name></author>
	</entry>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=5819&amp;oldid=prev</id>
		<title>DeltaS Zero: Physics tool added 2026-10-06: PySINDy; scores by the research pass, with references (tpm_toolkit 0.1.0)</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/Tools/PySINDy&amp;diff=5819&amp;oldid=prev"/>
		<updated>2026-10-06T03:40:47Z</updated>

		<summary type="html">&lt;p&gt;Physics tool added 2026-10-06: PySINDy; scores by the research pass, with references (tpm_toolkit 0.1.0)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;PySINDy: Sparse Identification of Equations from Data, Without an Action&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
[[Category:Principia Machina]] [[Category:Tools]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;Added to the survey on 2026-10-06 by the [[The Principia Machina/Research Toolkit|Research Toolkit]]&amp;#039;s research pass. The scores below are that pass&amp;#039;s assessment from the evidence cited under References, on the survey&amp;#039;s four axes and scale; they are not the original survey&amp;#039;s (2026-09-26), and no rule of the Principia Machina reads them. See [[The Principia Machina/Tools#The additions of 2026-10-06|the additions]] on the front page.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Overview &amp;amp; Architectural Fit ==&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;PySINDy&amp;#039;&amp;#039;&amp;#039; identifies differential equations from data by sparse regression over a library of candidate functions: it seeks the fewest terms that reproduce the measured time derivatives, &amp;lt;math&amp;gt;\dot{X} \approx \Theta(X)\,\Xi&amp;lt;/math&amp;gt; with &amp;lt;math&amp;gt;\Xi&amp;lt;/math&amp;gt; sparse. Variants handle partial differential equations (PDE-FIND) and noisy data (weak forms). It is written in Python in the style of scikit-learn.&lt;br /&gt;
&lt;br /&gt;
== Mathematical Evaluation for TPM ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Lagrangian / Action (3/10):&amp;#039;&amp;#039;&amp;#039; Finds equations of motion, not actions; variational structure has to be imposed through custom libraries.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Field / PDE (6.5/10):&amp;#039;&amp;#039;&amp;#039; PDE-FIND and weak-form libraries identify partial differential equations from data in space and time.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Relativity (1/10):&amp;#039;&amp;#039;&amp;#039; Nothing specific to relativity.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Quantum / Data (8/10):&amp;#039;&amp;#039;&amp;#039; Learning from data is the core.&lt;br /&gt;
&lt;br /&gt;
== Integration Pipeline ==&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Identify&amp;#039;&amp;#039;&amp;#039; equations from the data with no action assumed.&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Ask whether they admit a Lagrangian&amp;#039;&amp;#039;&amp;#039;: test them against the Helmholtz conditions of the inverse problem of the calculus of variations, or compare them with the Euler-Lagrange equations of a Lagrangian found by [[The Principia Machina/Tools/LagrangianNN|a Lagrangian network]] or [[The Principia Machina/Tools/PySR|PySR]].&lt;br /&gt;
# &amp;#039;&amp;#039;&amp;#039;Read agreement as support&amp;#039;&amp;#039;&amp;#039; for the action hypothesis, and disagreement as a pointer to dissipation, a missing variable or a biased library.&lt;br /&gt;
&lt;br /&gt;
== Status, Licence and Limits ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Status:&amp;#039;&amp;#039;&amp;#039; Active. Version 2.1.0 on 8 January 2026 (PyPI), 2.0.0 on 22 August 2025.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Licence:&amp;#039;&amp;#039;&amp;#039; MIT.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Home:&amp;#039;&amp;#039;&amp;#039; https://github.com/dynamicslab/pysindy&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Limits:&amp;#039;&amp;#039;&amp;#039; Results depend heavily on the candidate library and on how derivatives are estimated from noisy data. A sparse model is not necessarily the true one.&lt;br /&gt;
&lt;br /&gt;
== On the Principia Machina ==&lt;br /&gt;
A tool runs only where the sponsor installed and bound it, and what it returns is untrusted input, vetted before use; its numbers are never values of the site&amp;#039;s calculator, TPC. A law it finds is not a register record: it can enter only as the kernel of a new container, and the data it was fitted to can never be the outside value of that law&amp;#039;s verification. See [[The Principia Machina/Agent/Tools|Agent/Tools]] and [[The Principia Machina/Tools/Operator&amp;#039;s guide|the operator&amp;#039;s guide]].&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#PYSINDY2022|PYSINDY2022]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Kaptanoglu A., de Silva B., Fasel U., Kaheman K., Goldschmidt A., Callaham J., Delahunt C., Nicolaou Z., Champion K., Loiseau J.-C., Kutz J., Brunton S. (2022). PySINDy: A comprehensive Python package for robust sparse system identification. JOSS 7(69), 3994. [https://doi.org/10.21105/joss.03994 doi:10.21105/joss.03994].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#SINDY16|SINDY16]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Brunton, S. L., Proctor, J. L., Kutz, J. N. (2016). Discovering governing equations from data by sparse identification of nonlinear dynamical systems. PNAS 113, 3932–3937. [https://doi.org/10.1073/pnas.1517384113 doi:10.1073/pnas.1517384113].&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[The Principia Machina/Research Toolkit/Bibliography#PDEFIND2017|PDEFIND2017]]&amp;#039;&amp;#039;&amp;#039; &amp;amp;ndash; Rudy S.H., Brunton S.L., Proctor J.L., Kutz J.N. (2017). Data-driven discovery of partial differential equations. Science Advances 3(4), e1602614. [https://doi.org/10.1126/sciadv.1602614 doi:10.1126/sciadv.1602614].&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>DeltaS Zero</name></author>
	</entry>
</feed>