paddle\_quantum.qchem.qchem ================================== 量子化学中的功能函数。 .. py:function:: qubitOperator_to_Hamiltonian(spin_h,tol) 将openfermion形式转化为量桨的哈密顿量形式。 :param spin_h: openfermion形式的哈密顿量。 :type spin_h: openfermion.ops.operators.qubit_operator.QubitOperator :param tol: 阈值 :type tol: float, optional :return: 返回转换成量桨形式的哈密顿量 :rtype: Hamiltonian .. py:function:: geometry(structure, file) 读取分子几何信息。 :param structure: 分子几何信息的字符串形式, 以 H2 分子为例 ``[['H', [-1.68666, 1.79811, 0.0]], ['H', [-1.12017, 1.37343, 0.0]]]``。 :type structure: string, optional :param file: xyz 文件的路径。 :type file: str, optional :raises AssertionError: 两个输入参数不可以同时为 ``None``。 :return: 分子的几何信息。 :rtype: str .. py:function:: get_molecular_data(geometry, charge, multiplicity, basis, method, if_save, if_print, name, file_path) 计算分子的必要信息,包括单体积分(one-body integrations)和双体积分(two-body integrations,以及用选定的方法计算基态的能量。 :param geometry: 分子的几何信息。 :type geometry: str :param charge: 分子电荷, 默认值为 ``0``。 :type charge: int, optional :param multiplicity: 分子的多重度, 默认值为 ``1``。 :type multiplicity: int, optional :param basis: 常用的基组是 ``sto-3g、6-31g`` 等, 默认的基组是 ``sto-3g``,更多的基组选择可以参考网站 https://psicode.org/psi4manual/master/basissets_byelement.html#apdx-basiselement。 :type basis: str, optional :param method: 用于计算基态能量的方法, 包括 ``scf`` 和 ``fci``,默认的方法为 ``scf``。 :type method: str, optional :param if_save: 是否需要将分子信息存储成 .hdf5 文件,默认为 ``True``。 :type if_save: bool, optional :param if_print: 是否需要打印出选定方法 (method) 计算出的分子基态能量,默认为 ``True``。 :type if_print: bool, optional :param name: 命名储存的文件, 默认为 ``""``。 :type name: str, optional :param file_path: 文件的储存路径, 默认为 ``"."``。 :type file_path: str, optional :return: 包含分子所有信息的类。 :rtype: MolecularData .. py:function:: active_space(electrons, orbitals, multiplicity, active_electrons, active_orbitals) 对于给定的活跃电子和活跃轨道计算相应的活跃空间(active space)。 :param electrons: 电子数。 :type electrons: int :param orbitals: 轨道数。 :type orbitals: int :param multiplicity: 自旋多重度, 默认值为 ``1``。 :type multiplicity: int, optional :param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。 :type active_electrons: int, optional :param active_orbitals: 活跃 (active) 轨道数,默认情况为所有轨道均为活跃轨道。 :type active_orbitals: int, optional :return: 核心轨道和活跃轨道的索引。 :rtype: tuple .. py:function:: fermionic_hamiltonian(molecule, filename, multiplicity, active_electrons, active_orbitals) 计算给定分子的费米哈密顿量。 :param molecule: 包含分子所有信息的类。 :type molecule: MolecularData :param filename: 分子的 .hdf5 文件的路径。 :type filename: str, optional :param multiplicity: 自旋多重度, 默认值为 ``1``。 :type multiplicity: int, optional :param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。 :type active_electrons: int, optional :param active_orbitals: 活跃 (active) 轨道数,默认情况为所有轨道均为活跃轨道。 :type active_orbitals: int, optional :return: openfermion 格式的哈密顿量。 :rtype: openfermion.ops.operators.qubit_operator.QubitOperator .. py:function:: spin_hamiltonian(molecule, filename, multiplicity, mapping_method, active_electrons, active_orbitals) 生成 Paddle Quantum 格式的哈密顿量。 :param molecule: openfermion 格式的哈密顿量。 :type molecule: openfermion.ops.operators.qubit_operator.QubitOperator :param filename: 分子的 .hdf5 文件的路径。 :type filename: str, optional :param multiplicity: 自旋多重度, 默认值为 ``1``。 :type multiplicity: int, optional :param mapping_method: 映射方法,这里默认为 ``jordan_wigner``,此外还提供 ``bravyi_kitaev`` 方法。 :type mapping_method: str, optional :param active_electrons: 活跃 (active) 电子数,默认情况为所有电子均为活跃电子。 :type active_electrons: int, optional :param active_orbitals: 活跃 (active) 轨道数默认情况为所有轨道均为活跃轨道。 :type active_orbitals: int, optional :return: Paddle Quantum 格式的哈密顿量。 :rtype: Hamiltonian