本文整理匯總了Python中numpy.imag方法的典型用法代碼示例。如果您正苦於以下問題:Python numpy.imag方法的具體用法?Python numpy.imag怎麽用?Python numpy.imag使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類numpy
的用法示例。
在下文中一共展示了numpy.imag方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: safe_bulk_eval_compact_polys
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def safe_bulk_eval_compact_polys(vtape, ctape, paramvec, dest_shape):
"""Typechecking wrapper for :function:`bulk_eval_compact_polys`.
The underlying method has two implementations: one for real-valued
`ctape`, and one for complex-valued. This wrapper will dynamically
dispatch to the appropriate implementation method based on the
type of `ctape`. If the type of `ctape` is known prior to calling,
it's slightly faster to call the appropriate implementation method
directly; if not.
"""
if _np.iscomplexobj(ctape):
ret = bulk_eval_compact_polys_complex(vtape, ctape, paramvec, dest_shape)
im_norm = _np.linalg.norm(_np.imag(ret))
if im_norm > 1e-6:
print("WARNING: norm(Im part) = {:g}".format(im_norm))
else:
ret = bulk_eval_compact_polys(vtape, ctape, paramvec, dest_shape)
return _np.real(ret)
示例2: infidelity_diff
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def infidelity_diff(self, constant_value):
"""
Returns a ReportableQty that is the (element-wise in the vector case)
difference between `constant_value` and this one given by:
`1.0 - Re(conjugate(constant_value) * self )`
"""
# let diff(x) = 1.0 - Re(const.C * x) = 1.0 - (const.re * x.re + const.im * x.im)
# so d(diff)/dx.re = -const.re, d(diff)/dx.im = -const.im
# diff(x + dx) = diff(x) + d(diff)/dx * dx
# diff(x + dx) - diff(x) = - (const.re * dx.re + const.im * dx.im)
v = 1.0 - _np.real(_np.conjugate(constant_value) * self.value)
if self.has_eb():
eb = abs(_np.real(constant_value) * _np.real(self.errbar)
+ _np.imag(constant_value) * _np.real(self.errbar))
return ReportableQty(v, eb, self.nonMarkovianEBs)
else:
return ReportableQty(v)
示例3: _num_to_rqc_str
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def _num_to_rqc_str(num):
"""Convert float to string to be included in RQC quil DEFGATE block
(as written by _np_to_quil_def_str)."""
num = _np.complex(_np.real_if_close(num))
if _np.imag(num) == 0:
output = str(_np.real(num))
return output
else:
real_part = _np.real(num)
imag_part = _np.imag(num)
if imag_part < 0:
sgn = '-'
imag_part = imag_part * -1
elif imag_part > 0:
sgn = '+'
else:
assert False
return '{}{}{}i'.format(real_part, sgn, imag_part)
示例4: __str__
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def __str__(self):
def fmt(x):
if abs(_np.imag(x)) > 1e-6:
if abs(_np.real(x)) > 1e-6: return "(%.3f+%.3fj)" % (x.real, x.imag)
else: return "(%.3fj)" % x.imag
else: return "%.3f" % x.real
termstrs = []
sorted_keys = sorted(list(self.keys()))
for k in sorted_keys:
vinds = self._int_to_vinds(k)
varstr = ""; last_i = None; n = 0
for i in sorted(vinds):
if i == last_i: n += 1
elif last_i is not None:
varstr += "x%d%s" % (last_i, ("^%d" % n) if n > 1 else "")
last_i = i
if last_i is not None:
varstr += "x%d%s" % (last_i, ("^%d" % n) if n > 1 else "")
#print("DB: vinds = ",vinds, " varstr = ",varstr)
if abs(self[k]) > 1e-4:
termstrs.append("%s%s" % (fmt(self[k]), varstr))
if len(termstrs) > 0:
return " + ".join(termstrs)
else: return "0"
示例5: bulk_fill_probs
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def bulk_fill_probs(self, mxToFill, evalTree, clipTo=None, check=False, comm=None):
if False and evalTree.cache: # TEST (disabled)
cpolys = evalTree.cache
ps = _safe_bulk_eval_compact_polys(cpolys[0], cpolys[1], self._paramvec, (evalTree.num_final_elements(),))
assert(_np.linalg.norm(_np.imag(ps)) < 1e-6)
ps = _np.real(ps)
if clipTo is not None: ps = _np.clip(ps, clipTo[0], clipTo[1])
mxToFill[:] = ps
else:
for i, c in enumerate(evalTree):
cache = evalTree.cache[i] if evalTree.cache else None
probs = self.probs(c, clipTo, cache)
elInds = _slct.indices(evalTree.element_indices[i]) \
if isinstance(evalTree.element_indices[i], slice) else evalTree.element_indices[i]
for k, outcome in zip(elInds, evalTree.outcomes[i]):
mxToFill[k] = probs[outcome]
示例6: is_hermitian
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def is_hermitian(mx, TOL=1e-9):
"""
Test whether mx is a hermitian matrix.
Parameters
----------
mx : numpy array
Matrix to test.
TOL : float, optional
Tolerance on absolute magitude of elements.
Returns
-------
bool
True if mx is hermitian, otherwise False.
"""
(m, n) = mx.shape
for i in range(m):
if abs(mx[i, i].imag) > TOL: return False
for j in range(i + 1, n):
if abs(mx[i, j] - mx[j, i].conjugate()) > TOL: return False
return True
示例7: complex_compare
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def complex_compare(a, b):
"""
Comparison function for complex numbers that compares real part, then
imaginary part.
Parameters
----------
a,b : complex
Returns
-------
-1 if a < b
0 if a == b
+1 if a > b
"""
if a.real < b.real: return -1
elif a.real > b.real: return 1
elif a.imag < b.imag: return -1
elif a.imag > b.imag: return 1
else: return 0
示例8: safereal
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def safereal(A, inplace=False, check=False):
"""
Returns the real-part of `A` correctly when `A` is either a dense array or
a sparse matrix
"""
if check:
assert(safenorm(A, 'imag') < 1e-6), "Check failed: taking real-part of matrix w/nonzero imaginary part"
if _sps.issparse(A):
if _sps.isspmatrix_csr(A):
if inplace:
ret = _sps.csr_matrix((_np.real(A.data), A.indices, A.indptr), shape=A.shape, dtype='d')
else: # copy
ret = _sps.csr_matrix((_np.real(A.data).copy(), A.indices.copy(),
A.indptr.copy()), shape=A.shape, dtype='d')
ret.eliminate_zeros()
return ret
else:
raise NotImplementedError("safereal() doesn't work with %s matrices yet" % str(type(A)))
else:
return _np.real(A)
示例9: safeimag
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def safeimag(A, inplace=False, check=False):
"""
Returns the imaginary-part of `A` correctly when `A` is either a dense array
or a sparse matrix
"""
if check:
assert(safenorm(A, 'real') < 1e-6), "Check failed: taking imag-part of matrix w/nonzero real part"
if _sps.issparse(A):
if _sps.isspmatrix_csr(A):
if inplace:
ret = _sps.csr_matrix((_np.imag(A.data), A.indices, A.indptr), shape=A.shape, dtype='d')
else: # copy
ret = _sps.csr_matrix((_np.imag(A.data).copy(), A.indices.copy(),
A.indptr.copy()), shape=A.shape, dtype='d')
ret.eliminate_zeros()
return ret
else:
raise NotImplementedError("safereal() doesn't work with %s matrices yet" % str(type(A)))
else:
return _np.imag(A)
示例10: SaveYML
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def SaveYML(w_um, RefInd, filename, references='', comments=''):
header = np.empty(9, dtype=object)
header[0] = '# this file is part of refractiveindex.info database'
header[1] = '# refractiveindex.info database is in the public domain'
header[2] = '# copyright and related rights waived via CC0 1.0'
header[3] = ''
header[4] = 'REFERENCES:' + references
header[5] = 'COMMENTS:' + comments
header[6] = 'DATA:'
header[7] = ' - type: tabulated nk'
header[8] = ' data: |'
export = np.column_stack((w_um, np.real(RefInd), np.imag(RefInd)))
np.savetxt(filename, export, fmt='%4.2f %#.4g %#.4g', delimiter=' ', header='\n'.join(header), comments='',newline='\n ')
return
###############################################################################
## Wavelengths to sample ##
示例11: SaveYML
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def SaveYML(w_um, RefInd, filename, references='', comments=''):
header = np.empty(9, dtype=object)
header[0] = '# this file is part of refractiveindex.info database'
header[1] = '# refractiveindex.info database is in the public domain'
header[2] = '# copyright and related rights waived via CC0 1.0'
header[3] = ''
header[4] = 'REFERENCES:' + references
header[5] = 'COMMENTS:' + comments
header[6] = 'DATA:'
header[7] = ' - type: tabulated nk'
header[8] = ' data: |'
export = np.column_stack((w_um, np.real(RefInd), np.imag(RefInd)))
np.savetxt(filename, export, fmt='%4.2f %#.4g %#.3e', delimiter=' ', header='\n'.join(header), comments='',newline='\n ')
return
###############################################################################
## Wavelengths to sample ##
示例12: SaveYML
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def SaveYML(w_um, RefInd, filename, references='', comments=''):
header = np.empty(9, dtype=object)
header[0] = '# this file is part of refractiveindex.info database'
header[1] = '# refractiveindex.info database is in the public domain'
header[2] = '# copyright and related rights waived via CC0 1.0'
header[3] = ''
header[4] = 'REFERENCES:' + references
header[5] = 'COMMENTS:' + comments
header[6] = 'DATA:'
header[7] = ' - type: tabulated nk'
header[8] = ' data: |'
export = np.column_stack((w_um, np.real(RefInd), np.imag(RefInd)))
np.savetxt(filename, export, fmt='%4.3f %#.4g %#.3e', delimiter=' ', header='\n'.join(header), comments='',newline='\n ')
return
###############################################################################
## Wavelengths to sample ##
示例13: get_group_delay
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def get_group_delay(raw_data, sampling_rate_in_hz, window_length_in_s,
window_shift_in_s, num_fft_points, window_type):
X_stft_transform = _get_stft(raw_data, sampling_rate_in_hz,
window_length_in_s, window_shift_in_s,
num_fft_points, window_type=window_type)
Y_stft_transform = _get_stft(raw_data, sampling_rate_in_hz,
window_length_in_s, window_shift_in_s,
num_fft_points, window_type=window_type,
data_transformation='group_delay')
X_stft_transform_real = np.real(X_stft_transform)
X_stft_transform_imag = np.imag(X_stft_transform)
Y_stft_transform_real = np.real(Y_stft_transform)
Y_stft_transform_imag = np.imag(Y_stft_transform)
nominator = np.multiply(X_stft_transform_real,
Y_stft_transform_real) + np.multiply(
X_stft_transform_imag, Y_stft_transform_imag)
denominator = np.square(np.abs(X_stft_transform))
group_delay = np.divide(nominator, denominator + 1e-10)
assert not np.isnan(
group_delay).any(), 'There are NaN values in group delay'
return np.transpose(group_delay)
示例14: zero_if_close
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def zero_if_close(a, tol=1.e-15):
"""set real and/or imaginary part to 0 if their absolute value is smaller than `tol`.
Parameters
----------
a : ndarray
numpy array to be rounded
tol : float
the threashold which values to consider as '0'.
"""
if a.dtype == np.complex128 or a.dtype == np.complex64:
ar = np.choose(np.abs(a.real) < tol, [a.real, np.zeros(a.shape)])
ai = np.choose(np.abs(a.imag) < tol, [a.imag, np.zeros(a.shape)])
return ar + 1j * ai
else:
return np.choose(np.abs(a) < tol, [a, np.zeros_like(a)])
示例15: _order_complex_poles
# 需要導入模塊: import numpy [as 別名]
# 或者: from numpy import imag [as 別名]
def _order_complex_poles(poles):
"""
Check we have complex conjugates pairs and reorder P according to YT, ie
real_poles, complex_i, conjugate complex_i, ....
The lexicographic sort on the complex poles is added to help the user to
compare sets of poles.
"""
ordered_poles = np.sort(poles[np.isreal(poles)])
im_poles = []
for p in np.sort(poles[np.imag(poles) < 0]):
if np.conj(p) in poles:
im_poles.extend((p, np.conj(p)))
ordered_poles = np.hstack((ordered_poles, im_poles))
if poles.shape[0] != len(ordered_poles):
raise ValueError("Complex poles must come with their conjugates")
return ordered_poles