[fdfd.eme] do a better job of enforcing no gain
This commit is contained in:
parent
e6756742be
commit
f3d13e1486
2 changed files with 127 additions and 2 deletions
|
|
@ -81,8 +81,8 @@ def get_s(
|
|||
|
||||
if force_nogain:
|
||||
# force S @ S.H diagonal
|
||||
U, sing, V = numpy.linalg.svd(ss)
|
||||
ss = numpy.diag(sing) @ U @ V
|
||||
U, sing, Vh = numpy.linalg.svd(ss)
|
||||
ss = U @ numpy.diag(numpy.minimum(sing, 1.0)) @ Vh
|
||||
|
||||
if force_reciprocal:
|
||||
ss = 0.5 * (ss + ss.T)
|
||||
|
|
|
|||
Loading…
Reference in a new issue