Skip to content

Commit 674abd6

Browse files
idk3jarrodmcc
authored andcommitted
Added optional parameter n_qubits to get_sparse_operator for FermionOperators (#72)
* Test for n_qubits param for get_sparse_operator with FermionOperators * Added optional param n_qubits to get_sparse_operator
1 parent e680187 commit 674abd6

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

src/fermilib/transforms/_conversion.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def get_sparse_operator(operator, n_qubits=None):
3434
if isinstance(operator, InteractionOperator):
3535
return get_sparse_interaction_operator(operator)
3636
elif isinstance(operator, FermionOperator):
37-
return jordan_wigner_sparse(operator)
37+
return jordan_wigner_sparse(operator, n_qubits)
3838
elif isinstance(operator, QubitOperator):
3939
if n_qubits is None:
4040
n_qubits = count_qubits(operator)

src/fermilib/transforms/_conversion_test.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,5 +115,14 @@ def test_sparse_matrix_linearity(self):
115115
[0, 3, 5, 6, 9, 10, 12, 15])
116116

117117

118+
class GetSparseOperatorFermionTest(unittest.TestCase):
119+
120+
def test_sparse_matrix_zero_n_qubit(self):
121+
sparse_operator = get_sparse_operator(FermionOperator.zero(), 4)
122+
sparse_operator.eliminate_zeros()
123+
self.assertEqual(len(list(sparse_operator.data)), 0)
124+
self.assertEqual(sparse_operator.shape, (16, 16))
125+
126+
118127
if __name__ == '__main__':
119128
unittest.main()

0 commit comments

Comments
 (0)