10.2 UCJ节点

UCJ 节点(Unitary Coupled-Cluster Jastrow)是 MiqroForge 平台中用于构建可部署量子线路的关键节点。该节点负责从上游的 CCSD 电子波函数数据 中提取张量信息,并结合预设交互对,构造适用于量子模拟器或量子芯片的电路表达。

UCJ 节点可自动完成以下任务:

  • .chk 文件中提取 t2 振幅与分子结构信息;

  • 通过 ffsim 构造 UCJ 算符;

  • 生成 Hartree-Fock 初始态 + UCJ 动态演化电路;

  • 输出标准化 QASM2 代码,可直接供后续模拟节点或硬件执行。

本节点支持灵活设置 UCJ 迭代次数(n_reps),适用于量子化学精度调优与多尺度精度实验。

10.2.1 node.json配置解析

本节点的所有配置说明、测试用例等,均集成于 node.json 文件中,您可以通过该文件来学习和配置您用于输入的计算节点。

{
    "id": "f9347d22-09c4-4e55-8f41-ucj-node-2025",
    "name": {"cn":"UCJ 节点",
             "en":"UCJ Node"},
    "version": "1.0.0",
    
    "input":{
        	"upstream":[
            {"var": "ccsd_file_path",  // 变量名 与config.json和main.py一致
             "name": { "cn": "ccsd对象", // 前端显示名称,可缺省
                       "en": "ccsd object"},
             "description": "计算对象,来自Pre-UCJ节点"}

            ],
            "web":[
                {"var": "circuit_repeats", 
                 "name": { "cn": "量子线路的层数",
                           "en": "The number of layers in a quantum circuit"},
                 "description": "UCJ 算符重复次数(即量子线路的层数)",
                 "ui": "plain_text"}
            ]
        
    },
    "output":{
         "downstream":[
            	{"var": "qasm_code_file_path", 
             	"name": { "cn": "量子线路qasm对象",
                       "en": "qasm code object"},
             	"description": "保存最终生成的 QASM2 格式量子线路"
            	}
            ]
       		
    },
        
 
     "performance_config_path": "/app/UCJ/performance_config.json",
    "example_config_path": "/app/UCJ/example/test_config.json",
    "contact": {
        "name": "微观纪元量子化学团队",
        "email": "wuchuixiong@miqroera.com",
    },
    "execution_command": "python /app/Pre-UCJ/script/main.py  --config_path ${input_config_path}" // 必须囊括 ${input_config_path} 变量
}

下列表格旨在详细解析MiqroForge系统中节点配置文件的结构与内容。节点配置文件是确保各个计算节点能够正确部署、初始化并高效运行的关键。通过该表格,用户可以清晰地了解每个配置项的意义、数据类型、默认值以及是否为必需项。此外,还将提供一些示例值以帮助理解如何根据实际需要进行配置。

基本信息

字段名

必填

描述

约束/选项

示例值

id

节点全局唯一标识符,在初始化节点时自动生成

UUID格式

684bee08-a78d-4b1f-87a8-91910ca81f38

version

节点版本号

语义化版本

1.0.0

输入/输出配置 (inputs/outputs)

ucj-node

在图中清晰地展示了UCJ计算节点的输入输出关系及UI界面配置选项,介绍了从ccsd对象输入到量子线路汇编语言的输出,以及与上下游节点的交互方式。

  1. 上游输入:(upstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  2. webUI输入 (web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输入样式

  3. 下游输出:(downstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  4. webUI输出:(web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输出样式

性能配置/测试案例

字段名

必填

描述

约束/选项

performance_config

性能配置文件路径

绝对路径

example_config_path

运行测试输入文件test_config_path

绝对路径

execution_command

节点执行命令

联系信息 (contact)

字段名

必填

描述

约束/选项

示例值

name

维护者名称

-

"微观纪元量子化学团队"

email

联系邮箱

有效邮箱格式

"wuchuixiong@miqroera.com"

10.2.2 config.json 节点测试及配置说明

MiqroForge 平台中,每个节点镜像都包含一个标准化的测试配置文件 test_config.json。此文件位于节点的 /app/example/ 目录中,是验证节点功能的关键工具。

在节点的实际运行中,test_config.json或通过MiqroForge生成的${input_config_path}指向的config文件,他们的作用是作为计算时的输入/输出配置文件。用户在编写可执行程序时,需要保证main.py或其他可执行程序从config文件中读取到变量名。这些变量名和node.json中的变量名要保持一致。

测试配置文件示例(UCJ节点):

{
    "circuit_repeats": 2,
    "ccsd_file_path": "/app/UCJ/example/h2o-ccsd.chk",
    "qasm_code_file_path":"/app/UCJ/example/h2o-qasm.qasm" ,
    
}