{"id":"8eb46067-b963-49c8-b3c3-643460b1138f","arxiv_id":"2411.17963","paper_version":1,"verdict":"CONDITIONAL","confidence":"MODERATE","novelty_score":6.0,"correctness_risk":"medium","formal_verification":"none","parameter_count":5,"one_line_summary":"A non-splitting semi-Lagrangian adaptive-rank scheme using CUR sampling and SVD truncation is validated for linear advection and 1D1V Vlasov-Poisson equations.","lead":"The paper introduces SLAR, a new numerical method that combines semi-Lagrangian time stepping with adaptive low-rank matrix compression to solve kinetic equations like the Vlasov-Poisson system. It promises large time steps, third-order accuracy, mass conservation, and roughly linear cost in mesh size per dimension.","discovery_kind":"new_method","skeptic_critique":{"model":"deepseek-v4-flash","headline":"LoMaC correction (2.25) adds a non-low-rank Maxwellian term with no subsequent truncation, so the nonlinear SLAR loop cannot supply the low-rank SVD input required by Algorithm 3; recompressing would alter the local charge density just enforced.","rationale":"The paper is a serious algorithmic contribution: it combines non-splitting semi-Lagrangian finite differences with adaptive cross approximation and SVD truncation, and the linear-advection portion of the method is reasonably self-contained. The numerical benchmarks are extensive, and the reported orders of accuracy and rank histories are plausible. However, the most load-bearing weakness is not only the heuristic rank assumption identified in the reader's verdict, but a structural gap in the nonlinear algorithm: the LoMaC correction (2.25) destroys the low-rank SVD format that the next time step requires, and the manuscript does not specify any truncation or projection that restores it while preserving the just-enforced local charge density. This is an internal-consistency concern rather than a disagreement with community consensus, and it directly threatens the three-part claim of low-rank representation, O(N r) complexity, and local conservation for the Vlasov-Poisson system. The issue is potentially fixable -- for example, by describing and analyzing a conservative recompression step -- but as written the nonlinear method is incomplete. Because the linear-advection results stand and the VP results may be repairable, the existing CONDITIONAL verdict is appropriate, but the condition should include a precise statement of how the corrected solution is (or is not) recompressed and how local conservation survives that operation.","tokens_in":18249,"tokens_out":8733,"duration_ms":84736,"concrete_test":"Implement the VP loop exactly as written for the strong Landau damping test on 256×256, and after the LoMaC correction (2.25) explicitly form F^{n+1}. Compute its SVD rank with tolerance εS = 1e-3 and then apply the SVD truncation that would be needed before the next SLAR step. Compare the local charge density ∫ F^{n+1} dv before and after this truncation. If the maximum local density change exceeds the prescribed tolerance, or if the rank jumps to O(min(Nx,Nv)), the claimed combination of low-rank evolution and exact local conservation fails. A complementary check is to run the same test while carrying the correction term as a separate full-rank object: if storage or wall-clock time per step no longer scales as O(N r), the complexity claim in the abstract is not supported.","verdict_should_be":"UNCHANGED","load_bearing_attack":"The headline claim for the Vlasov-Poisson system depends on Algorithm 3 being iterable: each step accepts F^n = UΣV^T and returns a low-rank F^{n+1}. For the nonlinear VP system, however, after the SLAR prediction F^{n+1,*} and the LoMaC correction (2.25), the output is F^{n+1} = F^{n+1,*} + M^{n+1} - M^{n+1,*}. The Maxwellian terms depend pointwise on ρ, u, and T and are not low-rank in general; the paper itself states that the final solution is 'a summation of low rank prediction and an explicit correction term in Maxwellian form (no necessarily in the low rank format)' (Section 2.2.2). No SVD truncation or projection of the corrected solution is specified afterward. If one recompresses F^{n+1} to restore the UΣV^T format required by the next step, that truncation changes the solution entries and hence changes the local charge densities that (2.25) was constructed to conserve; the paper provides no error bound or conservation analysis for this recompression. If one does not recompress, the next invocation of Algorithm 3 lacks its stated low-rank input, and the O(N r) storage and complexity accounting is not valid because the full N_x × N_v correction must be carried. Thus the nonlinear algorithm as written is not closed, and the claimed simultaneous properties -- low-rank representation, O(N r) complexity, and exact local charge conservation -- cannot be verified from the manuscript.","agreement_with_reader":"partial"},"referee_report":{"model":"deepseek-v4-flash","summary":"This paper proposes a semi-Lagrangian adaptive-rank (SLAR) method for linear advection equations and for the 1D1V Vlasov-Poisson system. The method combines a local non-splitting finite-difference semi-Lagrangian update with adaptive cross approximation (CUR) for the 'step' phase and SVD truncation for the 'truncate' phase. For the VP system, the authors use a Runge-Kutta exponential integrator for characteristic tracing, an implicit upwind/DIRK solver for the macroscopic charge-density equation, and a LoMaC-type Maxwellian correction to enforce local charge conservation. The central claims are third-order accuracy in space and time, large-time-step stability, adaptivity of rank, local charge conservation, and O(N r) complexity per time step. Numerical benchmarks include linear advection with constant coefficients, rigid-body rotation, swirling deformation flow, weak/strong Landau damping, and bump-on-tail instability, with convergence tables, rank histories, conservation diagnostics, damping-rate measurements, and a complexity scaling plot.","tokens_in":18599,"tokens_out":15915,"duration_ms":147556,"significance":"If the algorithm is made precise and the claims are verified, the contribution is significant: it appears to be the first non-splitting high-order adaptive-rank semi-Lagrangian method for kinetic equations, and the combination of ACA sampling with SL-FD updates is novel. The paper ships extensive numerical evidence: convergence orders in Table 3.1 and Figures 3.4 and 3.11, rank histories in Figures 3.6, 3.9, 3.12, and 3.14, conservation diagnostics in Figures 3.10 and 3.15, damping rates matching theory in Figure 3.8, and a linear-complexity scaling plot in Figure 3.13. These tests go well beyond a single toy problem. However, the manuscript is a numerical-methods paper without error or stability analysis, and two central algorithmic specifications--the SVD rank-selection rule and the use of the LoMaC-corrected solution in the next time step--are not correct or complete as written. Those issues must be resolved before the main claims can be accepted.","major_comments":[{"comment":"The rank-selection rule `r_S <- min{k | (Sigma_S)_{k+1,k+1} > epsilon_S}` is not a valid truncation rule. As written, it returns the first index whose trailing singular value exceeds the tolerance, and for k = r_C it refers to the out-of-range index r_C + 1. If the first few singular values are above epsilon_S, the rule either returns 1 when more modes should be kept or returns no valid index and performs no truncation. The intended rule is almost certainly `r_S <- max{k | (Sigma_S)_{k,k} > epsilon_S}` or equivalently `min{k | (Sigma_S)_{k+1,k+1} <= epsilon_S}`. Since the SVD truncation is the stability and complexity control of the whole SLAR method, this is a load-bearing specification error, not a typographical nicety.","section":"Algorithm 3, line 4"},{"comment":"The nonlinear time-stepping loop is not closed. Algorithm 3 and Eq. (2.14) require the input F^n to be a low-rank SVD matrix U Sigma V^T, and the next RK stage or next time step is invoked on the output of the scheme. However, after the LoMaC correction (2.25), F^{n+1} = F^{n+1,*} + M^{n+1} - M^{n+1,*}, and the paper explicitly states that this is 'no necessarily in the low rank format.' No recompression, projection, or factored representation of the corrected sum is specified. If one truncates F^{n+1} to restore the input format, the truncation changes the matrix entries and hence the local charge densities that (2.25) was designed to conserve, and no conservation or error bound is provided. If one does not truncate, the next invocation of Algorithm 1/3 receives a representation not covered by the algorithm's stated input, and the claimed O(N r) storage and complexity accounting does not apply to the full correction term. If the intended implementation carries the correction in a special structured form and evaluates entries on the fly, that representation must be stated and analyzed. The conservation diagnostics in Figures 3.10 and 3.15 test only the corrected solution at the end of a step and do not expose this issue.","section":"Section 2.2.2, Eq. (2.25)"},{"comment":"The abstract claims that the method applies 'singular value truncation and a mass-conservative projection following the cross approximation of the updated solution,' but for the linear-advection SLAR method in Algorithm 3 there is no mass-conservative projection after the SVD truncation; the only correction step is the LoMaC Maxwellian correction introduced later for the nonlinear VP system. If the mass-conservation claim is intended only for the VP system, this should be stated explicitly; if it is intended for the linear SLAR method as well, the missing projection must be specified, because SVD truncation does not preserve local or even global mass in general.","section":"Abstract and Section 2.1.3 / Algorithm 3"},{"comment":"The ACA pivot selection is a random sampling plus greedy search heuristic, and the stopping criterion in line 8 bounds only the norm of the rank-one update, not the distance between the cross approximation and the exact updated solution. The paper provides no error estimate or failure diagnostic for this selection, and no sensitivity study with respect to the number p of random samples. Since the accuracy and the O(N r) complexity claims rest on the assumption that the sampled rows and columns capture the dominant low-rank modes of the solution at every step, this missing control is a substantive gap; at minimum the authors should state the working assumptions and report the sensitivity of the results to p and to the random seed.","section":"Section 2.1.2, Algorithm 1"}],"minor_comments":[{"comment":"The second greedy search should use a new row index j_k^*, not i_k^*; as typeset, both lines 4 and 5 write i_k^*.","section":"Algorithm 1, line 5"},{"comment":"The definition of the reconstruction operator R as a minimum of a least-squares residual is inconsistent with its use as the interpolated polynomial value; the coefficients in (2.9) should be presented directly as the reconstruction, and the optimization description should be corrected, for example by writing p = argmin and R = p(x,y).","section":"Eqs. (2.7)-(2.9)"},{"comment":"The time-step formula is typeset ambiguously; it should read Delta t = CFL / (max{|a|}/Delta x + max{|b|}/Delta y).","section":"Eq. (3.1)"},{"comment":"The text contains typos: 'The propose algorithm' and 'expontential integrators' should be corrected to 'The proposed algorithm' and 'exponential integrators'.","section":"Abstract and Section 2.2.1"},{"comment":"The caption says 'electric filed'; it should say 'electric field'.","section":"Figure 3.8 caption"},{"comment":"The number p of random samples in Algorithm 1 and the number s of sample points per edge in Algorithm 2 are never specified; stating default values and, ideally, reporting variance over random seeds would materially improve reproducibility.","section":"Algorithms 1 and 2"},{"comment":"The conservation test uses the velocity domain [-10,10] while other strong-Landau runs use [-2 pi, 2 pi]; this difference should be stated in the caption or text to avoid confusion.","section":"Section 3.2, Figure 3.10"},{"comment":"The statement that the SVD truncation is 'closely related to that of [2]' is vague; a precise statement of which oversampling property or error bound is being invoked would be helpful.","section":"Section 2.1.3"}],"recommendation":"major_revision","confidential_remarks":"To the editor: the manuscript is within scope and contains substantial numerical work. The main obstacles are the incomplete specification of the nonlinear time loop and the incorrect SVD rank-selection rule in Algorithm 3; both appear fixable in revision. I would not reject on novelty grounds. The paper relies heavily on the authors' previous methods [4,29,30,49], but the adaptive-cross-approximation sampling component is a genuine new ingredient. No code or reproducibility artifacts were provided; given the random sampling steps, a code release or a deterministic-seed report would materially help verification."},"author_rebuttal":null,"desk_editor":{"model":"deepseek-v4-flash","letter":"Short version: the linear-advection SLAR method is a real contribution: a non-splitting finite-difference semi-Lagrangian scheme whose entries are sampled via greedy cross approximation and then stabilized by SVD truncation. The numerical work is honest and fairly extensive: convergence tables match third order, rank behaviors are reported, and complexity scaling is shown. For linear transport the algorithm is closed and the claims hold up.\n\nThe problem is the Vlasov-Poisson half. After the LoMaC correction (2.25), the solution is a low-rank part plus a full Maxwellian correction. The paper itself says this sum is 'not necessarily in the low rank format.' But the next timestep expects F^n in UΣV^T form, and no recompression or projection is specified. If you recompress, you change the local charge densities the correction was built to conserve, with no conservation or error analysis. If you don't, the O(Nr) storage/complexity accounting no longer holds. Either way the nonlinear algorithm as written is not closed. This is not a cosmetic issue; it directly affects the paper's central headline for nonlinear VP. The authors need to either specify how the corrected solution is recompressed while maintaining local mass conservation, or revise the complexity claims and the algorithm description.\n\nSecondary issues: the weak Landau damping setup in Eq. (3.6) says k=0.01, but the quoted decay rate -0.1533 and the domain [0,4π] correspond to k=0.5; almost certainly a typo, but it needs fixing. The 'first adaptive-rank semi-Lagrangian' claim may need qualification; there is a 2021 low-rank semi-Lagrangian Vlasov paper by Einkemmer and Joseph that isn't cited. No error analysis or code is provided; for this kind of methods paper, that is acceptable for a first version, but the ACA sampling heuristic deserves at least a stability discussion.\n\nNet: the linear part deserves serious referee time, and the VP idea is promising. The nonlinear closure problem is load-bearing and must be addressed before the paper is acceptance-ready. I'd send it to review, with the expectation of a major revision. Worth a reading group slot.","headline":"Promising non-splitting low-rank semi-Lagrangian scheme for linear advection; the Vlasov-Poisson extension has an unclosed LoMaC correction step that undercuts the headline complexity and conservation claims.","tokens_in":19162,"tokens_out":4082,"would_cite":false,"duration_ms":36513,"reading_group":"yes","serious_thinker":"yes","would_accept_peer_review":true},"rs_alignment":null,"lean_confirmation":null,"pith_extraction":{"msc":["65M25","35Q83"],"pacs":[],"model":"deepseek-v4-flash","headline":"The SLAR method updates only sampled rows and columns of the phase-space solution, achieving a high-order, locally conservative semi-Lagrangian kinetic solver whose cost grows linearly with mesh size.","keywords":["cross approximation","semi-Lagrangian method","adaptive rank","mass conservation","Vlasov-Poisson system","singular value truncation","low-rank matrix decomposition","kinetic simulation"],"falsifier":"Take a two-dimensional linear advection initial condition whose exact solution has slowly decaying singular values (for example, a sum of sharp Gaussian blobs arranged so the singular-value spectrum stays above $\\epsilon_C$ for hundreds of modes). Run SLAR on a $256 \\times 256$ grid and compare the recovered rank and the $L^1$ error against a full-rank reference at one time step. If the cross approximation needs more than a small constant number $r$ of rows and columns, or the SVD-truncated solution deviates by more than $\\epsilon_S$, the $O(Nr)$ complexity and accuracy claims are falsified.","tokens_in":17987,"feed_emoji":"⚡","tokens_out":13013,"duration_ms":105585,"temperature":0.7,"pith_summary":"SLAR combines semi-Lagrangian time stepping with step-and-truncate low-rank compression: the phase-space distribution is stored as a matrix SVD, and each time step updates only adaptively selected rows and columns of that matrix. The paper aims to show that this sampled CUR (cross approximation) update, followed by a stronger SVD truncation, yields up to third-order accuracy in both space and time while allowing time steps far beyond conventional CFL limits. Because only $O(r)$ rows and columns are evolved, the per-step complexity is linear in the mesh size $N$ per dimension, $O(Nr)$, instead of the $O(N^2)$ cost of a full-rank update. For the nonlinear Vlasov-Poisson system, the method adds an implicit update of the macroscopic charge density and a LoMaC correction so that local charge conservation holds at large time steps. If correct, this gives kinetic simulations a way to escape the quadratic cost of dense phase-space grids without giving up high order or conservation.","feed_headline":"2D kinetic solver cuts cost from quadratic to linear","feed_subtitle":"Adaptive rank plus characteristic tracing keeps third-order accuracy and local mass conservation at large time steps.","key_machinery":"The engine is adaptive cross approximation (CUR, or pseudo-skeleton decomposition) of the solution matrix, in which representative columns and rows are picked greedily from the entries with largest residual and combined through a recursive rank-one update. This builds $A\\approx E_JDE_I$ without forming the full matrix, and in SLAR the entries it asks for are supplied on demand by a compact third-order semi-Lagrangian finite-difference reconstruction at the feet of backward characteristics. A wider SVD truncation threshold than the cross tolerance is then applied, so spurious high-frequency modes introduced by interpolation are filtered out and the rank stays small. For the nonlinear Vlasov-Poisson system the same machinery runs inside a Runge-Kutta exponential integrator that freezes the electric field at each stage, while an implicit upwind discretization of the charge-density equation plus a LoMaC Maxwellian correction enforces local mass conservation without reducing the allowed time step.","core_discovery":"The central claim is that a non-splitting semi-Lagrangian finite-difference solver can be fused with adaptive cross approximation to produce the first adaptive-rank semi-Lagrangian method that is high order, stable at large time steps, and locally mass-conserving. On a two-dimensional tensor-product grid the solution is kept as an SVD $F^n = U^n\\Sigma^n(V^n)^\\top$; at each step a greedy pivot search selects representative rows and columns, the local semi-Lagrangian solver evaluates only those entries by tracing characteristics to their feet, and a recursive cross update builds the factorization $\\tilde F^{n+1}=E_JD E_I$. An SVD truncation with a threshold larger than the cross tolerance then removes numerical noise and keeps the rank low. For Vlasov-Poisson, characteristics are tracked with a third-order Runge-Kutta exponential integrator, and local charge conservation is restored by solving the macroscopic density equation implicitly and applying a LoMaC correction that reshapes the distribution with a local Maxwellian. The benchmark results report third-order convergence, adaptive rank behavior, compression ratios that improve as the mesh is refined, and matching decay and growth rates for Landau damping.","pith_inferences":["The on-demand evaluation structure means the same CUR-plus-truncation skeleton could be attached to other high-order spatial reconstructions or lifted to tensor-train formats; the paper only demonstrates the 2D matrix case and names higher dimensions as future work.","Because the LoMaC correction enforces only the zeroth moment, momentum and energy conservation are reported as residual deviations at the tolerance level; a natural extension would preserve additional moments, which the paper does not address.","The pivot search starts from random samples, so different runs may select different rows and columns; an untested but easy stress test is to repeat the benchmarks over many random seeds and compare error and rank distributions.","If long-time Vlasov filamentation causes singular values to decay slowly, the rank will grow and the $O(Nr)$ advantage will erode; the demonstrated complexity advantage is therefore for the finite-time benchmark window, not a proven long-time guarantee."],"forward_implications":["Per time step, the cost is $O(Nr + r^3)$ per dimension after accounting for the local SL evolutions, the SVD truncation, and the implicit density solve, so refined meshes cost linearly rather than quadratically.","Time steps set by CFL numbers as large as 100 still show third-order temporal accuracy, so the method converts spatial resolution into accuracy without being throttled by the fastest wave in the system.","Local conservation of charge density holds at large time steps because the density is updated implicitly and then enforced through a LoMaC correction, removing the extra stability constraint identified in earlier conservative SL-FD schemes.","The SVD truncation with $\\epsilon_S > \\epsilon_C$ removes modes generated by numerical error, which keeps the recorded rank near the intrinsic rank of the solution even when the cross approximation oversamples.","For the nonlinear Vlasov-Poisson benchmarks, the method reproduces the standard Landau damping rates and bump-on-tail growth with ranks far below the grid dimension."],"supporting_citations":[{"why":"Introduces pseudo-skeleton approximations, the ancestor of the CUR factorization that SLAR uses as its compressed representation.","marker":"[48]"},{"why":"Supplies the adaptive cross approximation framework and the greedy rank-revealing selection logic behind Algorithm 1.","marker":"[3]"},{"why":"Provides the recursive rank-one update for cross approximations that Algorithm 1 uses to assemble the CUR factors cheaply.","marker":"[45]"},{"why":"Describes a semi-Lagrangian Vlasov solver in tensor-train format, the prior low-rank SL approach that relies on dimensional splitting, which SLAR aims to remove.","marker":"[32]"},{"why":"Gives the high-order non-splitting semi-Lagrangian discontinuous Galerkin Vlasov-Poisson solver whose characteristic tracing philosophy SLAR carries into the finite-difference setting.","marker":"[5]"},{"why":"Documents the stability restriction of existing conservative non-splitting SL-FD schemes, motivating the implicit density update and LoMaC correction introduced here.","marker":"[49]"},{"why":"Introduces the Local Macroscopic Conservative (LoMaC) low-rank tensor correction that the nonlinear VP version adapts to the sampling framework.","marker":"[30]"},{"why":"Supplies Runge-Kutta exponential integrators for nonlinear Vlasov dynamics, used here to freeze the electric field and trace characteristics through linearized stages.","marker":"[4]"},{"why":"Gives the stiffly accurate third-order diagonally implicit Runge-Kutta table used for the implicit charge-density update.","marker":"[1]"}],"fun_headline_variants":["Adaptive-rank SLAR solver: linear cost for kinetic equations","SLAR: high-order semi-Lagrangian with adaptive rank for Vlasov","Mass-conserving adaptive-rank scheme for Vlasov-Poisson","From O(N^2) to O(N): adaptive rank semi-Lagrangian","SLAR method: large time steps with low-rank structure"],"cache_read_input_tokens":3200,"weakest_assumption_plain":"The whole efficiency argument depends on the solution matrix having a rapidly decaying singular-value spectrum at every time step, and on the greedy random sampling of rows and columns finding that low-rank structure reliably; when either fails, the rank and the cost grow.","fun_headline_variants_meta":{"raw":{"variants":["Adaptive-rank SLAR solver: linear cost for kinetic equations","SLAR: high-order semi-Lagrangian with adaptive rank for Vlasov","Mass-conserving adaptive-rank scheme for Vlasov-Poisson","From O(N^2) to O(N): adaptive rank semi-Lagrangian","SLAR method: large time steps with low-rank structure"]},"model":"deepseek-v4-flash","effort":"low","cost_usd":0.000607,"raw_usage":{"total_tokens":2905,"prompt_tokens":1098,"completion_tokens":1807,"prompt_tokens_details":{"cached_tokens":384},"prompt_cache_hit_tokens":384,"prompt_cache_miss_tokens":714,"completion_tokens_details":{"reasoning_tokens":1712}},"tokens_in":714,"tokens_out":1807,"duration_ms":11421,"temperature":1.0,"reasoning_tokens":1712,"cache_read_input_tokens":384,"cache_creation_input_tokens":0},"cache_creation_input_tokens":0},"created_at":"2026-08-12T11:39:29.446481+00:00","model_set":{"reader":"deepseek-v4-flash"},"falsifier":"Take a two-dimensional linear advection initial condition whose exact solution has slowly decaying singular values (for example, a sum of sharp Gaussian blobs arranged so the singular-value spectrum stays above $\\epsilon_C$ for hundreds of modes). Run SLAR on a $256 \\times 256$ grid and compare the recovered rank and the $L^1$ error against a full-rank reference at one time step. If the cross approximation needs more than a small constant number $r$ of rows and columns, or the SVD-truncated solution deviates by more than $\\epsilon_S$, the $O(Nr)$ complexity and accuracy claims are falsified.","supporting_citations":[{"cited_title":"Tyrtyshnikov, S","cited_arxiv_id":null,"evidence_quote":"Introduces pseudo-skeleton approximations, the ancestor of the CUR factorization that SLAR uses as its compressed representation."},{"cited_title":"Kormann , A semi-Lagrangian Vlasov solver in tensor train format , SIAM Journal on Scientific Computing, 37 (2015), pp","cited_arxiv_id":null,"evidence_quote":"Describes a semi-Lagrangian Vlasov solver in tensor-train format, the prior low-rank SL approach that relies on dimensional splitting, which SLAR aims to remove."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Gives the high-order non-splitting semi-Lagrangian discontinuous Galerkin Vlasov-Poisson solver whose characteristic tracing philosophy SLAR carries into the finite-difference setting."},{"cited_title":"Xiong, G","cited_arxiv_id":null,"evidence_quote":"Documents the stability restriction of existing conservative non-splitting SL-FD schemes, motivating the implicit density update and LoMaC correction introduced here."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Introduces the Local Macroscopic Conservative (LoMaC) low-rank tensor correction that the nonlinear VP version adapts to the sampling framework."},{"cited_title":null,"cited_arxiv_id":null,"evidence_quote":"Supplies Runge-Kutta exponential integrators for nonlinear Vlasov dynamics, used here to freeze the electric field and trace characteristics through linearized stages."},{"cited_title":"Alexander, Diagonally implicit Runge–Kutta methods for stiff ODE’s , SIAM Journal on Numerical Analysis, 14 (1977), pp","cited_arxiv_id":null,"evidence_quote":"Gives the stiffly accurate third-order diagonally implicit Runge-Kutta table used for the implicit charge-density update."}],"review_version":1}