During the same minute as asking this question, I also asked this at Matter Modeling SE.

In Qiskit, each qubit corrrespond to one spin orbital. For example, the $\text{N}_2$ molecule have 10 molecular orbitals, which correspond to 20 spin orbitals for $\alpha$ and $\beta$ spins in sto-3g basis set. In my opinion, this is the case because the for each atom contained in the molecule, we need to account for the orbitals included, which are 1s, 2s, 2p for the nitrogen atom. However, in this case, how could one deal with the molecular orbitals when one is in the situation as choosing the active space for the molecule?

Take the H2O molecule as an excample, according to the MO diagram here, I would like to choose the 3a1 & 1b1 orbital to be not in the active space. In this case, is the qiskit pakage (more specifically the PySCF driver) arrange the orbitals according to the MO orbitals so that I can just specify a list like [0,1,4,5] to be the active MO space assume that the organization is from down to up in this case?

  • $\begingroup$ I don't fully understand your question. You are right, that Qiskit will always work with spin orbitals once you start mapping your problem to a qubit operator (at the time of writing). However, the ActiveSpaceTransformer gets applied before the mapper. Thus, it operates on molecular orbitals (see the explanation of active_orbitals, here: qiskit.org/documentation/nature/stubs/…). Thus, could you clarify what exactly you are asking? $\endgroup$
    – mrossinek
    Aug 9, 2021 at 6:15

1 Answer 1


The ActiveSpaceTransformer provided by Qiskit Nature allows you to specify a list of molecular orbital indices via its active_orbitals argument. As such, your example above should just work:

from qiskit_nature.transformers import ActiveSpaceTransformer
transformer = ActiveSpaceTransformer(4, 4, [0, 1, 4, 5])

The first two arguments are the number of active electrons and orbitals, respectively. In your case, the number of active electrons can simply be found by counting the electrons which are in your active orbitals (0 and 1). The number of active orbitals is simply the length of your list of indices.

For more information please have a look at the documentation of the ActiveSpaceTransformer: https://qiskit.org/documentation/nature/stubs/qiskit_nature.transformers.ActiveSpaceTransformer.html


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.