ffsim 0.0.82__tar.gz → 0.0.83__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ffsim-0.0.82 → ffsim-0.0.83}/PKG-INFO +1 -1
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/lucj.ipynb +4 -4
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/orbital-rotation.ipynb +9 -9
- {ffsim-0.0.82 → ffsim-0.0.83}/pyproject.toml +1 -1
- {ffsim-0.0.82 → ffsim-0.0.83}/uv.lock +1 -1
- {ffsim-0.0.82 → ffsim-0.0.83}/.cargo/config.toml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.dockerignore +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/build-and-release.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/check.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/docker.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/docs-dev.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/docs-release.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/test-latest-versions.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.github/workflows/test-minimum-versions.yml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.gitignore +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/.pre-commit-config.yaml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/CONTRIBUTING.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/Cargo.lock +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/Cargo.toml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/Dockerfile +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/LICENSE +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/README.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/compose.yaml +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/_static/logo-dark.svg +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/_static/logo.svg +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/_templates/autosummary/class.rst +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/conf.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/diag-coulomb-hamiltonian.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/double-factorized.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/fermion-operator.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/hamiltonians.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/index.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/protocols.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/qubit-gate-decompositions.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/state-vectors-and-gates.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/explanations/variational-ansatzes.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/generate_api_docs.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/compress-orbital-rotation.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/compute-expectation-values.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/entanglement-forging.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/index.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/qiskit-circuits-sim.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/qiskit-lucj.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/qiskit-merge-orbital-rotations.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/qiskit-trotter.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/sample-from-state-vectors.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/sample-slater.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/simulate-trotter-hubbard.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/simulate-trotter-mol-ham.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/how-to-guides/simulate-vqe.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/index.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/install.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/tutorials/double-factorized-trotter.ipynb +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/docs/tutorials/index.md +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_cistring.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_lib.pyi +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/contract/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/contract/diag_coulomb.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/contract/num_op_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/fermion_operator.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/gates/diag_coulomb.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/gates/num_op_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/_slow/gates/orbital_rotation.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/contract/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/contract/diag_coulomb.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/contract/num_op_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/contract/one_body.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/contract/two_body.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/basic_gates.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/diag_coulomb.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/num_op_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/orbital_rotation.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/gates/quad_ham.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/hamiltonians/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/hamiltonians/diagonal_coulomb_hamiltonian.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/hamiltonians/double_factorized_hamiltonian.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/hamiltonians/molecular_hamiltonian.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/hamiltonians/single_factorized_hamiltonian.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/init_cache.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/double_factorized_decomposition.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/givens.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/linalg.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/predicates.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/linalg/util.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/molecular_data.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/common_operators.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/coupled_cluster.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/fermi_hubbard.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/fermion_action.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/operators/fermion_operator.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/optimize/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/optimize/_util.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/optimize/linear_method.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/apply_unitary_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/approximate_equality_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/diagonal_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/fermion_operator_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/linear_operator_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/protocols/trace_protocol.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/py.typed +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/diag_coulomb.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/diag_coulomb_trotter_split_op.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/double_factorized_trotter.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/givens_ansatz.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/num_num_ansatz.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/num_op_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/orbital_rotation.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/slater_determinant.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/gates/ucj.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/jordan_wigner.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/lucj_pass_manager.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/sampler.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/sim.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/transpiler_passes/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/transpiler_passes/drop_negligible.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/transpiler_passes/merge_orbital_rotations.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/transpiler_stages.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/util.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/random/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/random/random.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/bitstring.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/dimensions.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/product_state_sum.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/rdm.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/sample_slater.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/slater.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/spin.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/states.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/states/wick.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/testing/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/testing/testing.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/trotter/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/trotter/_util.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/trotter/diagonal_coulomb_split_op.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/trotter/double_factorized.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/trotter/qdrift.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/givens.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/hopgate.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/multireference.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/num_num.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/orbital_optimization.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/uccsd.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/ucj_angles_spin_balanced.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/ucj_spin_balanced.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/ucj_spin_unbalanced.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/ucj_spinless.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/variational/util.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/contract/diag_coulomb.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/contract/fermion_operator.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/contract/mod.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/contract/num_op_sum.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/fermion_operator.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/gates/diag_coulomb.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/gates/mod.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/gates/num_op_sum.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/gates/orbital_rotation.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/gates/phase_shift.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/jordan_wigner.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/lib.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/linalg/givens.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/src/linalg/mod.rs +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/contract/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/contract/diag_coulomb_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/contract/num_op_sum_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/gates/diag_coulomb_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/gates/num_op_sum_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/_slow/gates/orbital_rotation_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/contract/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/contract/diag_coulomb_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/contract/num_op_sum_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/contract/two_body_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/basic_gates_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/diag_coulomb_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/num_op_sum_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/orbital_rotation_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/gates/quad_ham_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/diagonal_coulomb_hamiltonian_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/double_factorized_hamiltonian_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/molecular_hamiltonian_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/single_factorized_hamiltonian_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/linalg/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/linalg/double_factorized_decomposition_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/linalg/givens_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/linalg/linalg_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/linalg/util_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/molecular_data_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/common_operators_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/coupled_cluster_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/fermi_hubbard_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/fermion_action_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/operators/fermion_operator_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/optimize/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/optimize/linear_method_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/protocols/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/protocols/trace_protocol_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/diag_coulomb_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/diag_coulomb_trotter_split_op_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/double_factorized_trotter_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/givens_ansatz_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/num_num_ansatz_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/num_op_sum_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/orbital_rotation_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/slater_determinant_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/ucj_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/jordan_wigner_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/lucj_pass_manager_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/sampler_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/sim_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/transpiler_passes/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/transpiler_passes/drop_negligible_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/transpiler_passes/merge_orbital_rotations_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/util_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/random_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/bitstring_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/rdm_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/sample_slater_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/slater_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/states_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/states/wick_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/test_data/orbital_rotation-0.npy +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/test_no_warnings.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/testing_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/trotter/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/trotter/diag_coulomb_split_op_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/trotter/double_factorized_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/trotter/qdrift_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/__init__.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/givens_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/hopgate_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/multireference_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/num_num_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/orbital_optimization_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/uccsd_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/ucj_angles_spin_balanced_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/ucj_spin_balanced_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/ucj_spin_unbalanced_test.py +0 -0
- {ffsim-0.0.82 → ffsim-0.0.83}/tests/python/variational/ucj_spinless_test.py +0 -0
|
@@ -48,10 +48,10 @@
|
|
|
48
48
|
"With this setup, orbitals with the same spin are connected with a line topology, while orbitals with different spins are connected when they share the same spatial orbital. This yields the following index constraints on the $\\mathbf{J}$ matrices:\n",
|
|
49
49
|
"\n",
|
|
50
50
|
"$$\n",
|
|
51
|
-
"\\begin{
|
|
51
|
+
"\\begin{aligned}\n",
|
|
52
52
|
"\\mathbf{J}^{\\alpha\\alpha} &: \\set{(p, p+1) \\; , \\; p = 0, \\ldots, N-2} \\\\\n",
|
|
53
53
|
"\\mathbf{J}^{\\alpha\\beta} &: \\set{(p, p) \\;, \\; p = 0, \\ldots, N-1}\n",
|
|
54
|
-
"\\end{
|
|
54
|
+
"\\end{aligned}\n",
|
|
55
55
|
"$$\n",
|
|
56
56
|
"\n",
|
|
57
57
|
"In other words, if the $\\mathbf{J}$ matrices are nonzero only at the specified indices in the upper triangle, then the $e^{i \\mathcal{J}_k}$ term can be implemented on a square topology without using any swap gates, in constant depth. Of course, imposing such constraints on the ansatz makes it less expressive, so more ansatz repetitions may be required.\n"
|
|
@@ -121,10 +121,10 @@
|
|
|
121
121
|
"\n",
|
|
122
122
|
"The LUCJ ansatz specifies connectivity constraints described by index sets $S_{\\alpha \\alpha}$ and $S_{\\alpha \\beta}$. For example, for square lattice connectivity, the sets are\n",
|
|
123
123
|
"$$\n",
|
|
124
|
-
"\\begin{
|
|
124
|
+
"\\begin{aligned}\n",
|
|
125
125
|
"S_{\\alpha \\alpha} &= \\set{(p, p+1) \\; , \\; p = 0, \\ldots, N-2} \\\\\n",
|
|
126
126
|
"S_{\\alpha \\beta} &= \\set{(p, p) \\;, \\; p = 0, \\ldots, N-1}\n",
|
|
127
|
-
"\\end{
|
|
127
|
+
"\\end{aligned}\n",
|
|
128
128
|
"$$\n",
|
|
129
129
|
"The index sets specify which diagonal Coulomb interactions are permitted, corresponding to which entries of the $Z^{(k)}$ matrices are allowed to be nonzero. Because the expression for the $t_2$-amplitudes does not distinguish separate $Z^{(k)}$ matrices for same-spin and opposite-spin interactions, we use a heuristic in which, during the optimization, entries of the $Z^{(k)}$ matrices with indices that appear in either set are allowed to be nonzero. As a result, some interactions still need to be discarded when constructing the LUCJ ansatz, but fewer than if no constraints were considered at all.\n",
|
|
130
130
|
"\n",
|
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
"An orbital rotation is described by an $N \\times N$ unitary matrix $\\mathbf{U}$ (here $N$ is the number spatial orbitals), and we denote the corresponding operator as $\\mathcal{U}$. This operator has the following action on the fermionic creation operators $\\set{a^\\dagger_{i\\sigma}}$:\n",
|
|
14
14
|
"\n",
|
|
15
15
|
"$$\n",
|
|
16
|
-
"\\begin{
|
|
16
|
+
"\\begin{aligned}\n",
|
|
17
17
|
" \\mathcal{U} a^\\dagger_{i\\sigma} \\mathcal{U}^\\dagger = \\sum_j \\mathbf{U}_{ji} a^\\dagger_{j\\sigma}.\n",
|
|
18
|
-
"\\end{
|
|
18
|
+
"\\end{aligned}\n",
|
|
19
19
|
"$$\n",
|
|
20
20
|
"\n",
|
|
21
21
|
"That is, $a^\\dagger_{i\\sigma}$ is mapped to a new operator $b^\\dagger_{i\\sigma}$ where $b^\\dagger_{i\\sigma}$ is a linear combination of the operators $\\set{a^\\dagger_{i\\sigma}}$ with coefficients given by the $i$-th column of $\\mathbf{U}$. The fact that $\\mathbf{U}$ is unitary can be used, together with the fermionic anticommutation relations, to show that the $\\set{b^\\dagger_{i\\sigma}}$ also satisfy the fermionic anticommutation relations. Thus, the $b^\\dagger_{i\\sigma}$ are creation operators in a rotated basis of orbitals.\n",
|
|
@@ -25,10 +25,10 @@
|
|
|
25
25
|
"It is a theorem that $\\mathcal{U}$ can be written explicitly as\n",
|
|
26
26
|
"\n",
|
|
27
27
|
"$$\n",
|
|
28
|
-
"\\begin{
|
|
28
|
+
"\\begin{aligned}\n",
|
|
29
29
|
" \\mathcal{U} = \\prod_{\\sigma}\n",
|
|
30
|
-
" \\exp\\left[\\sum_{ij} \\log\\left(\\mathbf{U}\\right)_{ij} a^\\dagger_{i\\sigma} a_{j\\sigma}\\right]
|
|
31
|
-
"\\end{
|
|
30
|
+
" \\exp\\left[\\sum_{ij} \\log\\left(\\mathbf{U}\\right)_{ij} a^\\dagger_{i\\sigma} a_{j\\sigma}\\right] .\n",
|
|
31
|
+
"\\end{aligned}\n",
|
|
32
32
|
"$$\n",
|
|
33
33
|
"Sometimes, it is useful to specify the orbital rotation via the antihermitian matrix $\\mathbf{K} = \\log(\\mathbf{U})$ rather than $\\mathbf{U}$ itself. However, ffsim generally represents orbital rotations using the unitary matrix $\\mathbf{U}$.\n",
|
|
34
34
|
"\n",
|
|
@@ -37,10 +37,10 @@
|
|
|
37
37
|
"The mapping $\\mathbf{U} \\mapsto \\mathcal{U}$ satisfies the important homomorphism property:\n",
|
|
38
38
|
"\n",
|
|
39
39
|
"$$\n",
|
|
40
|
-
"\\begin{
|
|
40
|
+
"\\begin{aligned}\n",
|
|
41
41
|
" \\mathbf{U}^\\dagger &\\mapsto \\mathcal{U}^\\dagger, \\\\\n",
|
|
42
42
|
" \\mathbf{U}_1 \\mathbf{U}_2 &\\mapsto \\mathcal{U}_1 \\mathcal{U}_2\n",
|
|
43
|
-
"\\end{
|
|
43
|
+
"\\end{aligned}\n",
|
|
44
44
|
"$$\n",
|
|
45
45
|
"\n",
|
|
46
46
|
"for any unitary matrices $\\mathbf{U}$, $\\mathbf{U}_1$, and $\\mathbf{U}_2$.\n",
|
|
@@ -50,11 +50,11 @@
|
|
|
50
50
|
"The definitions given above assume that the same orbital rotation applies to both the spin-up and spin-down orbitals. However, it is possible for each spin sector to have an independent orbital rotation, in which case a pair of unitary matrices $(\\mathbf{U}^\\alpha, \\mathbf{U}^\\beta)$ needs to be specified. Letting $\\mathbf{K}^\\sigma = \\log(\\mathbf{U}^\\sigma)$, the definitions above then become\n",
|
|
51
51
|
"\n",
|
|
52
52
|
"$$\n",
|
|
53
|
-
"\\begin{
|
|
53
|
+
"\\begin{aligned}\n",
|
|
54
54
|
" \\mathcal{U} a^\\dagger_{i\\sigma} \\mathcal{U}^\\dagger &= \\sum_j \\mathbf{U}^{\\sigma}_{ji} a^\\dagger_{j\\sigma}, \\\\\n",
|
|
55
55
|
" \\mathcal{U} &= \\prod_{\\sigma}\n",
|
|
56
56
|
" \\exp\\left[\\sum_{ij} \\log\\left(\\mathbf{U}^{\\sigma}\\right)_{ij} a^\\dagger_{i\\sigma} a_{j\\sigma}\\right].\n",
|
|
57
|
-
"\\end{
|
|
57
|
+
"\\end{aligned}\n",
|
|
58
58
|
"$$\n",
|
|
59
59
|
"\n",
|
|
60
60
|
"## Application to time evolution by a quadratic Hamiltonian\n",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/python/ffsim/qiskit/transpiler_passes/merge_orbital_rotations.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/diagonal_coulomb_hamiltonian_test.py
RENAMED
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/double_factorized_hamiltonian_test.py
RENAMED
|
File without changes
|
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/tests/python/hamiltonians/single_factorized_hamiltonian_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/gates/diag_coulomb_trotter_split_op_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ffsim-0.0.82 → ffsim-0.0.83}/tests/python/qiskit/transpiler_passes/merge_orbital_rotations_test.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|