{"id":"f4da0045-e141-4a58-b48f-387fa4832529","arxiv_id":"1909.01419","paper_version":4,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":7.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":2,"one_line_summary":"The paper proves a forward-backward EDMD condition that identifies Koopman eigenfunctions, and presents SSD and SSSD algorithms that provably find the maximal Koopman-invariant subspace in a dictionary's span.","lead":"This paper develops data-driven algorithms that find the hidden linear parts of nonlinear dynamical systems, known as Koopman eigenfunctions and invariant subspaces. The methods come with mathematical guarantees and could make long-term prediction and control of nonlinear systems more reliable.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"Algorithm 2's pseudocode returns at line 21 inside the while loop, so SSSD stops after the first data point; the streaming algorithm is not reproducible as written.","rationale":"The reader's weakest assumption is that Assumption 4.4's dense sampling is the soft spot. On close reading, that assumption is sufficient: because S_N are nested sets, the covering radius r_N is nonincreasing, so P(r_N ≤ ε) → 1 for every ε>0, and a.s. density follows. The mathematical core of Theorems 4.3, 5.1, 5.7, and 5.8 appears internally consistent. The clearest actual defect is in Algorithm 2: the return statement inside the while loop makes SSSD terminate immediately, so the claimed streaming behavior and Theorem 6.3's equivalence are not realized by the published pseudocode. This is a reproducibility issue that supports the reader's CONDITIONAL verdict, but it is a different concern than the one the reader emphasized.","tokens_in":30041,"tokens_out":20615,"duration_ms":197814,"concrete_test":"Run Algorithm 2 exactly as printed on a small synthetic dataset, e.g., the polynomial system (59) with 50 snapshots, S=10, Nd=10; the algorithm exits after the first iteration and returns C1, never seeing snapshots 12–50. Then relocate the return/output statement outside the while loop and re-run; verify R(C_i)=R(SSD(D(X_{1:S+i}),D(Y_{1:S+i}))) for i=1,...,N−S, as Theorem 6.3 requires.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The paper's online contribution depends on Algorithm 2. As printed, the while loop executes `return Ci` at line 21 before `i←i + 1` at line 22, so the function terminates on the first iteration and never processes the remaining snapshots. This contradicts the text's description ('refines... each time it receives new data') and Theorem 6.3, which equates the i-th SSSD output with SSD on all data up to S+i. The theorems analyze a conceptual update that the pseudocode does not implement; the missing loop continuation means a reader cannot reproduce the reported 96% speedup or the equivalence experiment. The fix is straightforward (move the output/return outside the loop or make it non-terminating), but as written this is a concrete defect in a claimed contribution. I found no comparable flaw in the main SSD proofs: the forward-backward condition (Theorem 4.3) and the maximality argument (Theorem 5.8) check out, and Assumption 4.4, via monotonicity of the covering radius of the nested sets S_N, does imply S∞ is dense almost surely.","agreement_with_reader":"disagree"},"referee_report":{"model":"deepseek-v4-flash","summary":"The paper considers data-driven identification of Koopman eigenfunctions and Koopman-invariant subspaces from snapshot pairs (X,Y) of a discrete-time dynamical system. It first gives a forward-backward EDMD condition (Theorem 4.3) that is necessary and sufficient for a dictionary function to evolve linearly with nonzero eigenvalue on the observed data. It then introduces the Symmetric Subspace Decomposition (SSD) algorithm, proves that its output is the maximal subspace satisfying the corresponding range condition (Theorem 5.1), and, under a dense-sampling assumption, that the SSD limit is the maximal Koopman-invariant subspace in the dictionary span and that its eigenvectors are Koopman eigenfunctions (Theorems 5.7 and 5.8). A streaming version (SSSD), an approximation version (Approximated-SSD), and two numerical examples are also presented.","tokens_in":30274,"tokens_out":16507,"duration_ms":162501,"significance":"If the stated results hold, the paper is a useful contribution to the data-driven Koopman literature: Theorem 4.3 gives a clean finite-data characterization of linear evolution, and the maximality result in Theorem 5.8 is stronger than what is typically proved for EDMD-based methods. The linear-algebraic core, especially the proofs of Theorems 4.3, 5.1, and 6.3, is carefully reasoned and appears correct. The main reservations are that the streaming algorithm is not reproducible as printed and that the passage from Assumption 4.4 to almost-sure density is asserted rather than proved. These are fixable, but they are load-bearing for the corresponding claims.","major_comments":[{"comment":"The pseudocode for SSSD contains a control-flow error: line 21 executes `return Ci` inside the `while 1` loop, before the `i←i+1` update at line 22 and before the new-data updates at lines 23–24. As printed, the algorithm terminates after processing the single snapshot pair (x_{S+1}, y_{S+1}) and never refines the subspace as additional data arrive. Consequently, Theorem 6.3, which equates the i-th SSSD output with SSD on all data up to S+i, does not apply to the printed procedure, and the reported 96% speedup in Example 8.1 is not reproducible from Algorithm 2 as written. The fix is local (move the output outside the loop, or change the return semantics to an emit-and-continue convention), but it is necessary for the streaming contribution.","section":"Section VI, Algorithm 2 (lines 21–24)"},{"comment":"The proofs of Theorems 4.6(b), 5.7(b), and 5.8 assert that S∞ = ⋃N S_N is dense in M almost surely merely from p_N → 1. This step is not immediate and should be justified. The conclusion is in fact correct for the nested sets S_N: writing A_N for the event that S_N is α(1/N)-dense, Fatou's lemma gives P(limsup_N A_N) ≥ limsup_N P(A_N) = 1, and on limsup A_N the union S∞ is dense. However, the paper should state this argument explicitly and should make clear that the events A_N are defined on a common probability space. As written, the proof contains only the assertion, and this is a load-bearing point for the asymptotic guarantees.","section":"Assumption 4.4 and Theorem 4.6(b)"}],"minor_comments":[{"comment":"The problem statement says the goal is to find all Koopman eigenfunctions in span(D), but Theorems 4.3 and 5.5 restrict to λ ≠ 0. Note also that, under Assumption 3.1, a zero-eigenvalue eigenfunction cannot be represented nontrivially in span(D), since D(Y)v = 0 would contradict the full column rank of D(Y). Please add a sentence clarifying this qualification.","section":"Section III and Theorems 4.3, 5.5"},{"comment":"In the complex-vector case, the proof states 'there exists a real vector z such that E = CSSDz'. Since E is a matrix with two columns, the object should be a matrix Z (or the argument should be rewritten column by column); the subsequent multiplication by r = [1, j]^T then produces the vector w = Zr. This is likely a typo, but it makes the proof hard to read.","section":"Theorem 5.5 proof"},{"comment":"The line 'f(yi) = λ f(xi) v' contains a spurious trailing v; it should read f(yi) = λ f(xi).","section":"Theorem 4.6(b) proof"},{"comment":"The notation V^T_{kmin:m} is ambiguous; the text should specify whether it denotes rows kmin through m of V^T or columns kmin through m of V. The subsequent discussion indicates the latter, but the notation should be made precise.","section":"Algorithm 3, Step 8"}],"recommendation":"major_revision","confidential_remarks":"The paper's core SSD contribution is mathematically sound and publishable after revision. The Algorithm 2 control-flow bug is concrete and should be fixed before acceptance; the dense-sampling argument should also be completed. I do not see grounds for rejection, provided the authors address these points and the minor typographical issues."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"The paper's core is solid and worth refereeing. The forward-backward EDMD characterization and the SSD pruning algorithm are genuinely new, and the proofs of maximality in the span of the dictionary hold up. The one concrete defect is in Algorithm 2.\n\nWhat is new: Theorem 4.3 gives a necessary and sufficient condition for linear evolution on data via forward/backward EDMD, which is clean and useful. The SSD algorithm uses nullspace pruning to identify the maximal Koopman-invariant subspace, and Theorems 5.7 and 5.8 show that under dense sampling the data-identified functions are true eigenfunctions and the output is maximal. The streaming variant and the approximation extension are plausible additions. The linear algebra in the appendix is careful; I checked the range-restriction arguments and they are correct.\n\nMajor soft spot: the stress-test note is right. Algorithm 2 as printed returns Ci at line 21 inside the while loop, before i increments, so SSSD never processes more than one snapshot. The theorems analyze a conceptual loop that the pseudocode does not implement. This is a small fix, but as written the streaming algorithm is not reproducible.\n\nMinor soft spots: Assumption 4.4's passage from p_N to 1 to almost-sure density looked like a gap at first, but the nestedness of S_N and the monotonicity of the covering radius close it; if the limiting radius were positive on a set of probability q, then each C_N would be bounded away from 1 on that same set, contradicting p_N to 1. A one-sentence proof would help, but I no longer see a flaw. The examples are low-dimensional and no code or data are provided, so the 96% speedup claim is not independently assessable. The lambda non-zero restriction in Theorem 4.3 leaves zero-eigenvalue functions unaddressed, which is a minor omission.\n\nWho it is for: anyone doing data-driven Koopman theory. This is the first dictionary-based method I know with formal guarantees for maximal invariant subspaces. I would cite it and bring it to reading group.\n\nRecommendation: send to peer review. A good referee will ask for the Algorithm 2 fix, a short note on Assumption 4.4, and ideally code or more benchmarks. The math is the main event and it holds.","headline":"Solid, novel Koopman results with a real but easily fixed bug in the streaming pseudocode.","tokens_in":30777,"tokens_out":4396,"would_cite":true,"duration_ms":41651,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":["37C30","37M10","37N35"],"pacs":[],"model":"deepseek-v4-flash","headline":"Applying EDMD forward and backward in time identifies exactly which dictionary functions are Koopman eigenfunctions and yields the maximal invariant subspace.","keywords":["Koopman operator","Koopman eigenfunctions","invariant subspaces","extended dynamic mode decomposition","symmetric subspace decomposition","streaming algorithm","data-driven dynamical systems","total least squares"],"falsifier":"On a system with a dictionary that is not Koopman-invariant, run SSD on a large dense sample, take each identified linear evolution $f(x)=D(x)v$ with eigenvalue $\\lambda$, and compute $\\sup_{x\\in M}|f(Tx)-\\lambda f(x)|$ on a fine grid; if the supremum does not converge to zero as the sample grows, the paper's almost-sure eigenfunction guarantee fails.","tokens_in":29845,"feed_emoji":"🔁","tokens_out":5212,"duration_ms":54337,"temperature":0.7,"pith_summary":"This paper proves that the functions in a given dictionary which evolve linearly under a dynamical system can be identified exactly by running Extended Dynamic Mode Decomposition (EDMD) both forward and backward in time. A function is shown to evolve linearly on the available data precisely when its coefficient vector is an eigenvector of the forward EDMD matrix and, with reciprocal eigenvalue, of the backward EDMD matrix. Under dense sampling of a compact state space, this condition characterizes genuine Koopman eigenfunctions almost surely. Building on this, the paper's Symmetric Subspace Decomposition (SSD) algorithm iteratively prunes the dictionary so that its output spans the maximal Koopman-invariant subspace in the span of the original dictionary, with a streaming variant that uses fixed memory and an approximate variant for dictionaries lacking informative eigenfunctions.","feed_headline":"Two-way EDMD check isolates true Koopman eigenfunctions","feed_subtitle":"Pairing forward and backward dynamics on the same dictionary provably recovers the maximal invariant subspace, with a streaming version.","key_machinery":"The load-bearing object is the pair of EDMD matrices $K_f$ and $K_b$, together with the iterated null-space reduction used by the Symmetric Subspace Decomposition (SSD) algorithm. At each SSD iteration the algorithm forms the concatenated matrix $[A_i,B_i]$ of current forward and backward dictionary snapshots, computes a basis for its null space, and uses it to replace the dictionary by a smaller one, continuing until the two ranges coincide: $R(D(X)C)=R(D(Y)C)$ for the final full-column-rank matrix $C$. This range equality is exactly the finite-data certificate that the reduced dictionary spans a Koopman-invariant subspace, and the eigenvectors of $K_{\\mathrm{SSD}}=(D(X)C)^\\dagger(D(Y)C)$ are provably the linear evolutions, hence the Koopman eigenfunctions, in the span of the original dictionary.","core_discovery":"The central discovery is a necessary and sufficient, data-only test for linear evolution: for a dictionary $D$ and snapshot matrices $X,Y$ with $y_i=T(x_i)$, a function $f(x)=D(x)v$ satisfies $f(y_i)=\\lambda f(x_i)$ for all observed $i$ if and only if $K_f v=\\lambda v$ and $K_b v=\\lambda^{-1}v$, where $K_f=D(X)^\\dagger D(Y)$ and $K_b=D(Y)^\\dagger D(X)$ are the forward and backward EDMD matrices. If the sampling is dense, this condition is also sufficient for $f$ to be a true Koopman eigenfunction with probability one. The paper then shows that the SSD algorithm, which repeatedly intersects the column ranges of the forward and backward dictionary snapshots via null-space computations, provably recovers the maximal Koopman-invariant subspace in the span of the dictionary and all Koopman eigenfunctions in that span.","pith_inferences":["The same forward-backward eigenvector symmetry could serve as a regularizer for dictionary-learning and neural-network Koopman methods, which currently optimize mostly one-step forward prediction error.","The range-intersection pruning is a general linear-algebraic primitive that may transfer to stochastic or transfer-operator settings, where forward and adjoint/generator action play the role of the backward pass.","In finite-data practice, the almost-sure guarantee motivates a hold-out validation procedure: compute the continuous residual $f(Tx)-\\lambda f(x)$ on a fine grid and monitor whether its maximum shrinks as the sample grows.","The monotonicity of SSD under data addition suggests an active data-acquisition scheme that adds snapshots where the current invariant dictionary's residual is largest, potentially shrinking the invariant subspace faster than random sampling."],"forward_implications":["EDMD restricted to the SSD subspace has zero residual, so long-term prediction on that subspace is exact rather than merely approximate.","Every Koopman eigenfunction lying in the span of the original dictionary is recovered as an eigenvector of $K_{\\mathrm{SSD}}$, without needing multi-step trajectory data.","The forward-backward condition gives a computable certificate for linear evolution on the observed data that is not fooled by functions that happen to fit EDMD in only one time direction.","The streaming version SSSD provably computes the same invariant subspace as batch SSD while storing only a fixed-size window of data.","When the dictionary lacks enough informative eigenfunctions, the Approximated-SSD variant produces a total-least-squares linear model whose in-sample error is controlled by a tunable tolerance parameter."],"supporting_citations":[{"why":"Supplies the Extended Dynamic Mode Decomposition method that the paper's forward-backward characterization is built on.","marker":"[35]"},{"why":"Introduces the Koopman operator whose eigenfunctions and invariant subspaces are the objects of study.","marker":"[2]"},{"why":"Provides the spectral theory and eigenfunction background used to define Koopman eigenpairs and generalized eigenfunctions.","marker":"[6]"},{"why":"Gives the DMD theory that Lemma 4.1 generalizes to EDMD over dictionaries that need not span invariant subspaces.","marker":"[27]"},{"why":"Establishes convergence properties of EDMD to the Koopman operator, a background the paper extends to eigenfunction identification.","marker":"[36]"},{"why":"Is the preliminary conference version that introduced the efficient identification of linear evolutions, on which the present paper builds.","marker":"[1]"},{"why":"Supplies the total least-squares formulation and theory used in the Approximated-SSD prediction step.","marker":"[50]"},{"why":"Provides the Eckart-Young theorem used to prove the global optimality and error bound of the total least-squares solution.","marker":"[51]"}],"fun_headline_variants":["Forward-backward EDMD test nails true Koopman eigenfunctions","SSD provably recovers maximal Koopman invariant subspace","Data-only condition guarantees true Koopman eigenfunctions","Koopman invariant subspaces found via symmetric decomposition","Streaming SSD learns Koopman eigenfunctions online"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The asymptotic guarantees rely on the data being dense enough that a continuous function which vanishes at every sampled point must vanish everywhere on the state space.","fun_headline_variants_meta":{"raw":{"variants":["Forward-backward EDMD test nails true Koopman eigenfunctions","SSD provably recovers maximal Koopman invariant subspace","Data-only condition guarantees true Koopman eigenfunctions","Koopman invariant subspaces found via symmetric decomposition","Streaming SSD learns Koopman eigenfunctions online"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000422,"raw_usage":{"total_tokens":2163,"prompt_tokens":938,"completion_tokens":1225,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":554,"completion_tokens_details":{"reasoning_tokens":1144}},"tokens_in":554,"tokens_out":1225,"duration_ms":9622,"temperature":1.0,"reasoning_tokens":1144,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-14T05:19:45.369809+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"On a system with a dictionary that is not Koopman-invariant, run SSD on a large dense sample, take each identified linear evolution $f(x)=D(x)v$ with eigenvalue $\\lambda$, and compute $\\sup_{x\\in M}|f(Tx)-\\lambda f(x)|$ on a fine grid; if the supremum does not converge to zero as the sample grows, the paper's almost-sure eigenfunction guarantee fails.","supporting_citations":[{"cited_title":"A data-driven approximation of the Koopman operator: Extending dynamic mode decomposition,","cited_arxiv_id":null,"evidence_quote":"Supplies the Extended Dynamic Mode Decomposition method that the paper's forward-backward characterization is built on."},{"cited_title":"Applied Koopmanism,","cited_arxiv_id":null,"evidence_quote":"Provides the spectral theory and eigenfunction background used to define Koopman eigenpairs and generalized eigenfunctions."},{"cited_title":"On dynamic mode decomposition: theory and applications,","cited_arxiv_id":null,"evidence_quote":"Gives the DMD theory that Lemma 4.1 generalizes to EDMD over dictionaries that need not span invariant subspaces."},{"cited_title":"Efﬁcient identiﬁcation of linear evolutions in nonlinear vector ﬁelds: Koopman invariant subspaces,","cited_arxiv_id":null,"evidence_quote":"Is the preliminary conference version that introduced the efficient identification of linear evolutions, on which the present paper builds."},{"cited_title":"Overview of total least-squares meth- ods,","cited_arxiv_id":null,"evidence_quote":"Supplies the total least-squares formulation and theory used in the Approximated-SSD prediction step."}],"review_version":1}