[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-SciML--Catalyst.jl":3,"tool-SciML--Catalyst.jl":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":79,"owner_email":80,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":89,"forks":90,"last_commit_at":91,"license":92,"difficulty_score":23,"env_os":93,"env_gpu":94,"env_ram":94,"env_deps":95,"category_tags":105,"github_topics":106,"view_count":23,"oss_zip_url":79,"oss_zip_packed_at":79,"status":16,"created_at":122,"updated_at":123,"faqs":124,"releases":155},2804,"SciML\u002FCatalyst.jl","Catalyst.jl","Chemical reaction network and systems biology interface for scientific machine learning (SciML). High performance, GPU-parallelized, and O(1) solvers in open source software.","Catalyst.jl 是一款专为化学反应网络及系统生物学设计的高性能建模工具，旨在连接科学机器学习（SciML）与复杂动力学系统分析。它主要解决了传统方法在模拟大规模、高复杂度生物反应网络时效率低下且难以并行化的问题，让用户能够轻松构建并快速求解常微分方程（ODE）、随机微分方程（SDE）及混合动力学模型。\n\n这款软件非常适合科研人员、计算生物学家以及需要处理复杂系统模拟的开发者使用。用户既可以通过直观的领域专用语言（DSL）像书写化学方程式一样定义模型，也能通过编程方式灵活构建。Catalyst.jl 的核心亮点在于其基于符号计算引擎，能够自动利用系统的稀疏性、高效构建雅可比矩阵并进行依赖图分析。结合 Julia 语言的生态优势，它支持 GPU 并行加速，实现了常数时间复杂度（O(1)）的高效求解器，显著提升了灵敏度分析、参数估计及分岔分析等任务的计算速度，是探索生命系统动态行为的强大助手。","# Catalyst.jl\n\n[![Latest Release (for users)](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest_release_(for_users)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002F)\n[![Master (for developers)](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-master_branch_(for_devs)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fdev\u002F)\n\u003C!--[![API Latest Release (for users)](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-latest_release_(for_users)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fapi\u002F)\n[![API Master (for developers](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-master_branch_(for_devs)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fdev\u002Fapi\u002F)\n[![Join the chat at https:\u002F\u002Fjulialang.zulipchat.com #sciml-bridged](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https:\u002F\u002Fjulialang.zulipchat.com\u002F#narrow\u002Fstream\u002F279055-sciml-bridged)-->\n\n[![Tests](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTest.yml)\n[![Extensions Tests](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTestExtensions.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTestExtensions.yml)\n\u003C!--[![Codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002FSciML\u002FCatalyst.jl\u002Fgraph\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcodecov.io\u002Fgh\u002FSciML\u002FCatalyst.jl)-->\n\n[![ColPrac: Contributor's Guide on Collaborative Practices for Community Packages](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FColPrac-Contributor's%20Guide-blueviolet)](https:\u002F\u002Fgithub.com\u002FSciML\u002FColPrac)\n[![SciML Code Style](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https:\u002F\u002Fgithub.com\u002FSciML\u002FSciMLStyle)\n[![Citation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPublication-389826)](https:\u002F\u002Fjournals.plos.org\u002Fploscompbiol\u002Farticle?id=10.1371\u002Fjournal.pcbi.1011530)\n\nCatalyst.jl is a symbolic modeling package for analysis and high-performance simulation of chemical reaction networks and related dynamical systems. Models can be specified using an intuitive [domain-specific language (DSL)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fdsl_basics\u002F) or constructed [programmatically](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fprogrammatic_CRN_construction\u002F). Catalyst supports ODE, steady-state ODE, SDE, stochastic chemical kinetics (jump), and [hybrid](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_introduction\u002F) simulations, including models that couple reactions with differential equations, events, and external noise (via Brownian Motions and\u002For Poisson Processes).\n\nBuilt on [ModelingToolkitBase.jl](https:\u002F\u002Fgithub.com\u002FSciML\u002FModelingToolkit.jl\u002Ftree\u002Fmaster\u002Flib\u002FModelingToolkitBase) and [Symbolics.jl](https:\u002F\u002Fgithub.com\u002FJuliaSymbolics\u002FSymbolics.jl), Catalyst leverages symbolic computation for sparsity exploitation, Jacobian construction, dependency graph analysis, and parallelism. Generated models integrate with the broader Julia and [SciML](https:\u002F\u002Fsciml.ai) ecosystems for sensitivity analysis, parameter estimation, bifurcation analysis, and more.\n\n## Installation\nCatalyst can be installed as follows.\n```julia\nusing Pkg\n\n# (optional but recommended) create new environment in which to install Catalyst\nPkg.activate(\"catalyst_environment\")\n\n# install latest Catalyst release\nPkg.add(\"Catalyst\")\n```\n\n## What's new in v16\n\n**Version 16 is a breaking release.** Most breaking changes primarily affect libraries built on top of Catalyst. Please see [HISTORY.md](HISTORY.md) for the full list of breaking changes and migration guide.\n\nHighlights:\n- **ModelingToolkitBase foundation** — Without any reduction in core functionality, Catalyst now depends on [ModelingToolkitBase](https:\u002F\u002Fgithub.com\u002FSciML\u002FModelingToolkit.jl\u002Ftree\u002Fmaster\u002Flib\u002FModelingToolkitBase) instead of ModelingToolkit, to avoid adding new, non-MIT licensed dependencies. \n- **ModelingToolkit compatible** - Catalyst is still compatible with ModelingToolkit for users who want to leverage more powerful, but non-MIT licensed, structural simplification libraries (e.g. for Catalyst-generated DAE models).\n- **Hybrid models** — New `HybridProblem` and `hybrid_model` allow mixing ODE, SDE, and Jump reactions in a single system via per-reaction `PhysicalScale` metadata.\n- **Simplified jump API** — Create jump problems directly with `JumpProblem(rs, u0, tspan, ps)`, with no `DiscreteProblem` or `JumpInputs` intermediate.\n- **New DSL options** — `@brownians` and `@poissonians` for coupling environmental noise, `@discretes` for event-modified parameters, `@tstops` for solver time stops, and `=>` syntax for event affects.\n- **Modernized conversion API** — `ode_model`, `sde_model`, `jump_model`, and `ss_ode_model` replace the old `convert(ODESystem, rs)` pattern, and all generate ModelingToolkitBase `System`s.\n- **Unit validation** — `@unit_checks` DSL option and `validate_units`\u002F`assert_valid_units` functions with full support for non-SI units via [DynamicQuantities.jl](https:\u002F\u002Fgithub.com\u002FSymbolicML\u002FDynamicQuantities.jl) symbolic units.\n\n## Tutorials and documentation\n\nThe latest tutorials and information on using Catalyst are available in the [stable documentation](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002F). The [in-development documentation](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fdev\u002F) describes unreleased features in the current master branch.\n\nAn overview of the package, its features, and comparative benchmarking (as of version 13) can also be found in its corresponding research paper, [Catalyst: Fast and flexible modeling of reaction networks](https:\u002F\u002Fjournals.plos.org\u002Fploscompbiol\u002Farticle?id=10.1371\u002Fjournal.pcbi.1011530).\n\n## Features\n\n- [**DSL for reaction networks**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fdsl_basics\u002F) — a readable, concise format for specifying models using chemical reaction notation.\n- [**Multiple simulation types**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_introduction\u002F) — generate and simulate ODE, steady-state ODE, SDE, jump, and hybrid models from a single `ReactionSystem`.\n- [**Coupled models**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcoupled_non_crn_models\u002F) — combine reactions with differential equations, [events](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fevents\u002F), Brownian noise (`@brownians`), and Poisson jumps (`@poissonians`).\n- [**Network analysis**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fnetwork_analysis\u002Fcrn_theory\u002F) — compute linkage classes, deficiencies, reversibility, and other network properties.\n- [**Compositional modeling**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcompositional_modeling\u002F) — build models hierarchically using `@network_component`, `compose`, and `extend`.\n- [**Spatial modeling**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fspatial_modelling\u002Fdiscrete_space_reaction_systems\u002F) — simulate reaction networks on discrete spatial domains.\n- [**Steady state analysis**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fsteady_state_functionality\u002Fhomotopy_continuation\u002F) — find and analyze steady states, stability, and bifurcation diagrams.\n- [**Inverse problems**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Finverse_problems\u002Foptimization_ode_param_fitting\u002F) — parameter estimation, sensitivity analysis, and structural identifiability.\n- [**Model I\u002FO**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fmodel_file_loading_and_export\u002F) — import from SBML and BioNetGen `.net` files, export to LaTeX and other formats.\n- [**Visualization**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fmodel_visualisation\u002F) — reaction network graphs and LaTeX rendering.\n\n## Quick examples\n\n#### Deterministic ODE simulation of Michaelis-Menten enzyme kinetics\nHere we show a simple example where a model is created using the Catalyst DSL, and then simulated as\nan ordinary differential equation.\n\n```julia\n# Fetch required packages.\nusing Catalyst, OrdinaryDiffEqDefault, Plots\n\n# Create model.\nmodel = @reaction_network begin\n    kB, S + E --> SE\n    kD, SE --> S + E\n    kP, SE --> P + E\nend\n\n# Create an ODE that can be simulated.\nu0 = [:S => 50.0, :E => 10.0, :SE => 0.0, :P => 0.0]\ntspan = (0., 200.)\nps = [:kB => 0.01, :kD => 0.1, :kP => 0.1]\node = ODEProblem(model, u0, tspan, ps)\n\n# Simulate ODE and plot results.\nsol = solve(ode)\nplot(sol; lw = 5)\n```\n![ODE simulation](docs\u002Fsrc\u002Fassets\u002Freadme_ode_plot.svg)\n\n#### Stochastic jump simulations\nThe same model can be used as input to other types of simulations. E.g. here we\ninstead generate and simulate a stochastic chemical kinetics jump process model\nfor the reaction network. An exact realization of the jump process is sampled\nusing an auto-selected stochastic simulation algorithm (SSA) (which for the\nsmall network in the current example ends up being Gillespie's Direct method):\n```julia\n# The initial conditions are now integers as we track exact populations for each species.\nusing JumpProcesses\nu0_integers = [:S => 50, :E => 10, :SE => 0, :P => 0]\njprob = JumpProblem(model, u0_integers, tspan, ps)\njump_sol = solve(jprob)\nplot(jump_sol; lw = 2)\n```\n![Jump simulation](docs\u002Fsrc\u002Fassets\u002Freadme_jump_plot.svg)\n\n\n#### SDE simulation with coupled equations, events, and environmental noise\nThis example demonstrates several Catalyst features composing together. We model\na cell whose volume ($V$) grows proportionally to a phosphorylated growth factor\n($G^P$), with environmental stochasticity ($\\sigma\\,dW$) added via the `@brownians`\nDSL option. The phosphorylation of $G$ ($G \\to G^P$) is driven by a cyclic\nsunlight signal $k_p(\\sin(t)+1)$, and cell division occurs when the volume\nreaches a critical threshold $V_m$:\n```julia\nusing Catalyst\ncell_model = @reaction_network begin\n    @parameters Vₘ g σ\n    @brownians W\n    @equations begin\n        D(V) ~ g*Gᴾ + σ*W\n    end\n    @continuous_events begin\n        [V ~ Vₘ] => [V => V\u002F2]\n    end\n    kₚ*(sin(t)+1)\u002FV, G --> Gᴾ\n    kᵢ\u002FV, Gᴾ --> G\nend\n```\nWe now study the system as a Chemical Langevin Dynamics SDE model:\n```julia\nu0 = [:V => 25.0, :G => 50.0, :Gᴾ => 0.0]\ntspan = (0.0, 20.0)\nps = [:Vₘ => 50.0, :g => 0.3, :kₚ => 100.0, :kᵢ => 60.0, :σ => 0.5]\nsprob = SDEProblem(cell_model, u0, tspan, ps)\n```\nThis problem encodes the following stochastic differential equation model:\n```math\n\\begin{align*}\ndG(t) &=  - \\left( \\frac{k_p(\\sin(t)+1)}{V(t)} G(t) + \\frac{k_i}{V(t)} G^P(t) \\right) dt - \\sqrt{\\frac{k_p (\\sin(t)+1)}{V(t)} G(t)} \\, dW_1(t) + \\sqrt{\\frac{k_i}{V(t)} G^P(t)} \\, dW_2(t) \\\\\ndG^P(t) &= \\left( \\frac{k_p(\\sin(t)+1)}{V(t)} G(t) - \\frac{k_i}{V(t)} G^P(t) \\right) dt + \\sqrt{\\frac{k_p (\\sin(t)+1)}{V(t)} G(t)} \\, dW_1(t) - \\sqrt{\\frac{k_i}{V(t)} G^P(t)} \\, dW_2(t) \\\\\ndV(t) &= \\left(g \\, G^P(t)\\right) dt + \\sigma \\, dW(t)\n\\end{align*}\n```\nwhere $dW_1(t)$ and $dW_2(t)$ are the Chemical Langevin Equation noise terms from the reactions, and $dW(t)$ is an independent Brownian motion representing environmental stochasticity. Finally, we can simulate and plot the results:\n```julia\nusing StochasticDiffEq, Plots\nsol = solve(sprob, EM(); dt = 0.05)\nplot(sol; xguide = \"Time (au)\", lw = 2)\n```\n![Elaborate SDE simulation](docs\u002Fsrc\u002Fassets\u002Freadme_elaborate_sde_plot.svg)\n\nSome features used here:\n- [Coupled differential equations](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcoupled_non_crn_models\u002F) modeled the cell volume alongside the reaction network.\n- [Events](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fevents\u002F) triggered cell division when the volume reached a threshold.\n- [`@brownians`](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fdsl_basics\u002F) added environmental noise to the volume equation.\n- Specific [solver and solver options](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_introduction\u002F) were selected for the SDE simulation.\n- The simulation was [plotted using Plots.jl](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_plotting\u002F).\n\n## Ecosystem\n\nCatalyst integrates with a wide range of Julia packages:\n\n| Category | Packages |\n|----------|----------|\n| ODE\u002FSDE\u002FJump solving | [OrdinaryDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FOrdinaryDiffEq.jl), [StochasticDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FStochasticDiffEq.jl), [JumpProcesses](https:\u002F\u002Fgithub.com\u002FSciML\u002FJumpProcesses.jl) |\n| GPU parallelism | [DiffEqGPU](https:\u002F\u002Fgithub.com\u002FSciML\u002FDiffEqGPU.jl) |\n| Steady states & bifurcations | [HomotopyContinuation](https:\u002F\u002Fgithub.com\u002FJuliaHomotopyContinuation\u002FHomotopyContinuation.jl), [SteadyStateDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FSteadyStateDiffEq.jl), [NonlinearSolve](https:\u002F\u002Fgithub.com\u002FSciML\u002FNonlinearSolve.jl), [BifurcationKit](https:\u002F\u002Fgithub.com\u002Fbifurcationkit\u002FBifurcationKit.jl) |\n| Parameter estimation | [Optimization](https:\u002F\u002Fgithub.com\u002FSciML\u002FOptimization.jl), [PEtab](https:\u002F\u002Fgithub.com\u002Fsebapersson\u002FPEtab.jl), [Turing](https:\u002F\u002Fgithub.com\u002FTuringLang\u002FTuring.jl) |\n| Sensitivity & identifiability | [GlobalSensitivity](https:\u002F\u002Fgithub.com\u002FSciML\u002FGlobalSensitivity.jl), [SciMLSensitivity](https:\u002F\u002Fgithub.com\u002FSciML\u002FSciMLSensitivity.jl), [StructuralIdentifiability](https:\u002F\u002Fgithub.com\u002FSciML\u002FStructuralIdentifiability.jl) |\n| Dynamical systems | [DynamicalSystems](https:\u002F\u002Fgithub.com\u002FJuliaDynamics\u002FDynamicalSystems.jl) |\n| Visualization | [Plots](https:\u002F\u002Fgithub.com\u002FJuliaPlots\u002FPlots.jl), [Makie](https:\u002F\u002Fgithub.com\u002FMakieOrg\u002FMakie.jl), [GraphMakie](https:\u002F\u002Fgithub.com\u002FMakieOrg\u002FGraphMakie.jl), [Latexify](https:\u002F\u002Fkorsbo.github.io\u002FLatexify.jl\u002Fstable\u002F) |\n| Model import | [SBMLImporter](https:\u002F\u002Fgithub.com\u002Fsebapersson\u002FSBMLImporter.jl), [SBMLToolkit](https:\u002F\u002Fgithub.com\u002FSciML\u002FSBMLToolkit.jl), [ReactionNetworkImporters](https:\u002F\u002Fgithub.com\u002FSciML\u002FReactionNetworkImporters.jl) |\n| Stochastic extensions | [MomentClosure](https:\u002F\u002Fgithub.com\u002Faugustinas1\u002FMomentClosure.jl), [FiniteStateProjection](https:\u002F\u002Fgithub.com\u002Fkaandocal\u002FFiniteStateProjection.jl), [DelaySSAToolkit](https:\u002F\u002Fgithub.com\u002Fpalmtree2013\u002FDelaySSAToolkit.jl) |\n\n## Getting help or getting involved\nCatalyst developers are active on the [Julia Discourse](https:\u002F\u002Fdiscourse.julialang.org\u002F) and\nthe [Julia Slack](https:\u002F\u002Fjulialang.slack.com) channels \\#sciml-bridged and \\#sciml-sysbio.\nFor bugs or feature requests, [open an issue](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues).\n\n## Supporting and citing Catalyst.jl\nThe software in this ecosystem was developed as part of academic research. If you would like to help\nsupport it, please star the repository as such metrics may help us secure funding in the future. If\nyou use Catalyst as part of your research, teaching, or other activities, we would be grateful if you\ncould cite our work:\n```\n@article{CatalystPLOSCompBio2023,\n doi = {10.1371\u002Fjournal.pcbi.1011530},\n author = {Loman, Torkel E. AND Ma, Yingbo AND Ilin, Vasily AND Gowda, Shashi AND Korsbo, Niklas AND Yewale, Nikhil AND Rackauckas, Chris AND Isaacson, Samuel A.},\n journal = {PLOS Computational Biology},\n publisher = {Public Library of Science},\n title = {Catalyst: Fast and flexible modeling of reaction networks},\n year = {2023},\n month = {10},\n volume = {19},\n url = {https:\u002F\u002Fdoi.org\u002F10.1371\u002Fjournal.pcbi.1011530},\n pages = {1-19},\n number = {10},\n}\n```\n","# Catalyst.jl\n\n[![最新版本（面向用户）](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-latest_release_(for_users)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002F)\n[![主分支（面向开发者）](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-master_branch_(for_devs)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fdev\u002F)\n\u003C!--[![API 最新版本（面向用户）](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-latest_release_(for_users)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fapi\u002F)\n[![API 主分支（面向开发者）](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAPI-master_branch_(for_devs)-blue.svg)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fdev\u002Fapi\u002F)\n[![加入 Zulip 聊天室 https:\u002F\u002Fjulialang.zulipchat.com #sciml-bridged](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=Zulip&message=chat&color=9558b2&labelColor=389826)](https:\u002F\u002Fjulialang.zulipchat.com\u002F#narrow\u002Fstream\u002F279055-sciml-bridged)-->\n\n[![测试](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTest.yml)\n[![扩展测试](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTestExtensions.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Factions\u002Fworkflows\u002FTestExtensions.yml)\n\u003C!--[![Codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002FSciML\u002FCatalyst.jl\u002Fgraph\u002Fbadge.svg?branch=master)](https:\u002F\u002Fcodecov.io\u002Fgh\u002FSciML\u002FCatalyst.jl)-->\n\n[![ColPrac：社区包协作指南](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FColPrac-Contributor's%20Guide-blueviolet)](https:\u002F\u002Fgithub.com\u002FSciML\u002FColPrac)\n[![SciML 代码风格](https:\u002F\u002Fimg.shields.io\u002Fstatic\u002Fv1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https:\u002F\u002Fgithub.com\u002FSciML\u002FSciMLStyle)\n[![引用](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPublication-389826)](https:\u002F\u002Fjournals.plos.org\u002Fploscompbiol\u002Farticle?id=10.1371\u002Fjournal.pcbi.1011530)\n\nCatalyst.jl 是一个用于分析和高性能模拟化学反应网络及相关动力学系统的符号建模软件包。模型可以通过直观的领域特定语言（DSL）指定，或以编程方式构建。Catalyst 支持常微分方程、稳态常微分方程、随机微分方程、随机化学动力学（跳跃过程）以及混合仿真，包括将反应与微分方程、事件和外部噪声（通过布朗运动和\u002F或泊松过程）耦合的模型。\n\nCatalyst 基于 ModelingToolkitBase.jl 和 Symbolics.jl 构建，利用符号计算来实现稀疏性利用、雅可比矩阵构造、依赖图分析和并行化。生成的模型可以与更广泛的 Julia 和 SciML 生态系统集成，用于灵敏度分析、参数估计、分支分析等。\n\n## 安装\nCatalyst 可以按以下方式安装。\n```julia\nusing Pkg\n\n# （可选但推荐）创建一个新的环境来安装 Catalyst\nPkg.activate(\"catalyst_environment\")\n\n# 安装最新版 Catalyst\nPkg.add(\"Catalyst\")\n```\n\n## v16 的新特性\n\n**版本 16 是一个破坏性更新。** 大多数破坏性更改主要影响基于 Catalyst 构建的库。请参阅 HISTORY.md 以获取完整的破坏性更改列表和迁移指南。\n\n亮点：\n- **ModelingToolkitBase 基础** — 在不减少核心功能的前提下，Catalyst 现在依赖于 ModelingToolkitBase（而非 ModelingToolkit），以避免引入新的非 MIT 许可证的依赖项。\n- **与 ModelingToolkit 兼容** — 对于希望利用更强大但非 MIT 许可证的结构简化库（例如针对 Catalyst 生成的 DAE 模型）的用户，Catalyst 仍然与 ModelingToolkit 兼容。\n- **混合模型** — 新的 HybridProblem 和 hybrid_model 允许通过每条反应的 PhysicalScale 元数据，在单个系统中混合 ODE、SDE 和跳跃反应。\n- **简化的跳跃 API** — 直接使用 JumpProblem(rs, u0, tspan, ps) 创建跳跃问题，无需中间步骤如 DiscreteProblem 或 JumpInputs。\n- **新的 DSL 选项** — @brownians 和 @poissonians 用于耦合环境噪声，@discretes 用于事件修改的参数，@tstops 用于求解器的时间停止点，以及 => 语法用于事件的影响。\n- **现代化的转换 API** — ode_model、sde_model、jump_model 和 ss_ode_model 替代了旧的 convert(ODESystem, rs) 模式，并且都生成 ModelingToolkitBase 的 System。\n- **单位验证** — @unit_checks DSL 选项以及 validate_units\u002Fassert_valid_units 函数，通过 DynamicQuantities.jl 提供的符号单位，全面支持非 SI 单位。\n\n## 教程和文档\n\n有关使用 Catalyst 的最新教程和信息，请参阅稳定版文档。正在开发中的文档则介绍了当前主分支中尚未发布的功能。\n\n该软件包的概述、其功能以及与现有工具的比较基准测试（截至版本 13）也可以在其相应的研究论文《Catalyst：快速灵活的反应网络建模》中找到。\n\n## 特性\n\n- [**用于反应网络的 DSL**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fdsl_basics\u002F) — 一种可读性强、简洁的格式，使用化学反应符号来定义模型。\n- [**多种模拟类型**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_introduction\u002F) — 可从单个 `ReactionSystem` 生成并模拟常微分方程、稳态常微分方程、随机微分方程、跳跃过程以及混合模型。\n- [**耦合模型**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcoupled_non_crn_models\u002F) — 将反应与微分方程、[事件](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fevents\u002F)、布朗噪声（`@brownians`）和泊松跳跃（`@poissonians`）相结合。\n- [**网络分析**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fnetwork_analysis\u002Fcrn_theory\u002F) — 计算连通类、亏格、可逆性及其他网络属性。\n- [**组合建模**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcompositional_modeling\u002F) — 使用 `@network_component`、`compose` 和 `extend` 按层次结构构建模型。\n- [**空间建模**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fspatial_modelling\u002Fdiscrete_space_reaction_systems\u002F) — 在离散空间域上模拟反应网络。\n- [**稳态分析**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fsteady_state_functionality\u002Fhomotopy_continuation\u002F) — 寻找并分析稳态点、稳定性及分岔图。\n- [**反问题**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Finverse_problems\u002Foptimization_ode_param_fitting\u002F) — 参数估计、灵敏度分析和结构辨识性。\n- [**模型输入输出**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fmodel_file_loading_and_export\u002F) — 从 SBML 和 BioNetGen `.net` 文件导入，导出为 LaTeX 等格式。\n- [**可视化**](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fmodel_visualisation\u002F) — 反应网络图及 LaTeX 渲染。\n\n## 快速示例\n\n#### 米氏酶动力学的确定性常微分方程模拟\n下面我们展示一个简单的例子：使用 Catalyst DSL 创建模型，然后将其作为常微分方程进行模拟。\n\n```julia\n# 获取所需包。\nusing Catalyst, OrdinaryDiffEqDefault, Plots\n\n# 创建模型。\nmodel = @reaction_network begin\n    kB, S + E --> SE\n    kD, SE --> S + E\n    kP, SE --> P + E\nend\n\n# 创建可模拟的常微分方程问题。\nu0 = [:S => 50.0, :E => 10.0, :SE => 0.0, :P => 0.0]\ntspan = (0., 200.)\nps = [:kB => 0.01, :kD => 0.1, :kP => 0.1]\node = ODEProblem(model, u0, tspan, ps)\n\n# 模拟常微分方程并绘制结果。\nsol = solve(ode)\nplot(sol; lw = 5)\n```\n![ODE 模拟](docs\u002Fsrc\u002Fassets\u002Freadme_ode_plot.svg)\n\n#### 随机跳跃过程模拟\n同样的模型也可以用作其他类型模拟的输入。例如，这里我们为该反应网络生成并模拟了一个随机化学动力学跳跃过程模型。通过自动选择的随机模拟算法（SSA）对跳跃过程进行精确采样（对于当前示例中的小型网络，最终采用的是 Gillespie 的直接法）：\n```julia\n# 初始条件现在是整数，因为我们跟踪每个物种的精确种群数量。\nusing JumpProcesses\nu0_integers = [:S => 50, :E => 10, :SE => 0, :P => 0]\njprob = JumpProblem(model, u0_integers, tspan, ps)\njump_sol = solve(jprob)\nplot(jump_sol; lw = 2)\n```\n![跳跃模拟](docs\u002Fsrc\u002Fassets\u002Freadme_jump_plot.svg)\n\n\n#### 带有耦合方程、事件和环境噪声的 SDE 模拟\n本示例展示了多个 Catalyst 功能的组合应用。我们模拟了一个细胞，其体积 ($V$) 随磷酸化生长因子 ($G^P$) 的增加而按比例增长，并通过 `@brownians` DSL 选项添加了环境随机性 ($\\sigma\\,dW$)。$G$ 的磷酸化过程 ($G \\to G^P$) 受周期性光照信号 $k_p(\\sin(t)+1)$ 的驱动，当细胞体积达到临界阈值 $V_m$ 时会发生细胞分裂：\n```julia\nusing Catalyst\ncell_model = @reaction_network begin\n    @parameters Vₘ g σ\n    @brownians W\n    @equations begin\n        D(V) ~ g*Gᴾ + σ*W\n    end\n    @continuous_events begin\n        [V ~ Vₘ] => [V => V\u002F2]\n    end\n    kₚ*(sin(t)+1)\u002FV, G --> Gᴾ\n    kᵢ\u002FV, Gᴾ --> G\nend\n```\n现在我们将该系统作为化学朗之万动力学随机微分方程模型进行研究：\n```julia\nu0 = [:V => 25.0, :G => 50.0, :Gᴾ => 0.0]\ntspan = (0.0, 20.0)\nps = [:Vₘ => 50.0, :g => 0.3, :kₚ => 100.0, :kᵢ => 60.0, :σ => 0.5]\nsprob = SDEProblem(cell_model, u0, tspan, ps)\n```\n该问题编码了以下随机微分方程模型：\n```math\n\\begin{align*}\ndG(t) &=  - \\left( \\frac{k_p(\\sin(t)+1)}{V(t)} G(t) + \\frac{k_i}{V(t)} G^P(t) \\right) dt - \\sqrt{\\frac{k_p (\\sin(t)+1)}{V(t)} G(t)} \\, dW_1(t) + \\sqrt{\\frac{k_i}{V(t)} G^P(t)} \\, dW_2(t) \\\\\ndG^P(t) &= \\left( \\frac{k_p(\\sin(t)+1)}{V(t)} G(t) - \\frac{k_i}{V(t)} G^P(t) \\right) dt + \\sqrt{\\frac{k_p (\\sin(t)+1)}{V(t)} G(t)} \\, dW_1(t) - \\sqrt{\\frac{k_i}{V(t)} G^P(t)} \\, dW_2(t) \\\\\ndV(t) &= \\left(g \\, G^P(t)\\right) dt + \\sigma \\, dW(t)\n\\end{align*}\n```\n其中 $dW_1(t)$ 和 $dW_2(t)$ 是来自反应的化学朗之万方程噪声项，而 $dW(t)$ 是代表环境随机性的独立布朗运动。最后，我们可以模拟并绘制结果：\n```julia\nusing StochasticDiffEq, Plots\nsol = solve(sprob, EM(); dt = 0.05)\nplot(sol; xguide = \"Time (au)\", lw = 2)\n```\n![复杂的 SDE 模拟](docs\u002Fsrc\u002Fassets\u002Freadme_elaborate_sde_plot.svg)\n\n此处使用的一些特性：\n- [耦合微分方程](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fcoupled_non_crn_models\u002F) 与反应网络一起对细胞体积进行了建模。\n- [事件](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fevents\u002F) 在细胞体积达到阈值时触发细胞分裂。\n- [`@brownians`](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_creation\u002Fdsl_basics\u002F) 为体积方程添加了环境噪声。\n- 为 SDE 模拟选择了特定的 [求解器及求解器选项](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_introduction\u002F)。\n- 使用 [Plots.jl](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002Fmodel_simulation\u002Fsimulation_plotting\u002F) 对模拟结果进行了绘图。\n\n## 生态系统\n\nCatalyst 与广泛的 Julia 生态包集成：\n\n| 类别 | 包 |\n|----------|----------|\n| ODE\u002FSDE\u002F跳跃方程求解 | [OrdinaryDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FOrdinaryDiffEq.jl)、[StochasticDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FStochasticDiffEq.jl)、[JumpProcesses](https:\u002F\u002Fgithub.com\u002FSciML\u002FJumpProcesses.jl) |\n| GPU 并行计算 | [DiffEqGPU](https:\u002F\u002Fgithub.com\u002FSciML\u002FDiffEqGPU.jl) |\n| 定常态与分岔分析 | [HomotopyContinuation](https:\u002F\u002Fgithub.com\u002FJuliaHomotopyContinuation\u002FHomotopyContinuation.jl)、[SteadyStateDiffEq](https:\u002F\u002Fgithub.com\u002FSciML\u002FSteadyStateDiffEq.jl)、[NonlinearSolve](https:\u002F\u002Fgithub.com\u002FSciML\u002FNonlinearSolve.jl)、[BifurcationKit](https:\u002F\u002Fgithub.com\u002Fbifurcationkit\u002FBifurcationKit.jl) |\n| 参数估计 | [Optimization](https:\u002F\u002Fgithub.com\u002FSciML\u002FOptimization.jl)、[PEtab](https:\u002F\u002Fgithub.com\u002Fsebapersson\u002FPEtab.jl)、[Turing](https:\u002F\u002Fgithub.com\u002FTuringLang\u002FTuring.jl) |\n| 敏感性与可辨识性分析 | [GlobalSensitivity](https:\u002F\u002Fgithub.com\u002FSciML\u002FGlobalSensitivity.jl)、[SciMLSensitivity](https:\u002F\u002Fgithub.com\u002FSciML\u002FSciMLSensitivity.jl)、[StructuralIdentifiability](https:\u002F\u002Fgithub.com\u002FSciML\u002FStructuralIdentifiability.jl) |\n| 动力系统 | [DynamicalSystems](https:\u002F\u002Fgithub.com\u002FJuliaDynamics\u002FDynamicalSystems.jl) |\n| 可视化 | [Plots](https:\u002F\u002Fgithub.com\u002FJuliaPlots\u002FPlots.jl)、[Makie](https:\u002F\u002Fgithub.com\u002FMakieOrg\u002FMakie.jl)、[GraphMakie](https:\u002F\u002Fgithub.com\u002FMakieOrg\u002FGraphMakie.jl)、[Latexify](https:\u002F\u002Fkorsbo.github.io\u002FLatexify.jl\u002Fstable\u002F) |\n| 模型导入 | [SBMLImporter](https:\u002F\u002Fgithub.com\u002Fsebapersson\u002FSBMLImporter.jl)、[SBMLToolkit](https:\u002F\u002Fgithub.com\u002FSciML\u002FSBMLToolkit.jl)、[ReactionNetworkImporters](https:\u002F\u002Fgithub.com\u002FSciML\u002FReactionNetworkImporters.jl) |\n| 随机扩展 | [MomentClosure](https:\u002F\u002Fgithub.com\u002Faugustinas1\u002FMomentClosure.jl)、[FiniteStateProjection](https:\u002F\u002Fgithub.com\u002Fkaandocal\u002FFiniteStateProjection.jl)、[DelaySSAToolkit](https:\u002F\u002Fgithub.com\u002Fpalmtree2013\u002FDelaySSAToolkit.jl) |\n\n## 获取帮助或参与\nCatalyst 的开发者活跃于 [Julia Discourse](https:\u002F\u002Fdiscourse.julialang.org\u002F) 和\n[Julia Slack](https:\u002F\u002Fjulialang.slack.com) 中的 \\#sciml-bridged 和 \\#sciml-sysbio 频道。\n如遇问题或有功能需求，请 [提交 issue](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues)。\n\n## 支持与引用 Catalyst.jl\n本生态中的软件是在学术研究背景下开发的。若您希望支持该项目，欢迎为仓库点赞，因为这类指标有助于我们未来争取更多资金支持。若您在科研、教学或其他活动中使用了 Catalyst，我们诚挚地感谢您引用我们的工作：\n```\n@article{CatalystPLOSCompBio2023,\n doi = {10.1371\u002Fjournal.pcbi.1011530},\n author = {Loman, Torkel E. AND Ma, Yingbo AND Ilin, Vasily AND Gowda, Shashi AND Korsbo, Niklas AND Yewale, Nikhil AND Rackauckas, Chris AND Isaacson, Samuel A.},\n journal = {PLOS Computational Biology},\n publisher = {Public Library of Science},\n title = {Catalyst: 快速且灵活的反应网络建模},\n year = {2023},\n month = {10},\n volume = {19},\n url = {https:\u002F\u002Fdoi.org\u002F10.1371\u002Fjournal.pcbi.1011530},\n pages = {1-19},\n number = {10},\n}\n```","# Catalyst.jl 快速上手指南\n\nCatalyst.jl 是一个用于化学反应网络及相关动力系统分析与高性能模拟的符号建模包。它支持通过直观的领域特定语言（DSL）或编程方式构建模型，并生成常微分方程（ODE）、随机微分方程（SDE）、随机跳跃过程（Jump）及混合模型。\n\n## 环境准备\n\n*   **操作系统**：Windows, macOS, Linux\n*   **核心依赖**：[Julia](https:\u002F\u002Fjulialang.org\u002F) (建议版本 1.9 或更高)\n*   **推荐工具**：VS Code (配合 Julia 插件) 或 Jupyter Notebook\n*   **网络提示**：首次安装时若下载缓慢，可配置国内镜像源（见安装步骤）。\n\n## 安装步骤\n\n打开 Julia REPL，执行以下命令进行安装。\n\n### 1. 配置国内镜像源（可选但推荐）\n为了加速包的下载，建议先添加清华或中科大镜像源：\n\n```julia\nimport Pkg\nPkg.Registry.add(RegistrySpec(url=\"https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fgit\u002Fjulia\u002FGeneral.git\"))\nENV[\"JULIA_PKG_SERVER\"] = \"https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fjulia\"\n```\n\n### 2. 创建环境并安装 Catalyst\n建议在独立环境中安装以避免依赖冲突：\n\n```julia\nusing Pkg\n\n# 创建并激活名为 \"catalyst_environment\" 的新环境\nPkg.activate(\"catalyst_environment\")\n\n# 安装最新稳定版 Catalyst\nPkg.add(\"Catalyst\")\n\n# 安装求解器和绘图库（用于后续示例）\nPkg.add([\"OrdinaryDiffEqDefault\", \"Plots\"])\n```\n\n## 基本使用\n\n以下是最简单的使用示例：定义一个米氏酶动力学（Michaelis-Menten）反应网络，并将其作为常微分方程（ODE）进行模拟和绘图。\n\n### 1. 定义模型与模拟 ODE\n\n```julia\n# 加载必要的包\nusing Catalyst, OrdinaryDiffEqDefault, Plots\n\n# 使用 DSL 定义反应网络模型\n# 格式：速率常数，反应物 --> 生成物\nmodel = @reaction_network begin\n    kB, S + E --> SE\n    kD, SE --> S + E\n    kP, SE --> P + E\nend\n\n# 设置初始条件 (u0)、时间范围 (tspan) 和参数 (ps)\nu0 = [:S => 50.0, :E => 10.0, :SE => 0.0, :P => 0.0]\ntspan = (0., 200.)\nps = [:kB => 0.01, :kD => 0.1, :kP => 0.1]\n\n# 构建 ODE 问题\node = ODEProblem(model, u0, tspan, ps)\n\n# 求解并绘图\nsol = solve(ode)\nplot(sol; lw = 5, title=\"Michaelis-Menten ODE Simulation\", xlabel=\"Time\", ylabel=\"Concentration\")\n```\n\n### 2. 随机跳跃模拟 (Stochastic Jump Simulation)\n\nCatalyst 的强大之处在于同一模型可直接用于随机模拟，无需重新定义结构。只需将初始条件改为整数（代表分子数量），并使用 `JumpProblem`。\n\n```julia\nusing JumpProcesses\n\n# 初始条件必须为整数，因为追踪的是确切分子数\nu0_integers = [:S => 50, :E => 10, :SE => 0, :P => 0]\n\n# 构建跳跃问题 (自动选择 SSA 算法，如 Gillespie 直接法)\njprob = JumpProblem(model, u0_integers, tspan, ps)\n\n# 求解并绘图\njump_sol = solve(jprob)\nplot(jump_sol; lw = 2, title=\"Stochastic Jump Simulation\", xlabel=\"Time\", ylabel=\"Population\")\n```\n\n### 下一步\nCatalyst 还支持更高级的功能，包括：\n*   **混合模型**：耦合 ODE、SDE 和事件（如细胞分裂阈值）。\n*   **空间建模**：在离散空间域上模拟反应网络。\n*   **模型导入导出**：支持 SBML 和 BioNetGen 格式。\n*   **分析功能**：稳态分析、分岔分析及参数估计。\n\n详细教程请参阅 [官方文档 (中文社区翻译版或英文版)](https:\u002F\u002Fdocs.sciml.ai\u002FCatalyst\u002Fstable\u002F)。","某生物制药公司的计算生物学团队正在构建一个包含数百种蛋白质相互作用的大规模细胞信号通路模型，旨在通过模拟预测新药对肿瘤生长的抑制效果。\n\n### 没有 Catalyst.jl 时\n- 研究人员必须手动推导并编写庞大的微分方程组代码，面对成百上千的反应式，极易出现抄写错误或遗漏变量。\n- 传统求解器在处理这种高维稀疏系统时效率低下，单次随机动力学模拟耗时数小时，无法在合理时间内完成参数扫描。\n- 难以灵活切换确定性（ODE）与随机性（Stochastic）模拟模式，若要研究低浓度分子下的噪声效应，需重构整个模型底层代码。\n- 缺乏自动化的雅可比矩阵生成与稀疏性优化，导致在进行灵敏度分析或参数估计时，计算资源消耗巨大且经常内存溢出。\n\n### 使用 Catalyst.jl 后\n- 团队利用 Catalyst.jl 直观的领域特定语言（DSL）直接描述化学反应网络，库自动符号化生成正确的微分方程，彻底消除了人工编码错误。\n- 借助其内置的 O(1) 复杂度求解器与 GPU 并行加速能力，大规模随机模拟速度提升了数个数量级，将数小时的计算缩短至分钟级。\n- 无需修改模型定义，仅需更改求解指令即可无缝切换于 ODE、SDE 或混合动力学模拟之间，快速验证不同假设下的系统行为。\n- 自动利用符号计算构建稀疏雅可比矩阵并优化依赖图，使得复杂的参数估计和分岔分析在普通工作站上也能流畅运行。\n\nCatalyst.jl 通过将复杂的生化网络建模转化为高效的符号计算流程，让科研人员从繁琐的代码实现中解放出来，专注于生物学机制的探索与发现。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FSciML_Catalyst.jl_ac5d30a4.png","SciML","SciML Open Source Scientific Machine Learning","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FSciML_dfb801ca.png","Open source software for scientific machine learning",null,"contact@chrisrackauckas.com","SciML_Org","https:\u002F\u002Fsciml.ai","https:\u002F\u002Fgithub.com\u002FSciML",[85],{"name":86,"color":87,"percentage":88},"Julia","#a270ba",100,512,81,"2026-03-30T06:18:26","NOASSERTION","Linux, macOS, Windows","未说明",{"notes":96,"python":97,"dependencies":98},"该工具基于 Julia 编程语言，而非 Python。安装需使用 Julia 的包管理器 (Pkg)。v16 版本为重大更新，底层依赖从 ModelingToolkit 迁移至 ModelingToolkitBase 以优化许可证兼容性。支持 ODE、SDE、随机跳跃及混合模型仿真，具备符号计算能力以利用稀疏性和并行化。","不适用 (基于 Julia 语言)",[99,100,101,102,103,104],"ModelingToolkitBase.jl","Symbolics.jl","OrdinaryDiffEq.jl","StochasticDiffEq.jl","JumpProcesses.jl","DynamicQuantities.jl",[53,26,54,13],[107,108,109,110,111,112,113,114,115,116,117,118,119,120,121],"differential-equations","chemical-reactions","reaction-network","sde","dsl","ode","gillespie-algorithm","biology","systems-biology","rate-laws","sciml","scientific-machine-learning","systems-biology-simulation","julia","simulation","2026-03-27T02:49:30.150509","2026-04-06T08:18:29.097197",[125,130,135,140,145,150],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},12970,"如何为 Catalyst.jl 添加发布说明（Release Notes）？","在调用 JuliaRegistrator 注册新版本时，可以在命令下方添加 Markdown 格式的文本作为发布说明。具体格式如下：\n\n@JuliaRegistrator register\n\nRelease notes:\n\n## Breaking changes\n\n- 在此处列出破坏性变更或其他更新内容\n\n这些说明会自动添加到注册表的 PR 中。如果安装了 TagBot，它们也会被添加到自动创建的 Release 版本中。若需更新已提交的注册 PR 的说明，只需重新运行 JuliaRegistrator 即可。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F127",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},12971,"remake 函数与 ODEProblem 构造函数在处理初始条件时有何区别？","remake 函数的设计初衷是保留旧值。例如，对于一个包含 3 个微分变量的问题 oprob，执行 remake(oprob, u0 = [Y => 1.0]) 是合法的，其他两个未知量将保留其原有数值。然而，如果直接将 [Y => 1.0] 作为唯一的初始条件传递给 ODEProblem 构造函数，则会被视为定义不完整（underspecification）并导致报错。因此，remake 更适合用于部分更新状态的场景。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F1088",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},12972,"如何在程序化构建的反应网络中实现随温度变化的速率常数？","可以通过创建一个耦合的约束 ODESystem 来实现。首先定义温度变量 T(t) 和速率变量 k(t)，然后构建一个描述温度变化梯度（如加热\u002F冷却速率）和速率计算逻辑（如 base_rate * T）的 ODESystem。最后，在创建 ReactionSystem 时，将该简化后的 ODESystem 作为 constraints 参数传入。这样无需为每个反应单独定义函数，即可处理包含数千个反应的大型网络中的动态速率常数。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F586",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},12973,"ReactionStruct 结构体中包含哪些关键字段及其用途？","ReactionStruct 主要包含以下字段：\n1. substrates\u002Fproducts: 反应物和生成物列表。\n2. dependants: 依赖项列表，用于构建依赖图。\n3. rate_org: DSL 输入的原始速率表达式（如 3.5），供 MassActionJumps 使用。\n4. rate_DE: 用于 ODE\u002FSDE 的速率，经过质量作用定律修正（如 3.5*X^2\u002F2!）。\n5. rate_SSA: 用于普通跳跃（如 RegularJump）的速率，可能涉及拷贝数修正（如 3.5*X*(X-1)\u002F2!）。\n6. is_pure_mass_action: 布尔值，指示是否使用纯质量作用跳跃。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F44",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},12974,"如何触发 TagBot 以创建版本标签？","TagBot 通常由合并后的注册表 Pull Request 自动触发。如果需要手动触发或配置，请确保仓库中的 .github\u002FTagBot.yml 文件包含了 issue comment triggers（Issue 评论触发器）。你可以参考 Julia Discourse 论坛上的相关公告获取详细的配置指令。一旦配置完成，TagBot 会在检测到特定的注册表 PR 合并后自动为该版本创建 Git 标签。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F274",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},12975,"Catalyst.jl 改名后，旧的 DiffEqBiological.jl 代码还能继续使用吗？","可以。包改名后，原有的 using DiffEqBiological 语句仍然可以正常工作，但该包将不再接收更新。用户若想使用新版本的功能，需要显式地安装并引用新名称的包（即 Catalyst）。维护者建议在进行破坏性更新时同时更名仓库，旧用户可平滑过渡，但需主动切换以获取最新特性。","https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fissues\u002F196",[156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251],{"id":157,"version":158,"summary_zh":159,"released_at":160},71651,"v16.1.0","## Catalyst v16.1.0\n\n[与 v16.0.0 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv16.0.0...v16.1.0)\n\n\n**已合并的拉取请求：**\n- 在 CLE 中支持跳跃速率定律 (#1436) (@isaacsas)\n- 更新以使文档能够构建 (#1442) (@TorkelE)\n- 向 CRN 示例库添加逻辑增长示例 (#1445) (@TorkelE)\n- 将有缺陷的输入测试标记为已损坏，适用于 MTKBase v1.23 及更高版本 (#1447) (@isaacsas)","2026-03-19T18:28:13",{"id":162,"version":163,"summary_zh":164,"released_at":165},71652,"v16.0.0","## Catalyst v16.0.0\n\n[与 v15.0.11 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.11...v16.0.0)\n\n有关破坏性变更，请参阅 HISTORY.md。\n\n**已合并的拉取请求：**\n- [WIP] v16 变更以使测试通过 (#1322) (@TorkelE)\n- 将 Julia 生态系统添加到 Dependabot 配置中 (#1346) (@ChrisRackauckas-Claude)\n- 将 actions\u002Fupload-artifact 从 5 升级到 6 (#1348) (@dependabot[bot])\n- 修复版本 16 跳变问题 (#1354) (@isaacsas)\n- 确保文档在 v16 上构建成功 (#1356) (@TorkelE)\n- 统一转换过程中的 System 创建 (#1357) (@isaacsas)\n- 移除性能基准测试 (#1358) (@TorkelE)\n- 初始化 (#1359) (@TorkelE)\n- 小改：轻微代码重排并添加错误信息 (#1360) (@isaacsas)\n- 在 DSL 中将化学计量数 ps 指定为整数 (#1361) (@TorkelE)\n- 减少 `symmap_to_varmap` 的使用 (#1362) (@TorkelE)\n- 支持用户为 ReactionSystems 提供布朗运动和跳跃项 (#1363) (@isaacsas)\n- CI 更新 (#1365) (@isaacsas)\n- 确保序列化对新类型抛出警告 (#1366) (@TorkelE)\n- 在 DSL 中支持 `@brownians` (#1367) (@TorkelE)\n- 尝试修复 Julia 1.10 中 HC 和 MTKBase 的初始化问题 (#1368) (@isaacsas)\n- 尝试使用新的 Pre (#1369) (@isaacsas)\n- ReactionSystem 中支持混合 SDE 加跳跃 (#1370) (@isaacsas)\n- 将事件从约束方程文档中分离出来 (#1371) (@TorkelE)\n- 自动发现跳跃变量并改进具体类型推断 (#1372) (@isaacsas)\n- 删除不必要的访问器 (#1374) (@isaacsas)\n- 构造函数清理 (#1375) (@isaacsas)\n- 修复 isdetailedbalanced 容差问题 (#1376) (@isaacsas)\n- 版本 16 新功能 (#1377) (@isaacsas)\n- 为 ConstantRateJump 和 SDE+Jump 系统添加 save_positions 测试 (#1379) (@isaacsas)\n- 混合测试重新制作 (#1380) (@isaacsas)\n- 将 symmap_to_varmap 合并到主分支 (#1381) (@isaacsas)\n- 为混合问题添加重新制作测试，并更新 JumpProcesses 的兼容性 (#1382) (@isaacsas)\n- 跳跃整数提升修复 (#1383) (@isaacsas)\n- 重命名转换函数 (#1384) (@isaacsas)\n- ExplictImports、ss_ode_model，并更新 HISTORY 文件 (#1385) (@isaacsas)\n- 添加 Poisonnians 支持 (#1386) (@isaacsas)\n- 修复空间测试 (#1387) (@TorkelE)\n- 为 @reaction_network 和 @network_component 添加 @poissonians DSL 选项 (#1388) (@isaacsas)\n- 修复\u002F改进非整数化学计量数的错误 (#1389) (@calebjubal)\n- 全面 overhaul Catalyst 的单位验证系统 (#1390) (@isaacsas)\n- 文档更新：README、首页、FAW 和 API (#1391) (@TorkelE)\n- 更新 v16 的仿真文档部分 (#1392) (@TorkelE)\n- 更新 Catalyst 介绍文档页面 (#1393) (@TorkelE)\n- 移除已废弃的依赖（Requires、DynamicPolynomials），清理扩展检查 (#1394) (@isaacsas)\n- 修复来自 ModelingToolkitBase 的弃用警告 (#1395) (@ChrisRackauckas-Claude)\n- 图数组修复及部分依赖清理 (#1396) (@isaacsas)\n- 将 julia-actions\u002Fcache 从 1 升级到 2 (#1397) (@dependabot[bot])\n- 将 actions\u002Fcheckout 从 4 升级到 6 (#1398) (@dependabot[bot])\n- 更新 V16 API 变更的文档字符串 (#1402) (@isaacsas)\n- 更新 v16 的模型创建文档 (#1403) (@TorkelE)\n- 更新一个","2026-03-06T19:18:13",{"id":167,"version":168,"summary_zh":169,"released_at":170},71653,"v15.0.11","## Catalyst v15.0.11\n\n[与 v15.0.10 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.10...v15.0.11)\n\n\n**已合并的拉取请求：**\n- 在 `plot_complexes` 中设置 `edge_color`，无论是否显示边标签 (#1345) (@devmotion)\n\n**已关闭的问题：**\n- 修复图复杂度绘图时颜色丢失的问题 (#1344)","2025-12-01T23:05:02",{"id":172,"version":173,"summary_zh":174,"released_at":175},71654,"v15.0.10","## Catalyst v15.0.10\n\n[与 v15.0.9 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.9...v15.0.10)\n\n\n**已合并的拉取请求：**\n- 将 actions\u002Fupload-artifact 从 4 升级到 5 (#1330) (@dependabot[bot])\n- 支持 CairoMakie 0.13 以上版本 (#1337) (@pkofod)\n- 将 actions\u002Fcheckout 从 4 升级到 6 (#1342) (@dependabot[bot])","2025-12-01T20:02:25",{"id":177,"version":178,"summary_zh":179,"released_at":180},71655,"v15.0.9","## Catalyst v15.0.9\n\n[与 v15.0.8 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.8...v15.0.9)\n\n\n**已合并的拉取请求：**\n- 更新 crn_theory.md (#1285) (@isaacsas)\n- 添加拼写检查配置 (#1303) (@ChrisRackauckas)\n- 添加降级 CI 工作流 (#1304) (@ChrisRackauckas)\n- 使用 JuliaFormatter 更新代码格式 (#1305) (@ChrisRackauckas)\n- 修复 JuliaFormatter 引入的不恰当换行 (#1306) (@ChrisRackauckas)\n- 将 DataStructures.jl 的兼容性更新至 v0.19 (#1307) (@ChrisRackauckas)\n- 修正拼写错误并添加例外到 .typos.toml 文件 (#1310) (@ChrisRackauckas)\n- 修复文档中的拼写错误 (#1315) (@ChrisRackauckas)\n- CompatHelper：为 package docs 提升 Optimization 的兼容版本至 5（保留现有兼容性）(#1328) (@github-actions[bot])\n- 修复 CI (#1339) (@devmotion)\n\n**已关闭的问题：**\n- `expand_derivatives` 行为异常 (#1272)\n- 新的网络绘图方法无法访问（plot_network、plot_complexes）(#1282)\n- 文档中缺少链接 (#1313)\n- 无法使用 Catalyst 求解 SDE (#1327)","2025-11-28T02:37:05",{"id":182,"version":183,"summary_zh":184,"released_at":185},71656,"v15.0.8","## Catalyst v15.0.8\n\n[与 v15.0.7 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.7...v15.0.8)\n\n\n**已合并的拉取请求：**\n- 取消对 SciMLBase 的版本限制，用于 15.0.8 (#1275) (@isaacsas)","2025-05-29T15:23:45",{"id":187,"version":188,"summary_zh":189,"released_at":190},71657,"v15.0.7","## Catalyst v15.0.7\n\n[与 v15.0.6 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.6...v15.0.7)\n\n\n**已合并的拉取请求：**\n- 添加有限状态投影示例 (#1269) (@TorkelE)\n- 更新缺失的解的符号索引测试 (#1270) (@TorkelE)\n- 升级 SciMLBase 以用于 15.0.7 (#1273) (@isaacsas)\n\n**已关闭的问题：**\n- plot_network 无法与文档中的示例一起使用 (#1271)","2025-05-28T17:42:06",{"id":192,"version":193,"summary_zh":194,"released_at":195},71658,"v15.0.6","## Catalyst v15.0.6\n\n[与 v15.0.5 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.5...v15.0.6)\n\n\n**已合并的拉取请求：**\n- 添加使用分支分析工具计算零斜率线的示例 (#1194) (@TorkelE)\n- 更新 Documenter 版本 (#1265) (@TorkelE)\n- 升级 15.0.6 的依赖项 (#1268) (@isaacsas)\n\n**已关闭的问题：**\n- 启用函数型变量的插值（但不包括其自变量）。(#1208)\n- ContinuousCallback 未被正确处理 (#1262)","2025-05-13T16:50:08",{"id":197,"version":198,"summary_zh":199,"released_at":200},71659,"v15.0.5","## Catalyst v15.0.5\n\n[与 v15.0.4 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.4...v15.0.5)\n\n\n**已合并的拉取请求：**\n- 修复偶尔出现的混合系统测试失败问题 (#1255) (@TorkelE)\n- 移除测试中的 `DiscreteProblem` 实例 (#1257) (@TorkelE)\n- 更新版本号 (#1258) (@isaacsas)\n- 测试发布 15.0.5 第二次尝试 (#1260) (@isaacsas)\n\n**已关闭的问题：**\n- HC 文档示例失败 (#1170)","2025-05-09T12:44:04",{"id":202,"version":203,"summary_zh":204,"released_at":205},71660,"v15.0.4","## Catalyst v15.0.4\n\n[与 v15.0.3 的差异](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.3...v15.0.4)\n\n\n**已合并的拉取请求：**\n- 测试：修复参数初始化测试 (#1251) (@AayushSabharwal)\n\n**已关闭的问题：**\n- 更新 HH 示例，仅使用 DSL (#991)","2025-04-25T15:02:19",{"id":207,"version":208,"summary_zh":209,"released_at":210},71661,"v15.0.3","## Catalyst v15.0.3\n\n[Diff since v15.0.2](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.2...v15.0.3)\n\n\n**Merged pull requests:**\n- remove unpacksys (#1247) (@isaacsas)\n- Fix indexing deprecation warning (#1248) (@isaacsas)\n- test: make test robust to ordering of unknowns (#1249) (@AayushSabharwal)\n- Update constraint tutorial (#1252) (@isaacsas)\n- bump projects (#1253) (@isaacsas)\n- release 15.0.3 (#1254) (@isaacsas)\n\n**Closed issues:**\n- no longer assume that prob.p is the correct parameters for a problem lacking callbacks and DAEs (#1087)\n- Interface for specifying what mathematical level to resolve a reaction at (#1112)\n- Nonnegative rates in jumps (#1225)","2025-04-25T02:56:46",{"id":212,"version":213,"summary_zh":214,"released_at":215},71662,"v15.0.2","## Catalyst v15.0.2\n\n[Diff since v15.0.1](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.1...v15.0.2)\n\n\n**Merged pull requests:**\n- test: broken test is now fixed (#1244) (@AayushSabharwal)\n- Release 15.0.2 proj bumps (#1245) (@isaacsas)","2025-04-22T14:43:35",{"id":217,"version":218,"summary_zh":219,"released_at":220},71663,"v15.0.1","## Catalyst v15.0.1\n\n[Diff since v15.0.0](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv15.0.0...v15.0.1)\n\n\n**Merged pull requests:**\n- Support Jump-ODE models (#1121) (@isaacsas)\n- Improve expression parser function (#1230) (@TorkelE)\n- Error when having differentials w.r.t. species (#1237) (@TorkelE)\n- DSL inference FAQ section (#1238) (@TorkelE)\n- Remove `remove_conserved` warning from nonlinear solve doc page (#1239) (@TorkelE)\n- Enables DSL interpolation of a function name only (#1240) (@TorkelE)\n- Add PEtab.jl to the docs (#1241) (@sebapersson)\n- Some doc update post v15 (#1242) (@isaacsas)\n- CompatHelper: add new compat entry for EnumX at version 1, (keep existing compat) (#1243) (@github-actions[bot])\n\n**Closed issues:**\n- Drop Graphviz and requires (#512)\n- Future addition to Bifurcation diagram tutorial (#741)\n- valid ways to write equations using the DSL (#1044)\n- Reenable StructuralIdentifiability tests and tutorial once fixed (#1068)\n- Cases where a single symbol can explicitly be declared as different things (#1173)\n- Positive domain enforcement (again, but new area of relevance) (#1195)","2025-04-21T02:30:40",{"id":222,"version":223,"summary_zh":224,"released_at":225},71664,"v15.0.0","## Catalyst v15.0.0\n\n[Diff since v14.4.1](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.4.1...v15.0.0)\n\nThis is a breaking release, please see the [HISTORY.md](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fblob\u002Fmaster\u002FHISTORY.md) file for details on breaking changes.\n\n**Merged pull requests:**\n- Detailed balance (#965) (@vyudu)\n- Refactor \"src\u002Fdsl.jl\" file (#985) (@TorkelE)\n- history.MD update (#1047) (@vyudu)\n- Fix DAE tests (#1050) (@TorkelE)\n- drop scalarizing (#1052) (@isaacsas)\n- Added docs and assets for interactive simulation plotting tutorial (#1053) (@jonathanfischer97)\n- Fix broken tests (#1070) (@TorkelE)\n- docs: add missing backtick (#1072) (@Mo-Gul)\n- disable SI for now (#1074) (@vyudu)\n- collect_vars support (#1077) (@isaacsas)\n- Update hodgkin huxley example  (#1082) (@isaacsas)\n- bump optimization libs (#1084) (@isaacsas)\n- Fixed doc build error by specifying DISPLAY, other workflow improvements (#1086) (@jonathanfischer97)\n- try to update to SciML CI  (#1094) (@isaacsas)\n- fix tests (#1098) (@isaacsas)\n- uncap master (#1100) (@isaacsas)\n- BifurcationKit test (#1101) (@vyudu)\n- Cap SciMLBase (#1103) (@isaacsas)\n- Add compose dispatch and constent handling of scoping to MTK (#1104) (@isaacsas)\n- add GLMakie dep (#1106) (@isaacsas)\n- Add devdocs (#1108) (@isaacsas)\n- CompatHelper: bump compat for NonlinearSolve to 4 for package docs, (keep existing compat) (#1109) (@github-actions[bot])\n- switch docs to using `OrdinaryDiffEq` sublibraries (#1110) (@vyudu)\n- fix docstrings (#1111) (@vyudu)\n- Try smaller doc collapselevel (#1113) (@isaacsas)\n- GraphMakie update  (#1115) (@vyudu)\n- Update PEtab tutorial (#1119) (@sebapersson)\n- updating comments in extension files (#1120) (@vyudu)\n- Add @no_infer flag for turning off species\u002Fvariable\u002Fparameter inferring (#1122) (@vyudu)\n- Add non-fileld arrow (`=>`) documentation to DSL docs (#1123) (@TorkelE)\n- Fix dsl obs try again (#1124) (@TorkelE)\n- Attempt to fix possible multiple PR docs build error (#1125) (@jonathanfischer97)\n- Bump codecov\u002Fcodecov-action from 4 to 5 (#1126) (@dependabot[bot])\n- Uncap those bases (#1127) (@isaacsas)\n- Drop OrdinaryDiffEq from tests (#1128) (@vyudu)\n- `@require_declaration` docs (#1129) (@vyudu)\n- GraphMakie docs update (#1130) (@vyudu)\n- `@require_declaration` docs edits (#1131) (@vyudu)\n- Update spatial models for new MTK release (#1133) (@TorkelE)\n- Add API functions for the other kinds of matrixes that a CRN ODE system can be factored into (#1134) (@vyudu)\n- Update test extensions Project.toml (#1136) (@isaacsas)\n- Fix `plot_complexes` (#1138) (@vyudu)\n- Improvements to graph plotting (#1140) (@vyudu)\n- Refactoring network analysis docs (#1142) (@vyudu)\n- fix: handle bug in `remove_denominators` (#1143) (@AayushSabharwal)\n- Upate devdoc link (#1144) (@TorkelE)\n- Fix serialisation tests (#1145) (@TorkelE)\n- Reenable spatial tests (#1146) (@TorkelE)\n- Add tutorial set-up code (#1147) (@TorkelE)\n- Add errors for array species\u002Fparameters when submitted to `LatticeReactionSystem`s (#1148) (@TorkelE)\n- Update Optimization\u002Fparameter fitting tutorial (#1149) (@TorkelE)\n- Remove last OrdinaryDiffEq mention (#1150) (@TorkelE)\n- MTK tests update (#1153) (@TorkelE)\n- Compound fixe (#1154) (@TorkelE)\n- Remove glmakie in docs (#1155) (@isaacsas)\n- test: added some edge cases in reactionsystem.jl and network_properties.jl (#1158) (@sivasathyaseeelan)\n- Create DocsCleanup.yml (#1160) (@andreasnoack)\n- Remove old previews (#1162) (@andreasnoack)\n- Cap mtk (#1163) (@isaacsas)\n- test: added an edge case for LatticeReactionSystem (#1164) (@sivasathyaseeelan)\n- try to uncap symbolicutils (#1168) (@isaacsas)\n- Try to enable SI on 1.11 (#1169) (@isaacsas)\n- CompatHelper: add new compat entry for NetworkLayout at version 0.4 for package docs, (keep existing compat) (#1171) (@github-actions[bot])\n- network_analysis cleanup: Updating `ratematrix` to be more similar to new matrix API functions (#1172) (@vyudu)\n- test: added an edge case in ReactionSystem (#1174) (@sivasathyaseeelan)\n- Update inference of variables and default differential from `@equations` macro (#1175) (@TorkelE)\n- CompatHelper: bump compat for CairoMakie in [weakdeps] to 0.13, (keep existing compat) (#1176) (@github-actions[bot])\n- CompatHelper: bump compat for CairoMakie to 0.13 for package docs, (keep existing compat) (#1177) (@github-actions[bot])\n- Fix deprecation warnings in Latexify 0.16.6 (#1179) (@devmotion)\n- Add advice on checking built docs to dev documentation  (#1180) (@TorkelE)\n- CompatHelper: bump compat for LinearSolve to 3 for package docs, (keep existing compat) (#1181) (@github-actions[bot])\n- Consider the Danish\u002FNorwegian letter ∅ as the empty set symbol (Ø) (#1184) (@TorkelE)\n- Spatial plotting fixes (#1185) (@TorkelE)\n- fixes for MTK changes (#1186) (@TorkelE)\n- Fix graph defaults, plotting graphs (#1189) (@vyudu)\n- Enable functional\u002Ftime dependent parameters (#1191) (@TorkelE)\n- Finish dsl src update (reorder functions) (#1193) (@TorkelE)\n- Reenable stability","2025-04-15T01:05:57",{"id":227,"version":228,"summary_zh":229,"released_at":230},71665,"v14.4.1","## Catalyst v14.4.1\n\n[Diff since v14.4.0](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.4.0...v14.4.1)\n\n\n**Merged pull requests:**\n- CompatHelper: bump compat for DynamicQuantities to 1, (keep existing compat) (#1031) (@github-actions[bot])\n- Fix tests (#1038) (@isaacsas)\n- update periodic event tutorial (#1039) (@isaacsas)\n- Update latexify_recipes.jl (#1040) (@isaacsas)\n- expanding equations when passed to `@reaction_network` (#1041) (@vyudu)\n- Remove double completion (#1046) (@ChrisRackauckas)\n\n**Closed issues:**\n- VariableRateJump Problems (#636)\n- missing new line in Latexify display after last equation in sytstems with reactions an equations (#927)\n- Unrechable code in latexify code (#972)\n- DSL issues with equations (#1022)\n- @equations not seeing parameters defined outside the @reaction_network macro (#1042)","2024-09-09T18:40:43",{"id":232,"version":233,"summary_zh":234,"released_at":235},71666,"v14.4.0","## Catalyst v14.4.0\n\n[Diff since v14.3.2](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.3.2...v14.4.0)\n\n\n**Merged pull requests:**\n- CompatHelper: bump compat for DynamicPolynomials to 0.6, (keep existing compat) (#961) (@github-actions[bot])\n- CompatHelper: bump compat for Symbolics to 6, (keep existing compat) (#1016) (@github-actions[bot])\n- cleanup DSL generated expression for readability (#1024) (@isaacsas)\n- Update docs Project.toml (#1030) (@isaacsas)\n\n**Closed issues:**\n- Display issues for vector variables\u002Fparameters in Latexify (#932)\n- test for units currently broken (#1035)","2024-08-30T22:55:47",{"id":237,"version":238,"summary_zh":239,"released_at":240},71667,"v14.3.2","## Catalyst v14.3.2\n\n[Diff since v14.3.1](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.3.1...v14.3.2)\n\n\n**Merged pull requests:**\n- `arguments` -> `sorted_arguments` updates (#1021) (@TorkelE)\n- Metadata dispatch fix (#1026) (@isaacsas)\n\n**Closed issues:**\n- supporting SBML efforts (#312)","2024-08-16T18:16:18",{"id":242,"version":243,"summary_zh":244,"released_at":245},71668,"v14.3.1","## Catalyst v14.3.1\n\n[Diff since v14.3.0](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.3.0...v14.3.1)\n\n\n**Merged pull requests:**\n- cleanup reaction getmetadata function and fix error mesg bug (#1019) (@isaacsas)\n- fix math descript typos (#1020) (@isaacsas)\n\n**Closed issues:**\n- dangling line in reaction metadata function (#1018)","2024-08-13T20:00:52",{"id":247,"version":248,"summary_zh":249,"released_at":250},71669,"v14.3.0","## Catalyst v14.3.0\n\n[Diff since v14.2.0](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.2.0...v14.3.0)\n\n\n**Merged pull requests:**\n- variable rate jump support (#1015) (@isaacsas)","2024-08-12T01:35:41",{"id":252,"version":253,"summary_zh":254,"released_at":255},71670,"v14.2.0","## Catalyst v14.2.0\n\n[Diff since v14.1.0](https:\u002F\u002Fgithub.com\u002FSciML\u002FCatalyst.jl\u002Fcompare\u002Fv14.1.0...v14.2.0)\n\n\n**Merged pull requests:**\n- Deficiency one and concnetration robustness (#964) (@vyudu)\n- Revert SDE change (#979) (@TorkelE)\n- Latexify fix and add SciMLBase dep for controlling release compat (#1001) (@isaacsas)\n- Long jump plotting fix (#1006) (@isaacsas)\n- Uncap SciMLBase (#1007) (@ChrisRackauckas)\n- test: remove unnecessarily specific parameter type annotations (#1010) (@AayushSabharwal)\n- add jump auto-alg support (#1013) (@isaacsas)\n- misc updates (#1014) (@isaacsas)\n\n**Closed issues:**\n- Fix long doc build time for single figure in intro to Catalyst (#994)\n- uncap SciMLBase from 2.44 (#1005)\n- Bug in function generation with Catalyst.jl v14 (#1009)","2024-08-08T21:26:54"]