Skip to content

Commit c90803d

Browse files
compactified code for non trivial vectors
1 parent 9d7b4cf commit c90803d

File tree

2 files changed

+4
-8
lines changed

2 files changed

+4
-8
lines changed

pygsti/modelmembers/povms/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,10 +580,8 @@ def calc_physical_subspace(dense_ideal_povm, epsilon = 1e-4):
580580
_,S,Vt = _np.linalg.svd(J)
581581

582582
#Only return nontrivial singular vectors
583-
non_zero_mask = _np.where(_np.abs(S) > 1e-13)
584-
non_trivial_vecs = Vt[non_zero_mask]
585-
non_trivial_vecs = non_trivial_vecs.reshape(-1, Vt.shape[1]) # Reshape to ensure it's 2D
586-
return non_trivial_vecs
583+
Vt = Vt[S > 1e-13, :].reshape((-1, Vt.shape[1]))
584+
return Vt
587585

588586

589587
phys_directions = calc_physical_subspace(dense_ideal_povm)

pygsti/modelmembers/states/__init__.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,8 @@ def calc_physical_subspace(ideal_prep, epsilon = 1e-4):
289289
_,S,Vt = _np.linalg.svd(J)
290290

291291
#Only return nontrivial singular vectors
292-
non_zero_mask = _np.where(_np.abs(S) > 1e-13)
293-
non_trivial_vecs = Vt[non_zero_mask]
294-
non_trivial_vecs = non_trivial_vecs.reshape(-1, Vt.shape[1]) # Reshape to ensure it's 2D
295-
return non_trivial_vecs
292+
Vt = Vt[S > 1e-13, :].reshape((-1, Vt.shape[1]))
293+
return Vt
296294

297295
phys_directions = calc_physical_subspace(dense_state)
298296

0 commit comments

Comments
 (0)