[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-netket--netket":3,"tool-netket--netket":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},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,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},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 真正成长为懂上",160015,2,"2026-04-18T11:30:52",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":64,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":76,"owner_website":77,"owner_url":78,"languages":79,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":32,"env_os":96,"env_gpu":97,"env_ram":98,"env_deps":99,"category_tags":104,"github_topics":106,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":120,"updated_at":121,"faqs":122,"releases":151},9094,"netket\u002Fnetket","netket","Machine learning algorithms for many-body quantum systems ","NetKet 是一个专为研究多体量子系统而设计的开源机器学习库。它巧妙地将人工神经网络与量子物理相结合，帮助科学家利用先进的机器学习算法来模拟和分析复杂的量子态，从而解决传统计算方法在处理高维量子问题时面临的“维度灾难”难题。\n\n这款工具主要面向量子物理研究人员、计算科学家以及相关的开发者。如果你正在探索量子多体问题的基态性质、动力学演化或热力学特征，NetKet 能提供高效且灵活的解决方案。其核心亮点在于基于 Google 的 JAX 框架构建，不仅支持自动微分和即时编译（JIT）以大幅提升计算速度，还天然适配 GPU 和 TPU 加速，让大规模量子模拟变得更加可行。\n\n此外，NetKet 拥有完善的文档体系和丰富的教程案例，从基础的伊辛模型到复杂的量子晶格系统均有涵盖，方便用户快速上手。作为一个由 NumFOCUS 支持的社区驱动项目，它提供了活跃的 Slack 交流渠道和开放的源代码，非常适合希望将前沿机器学习技术应用于量子物理研究的科研团队和技术极客使用。","\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnetket_netket_readme_c431aefa97ee.jpg\" alt=\"logo\" width=\"400\">\u003C\u002Fimg>\n\u003C\u002Fdiv>\n\n# __NetKet__\n\n[![Powered by NumFOCUS](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpowered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https:\u002F\u002Fnumfocus.org)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fnetket\u002Fnetket.svg)](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Freleases)\n[![Paper (v3)](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpaper%20%28v3%29-arXiv%3A2112.10526-B31B1B)](https:\u002F\u002Fscipost.org\u002FSciPostPhysCodeb.7\u002Fpdf)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnetket\u002Fnetket\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg?token=gzcOlpO5lB)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnetket\u002Fnetket)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-green.svg)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmlquantum\u002Fshared_invite\u002Fzt-19wibmfdv-LLRI6i43wrLev6oQX0OfOw)\n\nNetKet is an open-source project delivering cutting-edge methods for the study of many-body quantum systems with artificial neural networks and machine learning techniques.\nIt is a Python library built on [JAX](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fjax).\n\nNetKet is an affiliated project to [numFOCUS](https:\u002F\u002Fnumfocus.org).\n\n- **Homepage:** \u003Chttps:\u002F\u002Fwww.netket.org>\n- **Citing:** \u003Chttps:\u002F\u002Fwww.netket.org\u002Fcite\u002F>\n- **Documentation:** \u003Chttps:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Findex.html>\n- **Tutorials:** \u003Chttps:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002Fgs-ising.html>\n- **Examples:** \u003Chttps:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Ftree\u002Fmaster\u002FExamples>\n- **Source code:** \u003Chttps:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket>\n\n## Installation and Usage\n\nNetKet runs on MacOS and Linux and requires Python 3.11 or later. We recommend installing NetKet using `pip` or `uv`. **Do not use conda** as JAX has known issues when installed through conda.\n\n```sh\npip install --upgrade pip\npip install netket\n```\n\n**With GPU support (Linux only):**\n```sh\npip install 'netket[cuda]'\n```\n\n**Development version:**\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket.git\n```\n\nFor detailed installation instructions including GPU setup, see our [installation guide](https:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Finstall.html).\n\n## Getting Started\n\nTo get started with NetKet, we recommend you give a look at our [tutorials page](https:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002Fgs-ising.html), by running them on your computer or on [Google Colaboratory](https:\u002F\u002Fcolab.research.google.com).\nThere are also many example scripts that you can download, run and edit that showcase some use-cases of NetKet, although they are not commented.\n\nIf you want to get in touch with us, feel free to open an issue or a discussion here on GitHub, or to join the MLQuantum slack group where several people involved with NetKet hang out. To join the slack channel just accept [this invitation](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmlquantum\u002Fshared_invite\u002Fzt-19wibmfdv-LLRI6i43wrLev6oQX0OfOw)\n\n## License\n\n[Apache License 2.0](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fblob\u002Fmaster\u002FLICENSE)\n","\u003Cdiv align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnetket_netket_readme_c431aefa97ee.jpg\" alt=\"logo\" width=\"400\">\u003C\u002Fimg>\n\u003C\u002Fdiv>\n\n# __NetKet__\n\n[![由 NumFOCUS 提供支持](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpowered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A)](https:\u002F\u002Fnumfocus.org)\n[![发布版本](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Frelease\u002Fnetket\u002Fnetket.svg)](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Freleases)\n[![论文（v3）](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpaper%20%28v3%29-arXiv%3A2112.10526-B31B1B)](https:\u002F\u002Fscipost.org\u002FSciPostPhysCodeb.7\u002Fpdf)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnetket\u002Fnetket\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg?token=gzcOlpO5lB)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fnetket\u002Fnetket)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslack-chat-green.svg)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmlquantum\u002Fshared_invite\u002Fzt-19wibmfdv-LLRI6i43wrLev6oQX0OfOw)\n\nNetKet 是一个开源项目，利用人工神经网络和机器学习技术提供用于研究多体量子系统的前沿方法。\n它是一个基于 [JAX](https:\u002F\u002Fgithub.com\u002Fgoogle\u002Fjax) 构建的 Python 库。\n\nNetKet 是 [numFOCUS](https:\u002F\u002Fnumfocus.org) 的附属项目。\n\n- **主页:** \u003Chttps:\u002F\u002Fwww.netket.org>\n- **引用:** \u003Chttps:\u002F\u002Fwww.netket.org\u002Fcite\u002F>\n- **文档:** \u003Chttps:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Findex.html>\n- **教程:** \u003Chttps:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002Fgs-ising.html>\n- **示例:** \u003Chttps:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Ftree\u002Fmaster\u002FExamples>\n- **源代码:** \u003Chttps:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket>\n\n## 安装与使用\n\nNetKet 支持 MacOS 和 Linux 系统，需要 Python 3.11 或更高版本。我们建议使用 `pip` 或 `uv` 来安装 NetKet。**请勿使用 conda**，因为通过 conda 安装 JAX 存在已知问题。\n\n```sh\npip install --upgrade pip\npip install netket\n```\n\n**带 GPU 支持（仅限 Linux）:**\n```sh\npip install 'netket[cuda]'\n```\n\n**开发版本:**\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket.git\n```\n\n有关包括 GPU 设置在内的详细安装说明，请参阅我们的 [安装指南](https:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Finstall.html)。\n\n## 入门\n\n要开始使用 NetKet，我们建议您查看我们的 [教程页面](https:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002Fgs-ising.html)，可以在您的计算机上运行，也可以在 [Google Colaboratory](https:\u002F\u002Fcolab.research.google.com) 上运行。\n此外，我们还提供了许多示例脚本，您可以下载、运行并编辑它们来展示 NetKet 的一些应用场景，尽管这些脚本没有注释。\n\n如果您想与我们取得联系，欢迎在 GitHub 上提交问题或发起讨论，或者加入 MLQuantum Slack 社区，那里有许多参与 NetKet 项目的成员。要加入该 Slack 频道，只需接受 [此邀请](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fmlquantum\u002Fshared_invite\u002Fzt-19wibmfdv-LLRI6i43wrLev6oQX0OfOw) 即可。\n\n## 许可证\n\n[Apache License 2.0](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fblob\u002Fmaster\u002FLICENSE)","# NetKet 快速上手指南\n\nNetKet 是一个基于 JAX 构建的开源 Python 库，旨在利用人工神经网络和机器学习技术研究多体量子系统。\n\n## 环境准备\n\n- **操作系统**：macOS 或 Linux（GPU 支持仅限 Linux）\n- **Python 版本**：3.11 或更高\n- **前置依赖**：\n  - 推荐升级 `pip` 至最新版本\n  - **注意**：请勿使用 `conda` 安装，JAX 在 conda 环境下存在已知兼容性问题\n\n## 安装步骤\n\n### 基础安装（CPU 版本）\n适用于 macOS 和 Linux 用户：\n```sh\npip install --upgrade pip\npip install netket\n```\n\n### GPU 加速安装（仅 Linux）\n如需启用 CUDA 支持：\n```sh\npip install 'netket[cuda]'\n```\n\n### 开发版安装\n体验最新功能（可能不稳定）：\n```sh\npip install git+https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket.git\n```\n\n> 💡 **国内用户提示**：若下载速度较慢，可添加国内镜像源加速，例如：\n> ```sh\n> pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple netket\n> ```\n\n## 基本使用\n\n以下是最简单的使用示例：初始化一个用于研究横场伊辛模型（Transverse Field Ising Model）基态的变分蒙特卡洛流程。\n\n```python\nimport netket as nk\nimport jax.numpy as jnp\n\n# 1. 定义晶格结构 (1D 链，20 个站点)\nlattice = nk.graph.Chain(length=20)\n\n# 2. 定义希尔伯特空间 (自旋 1\u002F2 系统)\nhi = nk.hilbert.Spin(s=0.5, N=lattice.n_nodes)\n\n# 3. 定义哈密顿量 (横场伊辛模型)\nhamiltonian = nk.operator.Ising(hilbert=hi, graph=lattice, h=1.0)\n\n# 4. 定义变分波函数 (使用全连接神经网络)\nma = nk.models.RBM(alpha=1, param_dtype=float)\n\n# 5. 定义采样器 (局部翻转采样)\nsa = nk.sampler.MetropolisLocal(hilbert=hi)\n\n# 6. 定义优化器\noptimizer = nk.optimizer.Sgd(learning_rate=0.01)\n\n# 7. 创建变分态\nvs = nk.vqs.MCState(sa, ma, n_samples=1000)\n\n# 8. 执行基态能量最小化 (VMC)\ngs = nk.VMC(hamiltonian, optimizer, variational_state=vs)\n\n# 运行 300 步优化\ngs.run(n_iter=300)\n\nprint(f\"基态能量估计值：{vs.expect(hamiltonian)}\")\n```\n\n运行上述代码前，请确保已安装 NetKet。更多详细教程和示例脚本请访问 [官方文档](https:\u002F\u002Fnetket.readthedocs.io\u002Fen\u002Flatest\u002Ftutorials\u002Fgs-ising.html)。","某量子物理研究团队正试图模拟一个包含 50 个自旋的二维伊辛模型基态，以探索新型量子相变机制。\n\n### 没有 netket 时\n- 研究人员需手动推导并编写复杂的波函数梯度代码，极易出错且难以维护。\n- 传统精确对角化方法受限于指数级内存增长，根本无法处理超过 20 个粒子的系统。\n- 缺乏针对量子蒙特卡洛采样的优化接口，导致训练收敛极慢，单次实验耗时数周。\n- 不同神经网络架构（如 RBM 或 CNN）需要重复造轮子，无法快速验证新算法假设。\n\n### 使用 netket 后\n- 利用内置的自动微分和预定义量子算子，几行代码即可构建变分波函数，彻底消除手动求导错误。\n- 基于神经网络的变分蒙特卡洛方法成功突破了维度灾难，轻松模拟 50+ 粒子系统的基态能量。\n- 依托 JAX 后端实现高效的 GPU 加速采样与并行计算，将原本数周的训练时间缩短至数小时。\n- 灵活调用库中丰富的神经网络层和优化器，研究者能迅速对比不同架构对精度的影响。\n\nnetket 通过将前沿机器学习算法与量子多体物理深度融合，让研究者从繁琐的代码工程中解放出来，专注于物理本质的探索。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fnetket_netket_c431aefa.jpg","NetKet","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fnetket_b35b7e7b.png","Open-source project for the development of machine intelligence for many-body quantum systems.",null,"NetKetOrg","https:\u002F\u002Fwww.netket.org","https:\u002F\u002Fgithub.com\u002Fnetket",[80,84,88],{"name":81,"color":82,"percentage":83},"Python","#3572A5",99.8,{"name":85,"color":86,"percentage":87},"TeX","#3D6117",0.1,{"name":89,"color":90,"percentage":91},"Shell","#89e051",0,671,214,"2026-04-16T14:54:32","Apache-2.0","Linux, macOS","可选（仅 Linux），需 NVIDIA GPU 以支持 CUDA，具体型号、显存大小及 CUDA 版本未在 README 中明确说明","未说明",{"notes":100,"python":101,"dependencies":102},"强烈建议使用 pip 或 uv 安装，不要使用 conda，因为 JAX 通过 conda 安装存在已知问题。GPU 支持仅限 Linux 系统。","3.11+",[103],"jax",[14,105],"其他",[107,108,109,110,111,112,113,114,103,115,116,117,118,119],"quantum","neural-networks","monte-carlo-methods","hamiltonian","physics-simulation","variational-method","variational-monte-carlo","markov-chain-monte-carlo","unitaryhack","deep-learning","machine-learning","neural-quantum-states","nqs","2026-03-27T02:49:30.150509","2026-04-18T22:33:45.153338",[123,128,133,138,142,147],{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},40809,"在使用 NetworkX 创建 NetKet 的 Graph 对象时，为什么生成的图连接性与原图不一致？","这是因为 Graph 类的参数顺序问题。第一个参数应为节点（nodes），第二个参数应为边（edges）。如果直接传入 `edges=list(x.edges())` 作为第一个参数，会被误认为是节点列表。正确的做法是明确指定参数或确保顺序正确：先传递节点列表，再传递边列表。此外，NetKet 允许任何对象作为节点，但通常建议使用整数。示例代码中需检查 `Graph(nodes=list(x.nodes()), edges=list(x.edges()))` 以确保映射正确。","https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fissues\u002F371",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},40810,"如何自定义随机重配置（SR）中的求解器（Solver）和量子几何张量（QGT）实现？","可以通过 Python 的 `functools.partial` 分别包装求解器和 QGT 类，然后将它们作为元组传递给驱动程序的 `preconditioner` 参数。例如：\n```python\nfrom functools import partial\nimport jax\nsolver = partial(jax.scipy.sparse.linalg.gmres, maxiter=100, tol=1e-7)\nqgt = partial(nk.optimizer.qgt.QGTOnTheFly, centered=False)\ngs = nk.VMC(ha, op, variational_state=vs, preconditioner=(solver, qgt))\n```\n这种方式比使用复杂的嵌套字典配置更灵活且易于阅读，特别适合需要精细控制求解器参数的进阶用户。","https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fissues\u002F649",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},40811,"NetKet 是否支持处理三维空间群（Space Groups）及复杂的点群对称性？","是的，NetKet 已更新以支持更复杂的对称性。通过引入 `PointGroup` 类和 `PGSymmetry` 对象，用户可以定义作用于笛卡尔坐标的对称操作（如旋转矩阵）。系统提供了将几何对称性转换为晶格站点置换（Permutation）的方法，从而支持循环群、任意平面的二面体群以及立方对称性群等。这些功能允许构建包含平移群和点群半直积的完整空间群，适用于三维晶格系统。","https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fissues\u002F703",{"id":139,"question_zh":140,"answer_zh":141,"source_url":137},40812,"如何将对称性操作（如旋转或平移）应用于晶格并获取对应的站点置换？","虽然可以定义外部的 `PGSymmetry` 对象来表示几何变换，但为了代码的可维护性和解耦，建议不要将转换逻辑硬编码在 `PGSymmetry` 或 `Lattice` 类内部。最佳实践是创建一个独立的函数（或放在 `SpaceGroup` 类中），该函数接收 `PGSymmetry` 对象和 `Lattice` 对象作为输入，输出对应的站点置换（Permutation）。这样可以避免类之间的强耦合，方便未来重构。",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},40813,"如何使用 NetKet 模拟对称性破缺（Broken Symmetry）的量子态？","要模拟对称性破缺态，需要使用特定的层对 GCNN 或 RBMSymm 模型的输出进行相位加权平均。具体步骤包括：1) 定义一个层，利用对称群的期望特征标（character）对模型预平均输出进行加权；2) 通过指定相对于对称操作的本征值来生成特征标表（例如指定 p4 群的旋转 R(π\u002F4) 和平移 T(1,0) 的本征值）。这允许模型学习非对称基态，而不仅仅是最低能量的对称态。相关功能已通过多个 PR 合并到主分支。","https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fissues\u002F658",{"id":148,"question_zh":149,"answer_zh":150,"source_url":132},40814,"在配置 SR 接口时，应该选择将配置集中在一个对象中还是分离求解器与矩阵表示？","推荐的设计是将 S 矩阵的表示形式（如 dense, lazy-onthefly）与求解算法（如 CG, GMRES）分离开来。旧版本中将两者绑定在一个 SR 对象中的设计导致添加新矩阵类型时需要重复编写所有求解器代码。新的设计允许用户独立选择 QGT 实现和线性方程求解器，提高了可扩展性和组合性。对于普通用户，可以使用简化的接口（如 `SR(diag_shift=0.01)`），而进阶用户则可以通过组合不同的组件来自定义流程。",[152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232,237,242,247],{"id":153,"version":154,"summary_zh":155,"released_at":156},324370,"v3.22.0dev3","**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.22.0dev2...v3.22.0dev3","2026-03-11T08:27:45",{"id":158,"version":159,"summary_zh":160,"released_at":161},324371,"v3.22.0dev2","**完整更新日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.22.0dev1...v3.22.0dev2","2026-03-10T09:42:22",{"id":163,"version":164,"summary_zh":165,"released_at":166},324372,"v3.22.0dev1","**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.21.0...v3.22.0dev1","2026-03-09T23:27:36",{"id":168,"version":169,"summary_zh":170,"released_at":171},324373,"v3.21.0","## 变更内容\n* 添加 JaxOperatorGetConnInJitError，以实现更好的错误处理，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2170 中完成\n* 简化晶格群表示构造函数，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2155 中完成\n* 将 infidelity_sr 扩展至 FullSumState，由 @Z-Denis 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2171 中完成\n* 修复变换后 vstate 中的 bug，由 @louishrm 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2175 中完成\n* 支持复数分子轨道，由 @inailuig 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2177 中完成\n* 从进程 0 分发 mo_coeff，由 @inailuig 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2178 中完成\n* 为费米子算符的二阶项添加 'order' 跟踪，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2180 中完成\n* 将 PNC 算符移至 nk._src，以避免导入循环，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2179 中完成\n* 修复 ParticleNumberAndSpinConservingFermioperator2nd 中自旋区间的顺序被颠倒的 bug，由 @inailuig 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2184 中完成\n* 修复在自动分片时将参数偷偷放入 shard_map 的 bug，由 @inailuig 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2182 中完成\n* 引入 flax\u002Fnnx 包装器，用于执行 operator@vstate 操作，并支持嵌套调用，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2186 中完成\n* 更新 sphinx 的依赖版本，由 ~=8.2.3 更改为 >=8.2.3,\u003C9.1.0，由 @dependabot[bot] 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2188 中完成\n* 实现一个 `DeterminantVariationalState`，可精确计算期望值和梯度，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2181 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.3...v3.21.0","2025-12-15T08:41:33",{"id":173,"version":174,"summary_zh":175,"released_at":176},324374,"v3.20.5","- 修复了 `Ising @ other_operator` 被错误地计算为 `other @ Ising` 的问题。这一问题也影响到了海森堡模型。\n- 修复了 ProductOperator 错误计算两个算符乘积的 bug。\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.4...v3.20.5","2025-11-23T18:01:37",{"id":178,"version":179,"summary_zh":180,"released_at":181},324375,"v3.20.4","## 变更内容\n* 添加 JaxOperatorGetConnInJitError，以实现更好的错误处理，由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2170 中完成\n* 修复 nk.vqs.apply_operator 中的 bug\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.3...v3.20.4","2025-11-13T16:12:33",{"id":183,"version":184,"summary_zh":185,"released_at":186},324376,"v3.20.3","修复 `VMC_SR(on_the_fly=False)` 未能正确分片的 minor 问题。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.2...v3.20.3","2025-10-22T08:07:24",{"id":188,"version":189,"summary_zh":190,"released_at":191},324377,"v3.20.2","修复 NNXWrapper 的一个 minor bug\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.1...v3.20.2","2025-10-20T21:50:52",{"id":193,"version":194,"summary_zh":195,"released_at":196},324378,"v3.20.1","支持 JAX 0.8\n\n## 变更内容\n* 弃用 nk.jax.tree_ravel，改用 JAX 的 ravel_pytree（兼容 JAX 0.8）——由 @PhilipVinc 在 https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2164 中提出\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.20.0...v3.20.1","2025-10-20T21:37:42",{"id":198,"version":199,"summary_zh":200,"released_at":201},324379,"v3.20.0","### 主要变更\n\n本版本的 NetKet 需要 JAX 0.7，如果您有直接处理分片的自定义代码，则需要进行更新。\n\n此前，NetKet 在整个库中使用 `jax.sharding.PositionalSharding(jax.devices).reshape(-1)` 来表示将数组在所有 GPU 上进行分片，但这一方式已不再被 JAX 支持。取而代之的是，我们现在依赖于 {class}`jax.sharding.NamedSharding`。\n\n要完成更新，您只需将所有出现的 `PositionalSharding` 替换为 `NamedSharding(jax.sharding.get_abstract_mesh(), jax.P('S'))`（当您希望将数组拆分到多个 GPU 上时），或者替换为 `jax.P()`（当您希望将其在 GPU 上复制时）。NetKet 会构建并设置一个名为 `'S'` 的单轴网格。\n\n目前，NetKet 仍依赖自动分片机制，但我们将在不久的将来过渡到显式分片模式。\n\n我们强烈建议您阅读 JAX 的分片相关文档。\n\n\n\n### 新特性\n\n* 对对称性操作方式进行了系统性的重构，并作为对称性改进的一部分合并到了 [PR #2122](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2122) 中。具体包括：\n\t* 引入了新的 NetKet 主模块 `netket.symmetry`。\n\t* 现在通过 {class}`netket.symmetry.Representation` 类清晰地区分了对称群及其表示。\n\t* {class}`~netket.symmetry.Representation` 类允许用户定义任意群的表示，而不仅限于晶格对称性。该类可以构造一个指向子空间的 {meth}`~netket.symmetry.Representation.projector` 算子，并通过 {meth}`~netket.symmetry.Representation.project` 方法构造对称性投影态。\n\t* NetKet 现在支持在自旋和费米子希尔伯特空间上对置换群的表示，通过 {class}`netket.operator.permutation.PermutationOperator` 和 {class}`netket.operator.permutation.PermutationOperatorFermion` 类实现。其中，{class}`~netket.operator.permutation.PermutationOperatorFermion` 的 `get_conn_padded` 方法会根据单粒子态占据数的排列计算符号。\n\t* 提供了一个新的[教程](..\u002Fdocs\u002Ftutorials\u002Fsymmetry_tutorial.ipynb)，解释如何使用这些工具。\n\t* 关于对称性和表示论的[文档](..\u002Fdocs\u002Fadvanced\u002Fsymmetry.md)也已发布。\n* `chunk_size` 不再要求必须是每个进程样本数的约数。现在您可以自由地设置该参数 [#2083](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2083)。\n\n### 废弃与移除\n\n* 用于算子相乘的 `*` 运算符现已废弃，并将于 2026 年的未来版本中移除。请改用 `@` 运算符进行算子乘法：`A * B` → `A @ B` [#2133](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2133)。\n\n## NetKet 3.19.1\n\n* 修复了一个 bug：当使用不可微参数并结合分块技术时，若同时使用 `nk.optimizer.qgt.QGTOnTheFly`，会导致 tracer 泄漏和错误。这是由于 i","2025-10-20T13:49:38",{"id":203,"version":204,"summary_zh":205,"released_at":206},324380,"v3.19.2","NetKet 3.19.1 was a broken release and has been nuked.\r\n\r\n## What's Changed\r\n* [jax 0.7] Support jax 0.7, take 2 by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2072\r\n* Generate serialization methods for ParallelTempering sampler state by @lindamauron in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2116\r\n* swap nkjax.PRNGKey to use nkjax.key by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2117\r\n* [NFC][Sharding tools] Move sharding tools in subfolder. by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2118\r\n* Improve even more distributed documentation by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2119\r\n* Update automorphism by @Adrien-Kahn in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2120\r\n* Fix a bug preventing the usage of non differentiable parameters when sharding + chunking is used by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2124\r\n* Fix constraint validation bug in SumConstrainedHilbertIndex by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2127\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.19.0...v3.19.2","2025-09-04T13:02:09",{"id":208,"version":209,"summary_zh":210,"released_at":211},324381,"v3.19.0","This version will be the last one supporting Jax 0.5, and therefore will be the last to run on manylinux2014. \r\nIn practice, this will be the last version to run on computers\u002Fclusters with outdated OS\u002FGLIBC. \r\nThe next NetKet version will require Jax 0.7 and Python 3.11 and be incredibly more powerful.\r\n\r\n### Breaking Changes\r\n* MPI is no longer supported as a parallelization mode for NetKet. JAX sharding is now the only supported method for distributed computing.\r\n* {func}`netket.operator.GraphOperator` is now a function and not a class anymore.\r\n* {meth}`netket.operator.DiscreteJaxOperator.to_sparse` now returns a scipy sparse matrix by default [#2092](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2092).\r\n* The default implementation of all NetKet operator constructed has been swapped from the previous Numba implementation to the Jax one. The class names `LocalOperator`, `PauliStrings` and `FermionOperator2nd` are now aliases for `LocalOperatorJax`, `PaulistringsJax` and  `FermionOperator2ndJax`. To use the previous operators, you should use `FermionOperator2ndNumba`, `LocalOperatorNumba` and so on.\r\n* {class}`netket.operator.ContinuousOperator`s and subclasses have had their interface considerably changed, and they are now Pytrees. If you have custom Continuous Operators and your code is somewhere accessible with a few stars on GitHub, I've notified you. If you haven't, you are a bit evil but worry not. Just look at NetKet's implementation of classes like {class}`netket.operator.KineticOperator` to understand what to change [#2097](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2097).\r\n\r\n### New features\r\n* A new {class}`netket.experimental.driver.VMC_SR` driver, which implements both standard SR and the kernel trick\u002FminSR variant, using an often more efficient implementation, is now available. We advise everyone using SR to switch to this driver [#2007](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2007).\r\n* {class}`netket.nn.blocks.SymmExpSum` supports specifying group characters as an array in addition to their index in the full character table [#2075](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2075).\r\n* {class}`netket.utils.group.FiniteGroup` can now compute projective irrep characters of groups in addition to standard linear irreps [#2080](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2080).\r\n* {class}`netket.sampler.rules.LangevinRule` will not inherit the `chunk_size` from the sampler if its own chunk size is not set.\r\n* {class}`netket.stats.Stats` repr logic is improved to switch to scientific notation more often when the quantity is close to 0. Moreover, the character count is fixed so the progress bar will wiggle less [#2102](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2102).\r\n* When using sub-optimal {class}`netket.operator.FermionOperator2nd` with hilbert spaces with a fixed number of particles, a warning will be now printed suggesting users to switch to Particle Number Conserving operators [#2088](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2088).\r\n* A new, general implementation of {class}`netket.operator.SumOperator` can be used to sum 2 or more different operators of any different type, which was previously not possible.\r\n* A new {class}`netket.experimental.observable.InfidelityOperator` for computing the infidelity between two quantum states (possibly with an operator in the middle) and a new {class}`netket.experimental.driver.Infidelity_SR` driver for minimizing it, which implements both standard SR and the kernel trick\u002FminSR variant, are now available. [#2076](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2076).\r\n\r\n### Deprecations and Removals\r\n* {class}`netket.experimental.driver.VMC_SRt` has been deprecated in favour of {class}`netket.experimental.driver.VMC_SR`, which implements both standard SR and the kernel trick\u002FminSR variant, and possibly more efficiently [#2007](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2007).\r\n* Finalized deprecations from August 2024 and earlier [#2108](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2108).\r\n\r\n### Bug Fixes\r\n* Do not error when the `chunk_size` of a sampler is larger than the number of chains.\r\n* {class}`netket.graph.space_group.SpaceGroup` now generates correct space-group irreps for nonsymmorphic space groups [#2080](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2080).\r\n* Addressed an issue with Metropolis Samplers providing to the transition rule a non-up-to-date sampler state inside a sweep. In practice nobody ever reported this bug before.\r\n* Support `flax.nnx` for flax version 10.7.\r\n\r\n\r\n## What's Changed\r\n* Allow for setting netket experimental sharding mode at runtime by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2078\r\n* Remove MPI\u002Fmpi4jax support by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2077\r\n* Implement VMC_SR with various run modes. by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2007\r\n* Allow specifying `characters` directly in `SymmSumExp` by @attila-i-szabo in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2075\r\n* Add 'deprecation warning' to _translations_along_axis and improve er","2025-07-25T12:58:39",{"id":213,"version":214,"summary_zh":215,"released_at":216},324382,"v3.18.1","Minor bug fixes and improvements\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.18...v3.18.1","2025-07-18T10:47:27",{"id":218,"version":219,"summary_zh":220,"released_at":221},324383,"v3.18","This version will be the last one supporting Python 3.10 and Jax 0.5. The next NetKet version will require Jax 0.7 and Python 3.11 and be incredibly more powerful.\r\n\r\n## New features\r\n* Added particle-number conserving fermionic operators {class}`netket.experimental.operator.ParticleNumberConservingFermioperator2nd` and {class}`netket.experimental.operator.ParticleNumberAndSpinConservingFermioperator2nd`\r\nwhich are more efficient and produce fewer connected elements than the generic {class}`netket.operator.FermionOperator2ndJax` operator, and a explicit Fermi-Hubbard operator implementation {class}`netket.experimental.operator.FermiHubbardJax` based on it [#2024](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2024).\r\n* The functionality of {class}`~netket.graph.SpaceGroupBuilder` is merged into a subclass of {class}`~netket.utils.group.PermutationGroup` called {class}`~netket.graph.SpaceGroup` that also represents the space group itself. The product table of `SpaceGroup` is implemented with reference to its structure, making group-theory calculations much faster than for a generic `PermutationGroup`. Another subclass of `PermutationGroup`, {class}`~netket.graph.TranslationGroup`, is introduced to handle translation groups efficiently. All functionality of {meth}`~netket.graph.Lattice.space_group_builder()` is taken over by {meth}`~netket.graph.Lattice.space_group()`, so the former is deprecated [#2051](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2051).\r\n\r\n## Deprecations and Removals\r\n\r\n* The `nk.utils.group.Permutation` class, which was constructed by passing an _inverse permutation_, can now be constructed by passing both a _permutation_ array or an _inverse permutation_ array. It's attributes have also been updated to reflect the change. If you were operating directly on those objects you will have to update how you build them [#2067](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2067).\r\n* Removed `nk.hilbert.CustomHilbert`, as it has been deprecated for a long time and was not fully functional anymore. If you need to build a custom Hilbert space, define a class. [#2073](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2073).\r\n* Some methods specific to `SpaceGroupBuilder` have been removed as it has been merged with `SpaceGroup`. If you were manipulating this object directly you might have to update some usages. See the new feature above as well [#2051](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2051).\r\n* The Particle Hilbert space has been moved to experiemntal to reflect the fact that it has seen very little development since its inception [#2058](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2058).\r\n\r\n## Bug Fixes\r\n* Fixed a bug in the computation of the Autocorrelation time when using sharding [#2044](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2044).\r\n* When using a Parallel Tempering sampler with a custom set of diffusion parameters their normalisation was computed incorrectly. This has been fixed [#2041](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2041).\r\n","2025-07-03T11:35:47",{"id":223,"version":224,"summary_zh":225,"released_at":226},324384,"v3.17.1","Minor bugfixes\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.17...v3.17.1","2025-04-28T15:37:41",{"id":228,"version":229,"summary_zh":230,"released_at":231},324385,"v3.17","This version (as all previous versions) are incompatible with Jax 0.6 . A future release will make it compatible.\r\n\r\n### Breaking Changes\r\n* The {meth}`~netket.sampler.Sampler._sample_chain` method of {class}`~netket.sampler.Sampler`, as well as {meth}`~netket.sampler.MetropolisSampler._sample_next` is now passed a new optional keyword argument, `return_log_probabilities`. This means that custom samplers will stop working unless they start accepting this new extra keyword argument. To upgrade, we suggest to simply raise an error if this extra argument is True [#2012](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2012).\r\n\r\n### New Features\r\n* The {meth}`~netket.sampler.Sampler.sample` method of {class}`~netket.sampler.Sampler` now accepts a new optional keyword argument, `return_log_probabilities` which, if specified, will make the samplers return both the samples and the corresponding log-probabilities. The default is False, and therefore the default behaviour is unchanged [#2012](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2012).\r\n\r\n### Improvements\r\n* When loading log files with {meth}`netket.utils.history.HistoryDict.from_file`, the real and imaginary part are re-joined together to reproduce the original history objects, and `np.nan` are also correctly deserialized [#2025](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2025).\r\n\r\n### Bug Fixes\r\n* A minor bug that lead to a wrong calculation of Rhat when using chunking has been addressed [#2013](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2013).\r\n\r\n\r\n## What's Changed\r\n* Minor changes to Samplers by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2011\r\n* expect_forces_chunked statistics minor fix by @Quantumgunhee in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2013\r\n* Tutorial ViT wave function by @llviteritti in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2004\r\n* Update myst-nb requirement from \u003C1.2,>=1.0 to >=1.0,\u003C1.3 by @dependabot in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2001\r\n* History: complexification of histdict arrays by @lgravina1997 in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2025\r\n* Remove MetropolisSamplerPmap by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2028\r\n* Rename arguments in samplers to more pythonic self name by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2029\r\n* Samplers: add option to return the probability of samples by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2012\r\n\r\n## New Contributors\r\n* @Quantumgunhee made their first contribution in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F2013\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.16.1...v3.17","2025-04-20T09:23:13",{"id":233,"version":234,"summary_zh":235,"released_at":236},324386,"v3.16.1.post1","Minor fixes to the serialization of NNX models\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.16.0.post2...v3.16.1.post1","2025-02-07T11:02:40",{"id":238,"version":239,"summary_zh":240,"released_at":241},324387,"v3.16.0.post2","HotFix v2 for recent jax versions having introduced some bugs","2025-02-04T15:08:57",{"id":243,"version":244,"summary_zh":245,"released_at":246},324388,"v3.16.0.post1","Hotfix\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.16...v3.16.0.post1","2025-02-04T14:24:51",{"id":248,"version":249,"summary_zh":250,"released_at":251},324389,"v3.16","### Breaking Changes\r\n* The ordering of the {class}`netket.hilbert.Spin` hilbert space has been changed to reflect the more rational ordering of spin up == 1 and spin down == -1. T\r\n* The default dtype of the samples returned from {meth}`~netket.hilbert.DiscreteHilbert.random_state` has been changed to be consistent with the default dtype of the local values, and will generally switch from ``jnp.float32`` to ``jnp.int8``.\r\n* The default dtype of all {class}`netket.sampler.Sampler`s and their subclasses is now inferred from the Hilbert space, and will generally change from ``jnp.float32`` to ``jnp.int8``.\r\n\r\n### Improvements\r\n* The default dtype of samples generated by discrete Hilbert spaces is now the smallest dtype possible that can represent all local degrees of freedom, and is now much smaller than before [1963](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1963).\r\n* NetKet now supports networks defined using [NNX](https:\u002F\u002Fflax.readthedocs.io\u002Fen\u002Flatest\u002Fwhy.html), the future flax API to define neural networks [#1986](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1986).\r\n* Creating a graph with periodic boundary conditions along a direction with only 2 sites will now raise a warning, as the underlying graph is the same as without periodic boundary conditions [#1990](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1990).\r\n\r\n### Deprecations\r\n* The flag ``NETKET_DISABLE_ODE_JIT`` which has long defaulted to True, has been removed. Now ODE integrator drivers can only run outside of jit, because jax has not supported re-entrant jitting since several versions and officially removed support for it in jax 0.5.\r\n\r\n### Bug Fixes\r\n* A bug in the deserialization of variational states, which was not properly restoring the good sharding, has been fixed [1983](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1983)\r\n* A performance bug that caused `.block_until_ready()` to be called every time we sampled, even when not timing, was addressed [1991](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1991).\r\n* The default implementation of {meth}`netket.operator.DiscreteJaxOperator.n_conn` has been improved to return a more realistic value. This should mainly affect `~netket.operator.BoseHubbardJax` [1995](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1995).\r\n* A bug that caused {meth}`~netket.operator.FermionOperator2nd.n_conn` to raise an error if called immediately after constructing the operator has been addressed [1995](https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1995).\r\n\r\n\r\n\r\n## What's Changed\r\n* Improve dtypes StaticRange by @macekmar in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1963\r\n* Update sphinx-autodoc-typehints requirement from \u003C3.0,>=1.22 to >=1.22,\u003C4.0 by @dependabot in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1972\r\n* Swap ordering of spin hilbert space by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1977\r\n* Sampler dtypes: use the smallest possible dtype. by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1976\r\n* Address TDVP Schmitt unexpected nan and tests. by @Daniel-Haas-B in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1960\r\n* fix tests for jax 0.5 by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1982\r\n* handle sharding in deserialization of MCState by @lgravina1997 in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1983\r\n* Remove flag to disable jax jit in ode integrators by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1981\r\n* Add support to `flax.nnx` to define neural networks by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1986\r\n* Move fermions to stable netket by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1797\r\n* Fermions to main by @jwnys in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1952\r\n* fix: timer is never null only NullTimer by @vigsterkr in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1991\r\n* fix: the return type of the samples should be the same as the input by @vigsterkr in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1992\r\n* fix: BoseHubbardJax precision by @vigsterkr in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1994\r\n* Added warning when attempting to initialize a periodic lattice on a small lattice by @wttai004 in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1990\r\n* Skip failing tests by @PhilipVinc in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1996\r\n* fix: n_conn implementation for DiscreteOperatorJax and FermionOperator2ndJax by @vigsterkr in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1995\r\n\r\n## New Contributors\r\n* @lgravina1997 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1983\r\n* @vigsterkr made their first contribution in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1991\r\n* @wttai004 made their first contribution in https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fpull\u002F1990\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fnetket\u002Fnetket\u002Fcompare\u002Fv3.15.2...v3.16","2025-02-04T14:21:07"]