本文整理汇总了Python中numpy.complex方法的典型用法代码示例。如果您正苦于以下问题:Python numpy.complex方法的具体用法?Python numpy.complex怎么用?Python numpy.complex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类numpy
的用法示例。
在下文中一共展示了numpy.complex方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: cc_Wvvvv
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def cc_Wvvvv(t1,t2,eris):
tau = make_tau(t2,t1,t1)
#eris_vovv = np.array(eris.ovvv).transpose(1,0,3,2)
#tmp = einsum('mb,amef->abef',t1,eris_vovv)
#Wabef = eris.vvvv - tmp + tmp.transpose(1,0,2,3)
#Wabef += 0.25*einsum('mnab,mnef->abef',tau,eris.oovv)
if t1.dtype == np.complex: ds_type = 'c16'
else: ds_type = 'f8'
_tmpfile1 = tempfile.NamedTemporaryFile(dir=lib.param.TMPDIR)
fimd = h5py.File(_tmpfile1.name)
nocc, nvir = t1.shape
Wabef = fimd.create_dataset('vvvv', (nvir,nvir,nvir,nvir), ds_type)
for a in range(nvir):
Wabef[a] = eris.vvvv[a]
Wabef[a] -= einsum('mb,mfe->bef',t1,eris.ovvv[:,a,:,:])
Wabef[a] += einsum('m,mbfe->bef',t1[:,a],eris.ovvv)
Wabef[a] += 0.25*einsum('mnb,mnef->bef',tau[:,:,a,:],eris.oovv)
return Wabef
示例2: angle_to_cortex
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def angle_to_cortex(self, theta, rho):
'See help(neuropythy.registration.RetinotopyModel.angle_to_cortex).'
#TODO: This should be made to work correctly with visual area boundaries: this could be done
# by, for each area (e.g., V2) looking at its boundaries (with V1 and V3) and flipping the
# adjacent triangles so that there is complete coverage of each hemifield, guaranteed.
if not pimms.is_vector(theta): return self.angle_to_cortex([theta], [rho])[0]
theta = np.asarray(theta)
rho = np.asarray(rho)
zs = np.asarray(
rho * np.exp([np.complex(z) for z in 1j * ((90.0 - theta)/180.0*np.pi)]),
dtype=np.complex)
coords = np.asarray([zs.real, zs.imag]).T
if coords.shape[0] == 0: return np.zeros((0, len(self.visual_meshes), 2))
# we step through each area in the forward model and return the appropriate values
tx = self.transform
res = np.transpose(
[self.visual_meshes[area].interpolate(coords, 'cortical_coordinates', method='linear')
for area in sorted(self.visual_meshes.keys())],
(1,0,2))
if tx is not None:
res = np.asarray(
[np.dot(tx, np.vstack((area_xy.T, np.ones(len(area_xy)))))[0:2].T
for area_xy in res])
return res
示例3: get_init_guess
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def get_init_guess(self, kshift, nroots=1, koopmans=False, diag=None):
size = self.vector_size()
dtype = getattr(diag, 'dtype', np.complex)
nroots = min(nroots, size)
guess = []
if koopmans:
for n in self.nonzero_opadding[kshift][::-1][:nroots]:
g = np.zeros(int(size), dtype=dtype)
g[n] = 1.0
g = self.mask_frozen(g, kshift, const=0.0)
guess.append(g)
else:
idx = diag.argsort()[:nroots]
for i in idx:
g = np.zeros(int(size), dtype=dtype)
g[i] = 1.0
g = self.mask_frozen(g, kshift, const=0.0)
guess.append(g)
return guess
示例4: diagonalize_asymm
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def diagonalize_asymm(H):
"""
Diagonalize a real, *asymmetric* matrix and return sorted results.
Return the eigenvalues and eigenvectors (column matrix)
sorted from lowest to highest eigenvalue.
"""
E,C = np.linalg.eig(H)
#if np.allclose(E.imag, 0*E.imag):
# E = np.real(E)
#else:
# print "WARNING: Eigenvalues are complex, will be returned as such."
idx = E.real.argsort()
E = E[idx]
C = C[:,idx]
return E,C
示例5: allocateVecs
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def allocateVecs(self):
self.subH = np.zeros( shape=(self.maxM,self.maxM), dtype=complex )
self.sol = np.zeros( shape=(self.maxM), dtype=complex )
self.dgks = np.zeros( shape=(self.maxM), dtype=complex )
self.nConv = np.zeros( shape=(self.maxM), dtype=int )
self.eigs = np.zeros( shape=(self.maxM), dtype=complex )
self.evecs = np.zeros( shape=(self.maxM,self.maxM), dtype=complex )
self.oldeigs = np.zeros( shape=(self.maxM), dtype=complex )
self.deigs = np.zeros( shape=(self.maxM), dtype=complex )
self.outeigs = np.zeros( shape=(self.nEigen), dtype=complex )
self.outevecs = np.zeros( shape=(self.size,self.nEigen), dtype=complex)
self.currentSize = 0
self.Ax = np.zeros( shape=(self.size), dtype=complex )
self.res = np.zeros( shape=(self.size), dtype=complex )
self.vlist = np.zeros( shape=(self.maxM,self.size), dtype=complex )
self.cv = np.zeros( shape = (self.size), dtype = complex )
self.cAv = np.zeros( shape = (self.size), dtype = complex )
self.Avlist = np.zeros( shape=(self.maxM,self.size), dtype=complex )
self.dres = 999.9
self.resnorm = 999.9
self.cvEig = 0.1
self.ciEig = 0
self.deflated = 0
示例6: Wvvvv
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def Wvvvv(t1,t2,eris):
tau = make_tau(t2,t1,t1)
#Wabef = cc_Wvvvv(t1,t2,eris) + 0.25*einsum('mnab,mnef->abef',tau,eris.oovv)
if t1.dtype == np.complex: ds_type = 'c16'
else: ds_type = 'f8'
_tmpfile1 = tempfile.NamedTemporaryFile(dir=lib.param.TMPDIR)
fimd = h5py.File(_tmpfile1.name)
nocc, nvir = t1.shape
Wabef = fimd.create_dataset('vvvv', (nvir,nvir,nvir,nvir), ds_type)
#_cc_Wvvvv = cc_Wvvvv(t1,t2,eris)
for a in range(nvir):
#Wabef[a] = _cc_Wvvvv[a]
Wabef[a] = eris.vvvv[a]
Wabef[a] -= einsum('mb,mfe->bef',t1,eris.ovvv[:,a,:,:])
Wabef[a] += einsum('m,mbfe->bef',t1[:,a],eris.ovvv)
#Wabef[a] += 0.25*einsum('mnb,mnef->bef',tau[:,:,a,:],eris.oovv)
#Wabef[a] += 0.25*einsum('mnb,mnef->bef',tau[:,:,a,:],eris.oovv)
Wabef[a] += 0.5*einsum('mnb,mnef->bef',tau[:,:,a,:],eris.oovv)
return Wabef
示例7: test_intor_r2e
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def test_intor_r2e(self):
mol1 = gto.M(atom=[[1 , (0. , -0.7 , 0.)],
[1 , (0. , 0.7 , 0.)]],
basis = '631g')
nao = mol1.nao_2c()
eri0 = numpy.empty((3,nao,nao,nao,nao), dtype=numpy.complex)
ip = 0
for i in range(mol1.nbas):
jp = 0
for j in range(mol1.nbas):
kp = 0
for k in range(mol1.nbas):
lp = 0
for l in range(mol1.nbas):
buf = mol1.intor_by_shell('int2e_ip1_spinor', (i,j,k,l), comp=3)
di,dj,dk,dl = buf.shape[1:]
eri0[:,ip:ip+di,jp:jp+dj,kp:kp+dk,lp:lp+dl] = buf
lp += dl
kp += dk
jp += dj
ip += di
示例8: hcore_generator
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def hcore_generator(self, mol):
aoslices = mol.aoslice_2c_by_atom()
h1 = self.get_hcore(mol)
n2c = mol.nao_2c()
n4c = n2c * 2
c = lib.param.LIGHT_SPEED
def hcore_deriv(atm_id):
shl0, shl1, p0, p1 = aoslices[atm_id]
with mol.with_rinv_at_nucleus(atm_id):
z = -mol.atom_charge(atm_id)
vn = z * mol.intor('int1e_iprinv_spinor', comp=3)
wn = z * mol.intor('int1e_ipsprinvsp_spinor', comp=3)
v = numpy.zeros((3,n4c,n4c), numpy.complex)
v[:,:n2c,:n2c] = vn
v[:,n2c:,n2c:] = wn * (.25/c**2)
v[:,p0:p1] += h1[:,p0:p1]
v[:,n2c+p0:n2c+p1] += h1[:,n2c+p0:n2c+p1]
return v + v.conj().transpose(0,2,1)
return hcore_deriv
示例9: make_s10
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def make_s10(mol, gauge_orig=None, mb='RMB'):
'''First order overlap matrix wrt external magnetic field.
Note the side effects of set_common_origin.
'''
if gauge_orig is not None:
mol.set_common_origin(gauge_orig)
n2c = mol.nao_2c()
n4c = n2c * 2
c = lib.param.LIGHT_SPEED
s1 = numpy.zeros((3, n4c, n4c), complex)
if mb.upper() == 'RMB':
if gauge_orig is None:
t1 = mol.intor('int1e_giao_sa10sp_spinor', 3)
else:
t1 = mol.intor('int1e_cg_sa10sp_spinor', 3)
for i in range(3):
t1cc = t1[i] + t1[i].conj().T
s1[i,n2c:,n2c:] = t1cc * (.25/c**2)
if gauge_orig is None:
sg = mol.intor('int1e_govlp_spinor', 3)
tg = mol.intor('int1e_spgsp_spinor', 3)
s1[:,:n2c,:n2c] += sg
s1[:,n2c:,n2c:] += tg * (.25/c**2)
return s1
示例10: test_better_float
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def test_better_float():
# Better float function
def check_against(f1, f2):
return f1 if FLOAT_TYPES.index(f1) >= FLOAT_TYPES.index(f2) else f2
for first in FLOAT_TYPES:
for other in IUINT_TYPES + np.sctypes['complex']:
assert_equal(better_float_of(first, other), first)
assert_equal(better_float_of(other, first), first)
for other2 in IUINT_TYPES + np.sctypes['complex']:
assert_equal(better_float_of(other, other2), np.float32)
assert_equal(better_float_of(other, other2, np.float64),
np.float64)
for second in FLOAT_TYPES:
assert_equal(better_float_of(first, second),
check_against(first, second))
# Check codes and dtypes work
assert_equal(better_float_of('f4', 'f8', 'f4'), np.float64)
assert_equal(better_float_of('i4', 'i8', 'f8'), np.float64)
示例11: _num_to_rqc_str
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [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)
示例12: _patch_cython
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def _patch_cython():
# "monkey patch" some objects to avoid cyclic import structure
from . import _npc_helper
_npc_helper._charges = charges
_npc_helper._np_conserved = np_conserved
assert _npc_helper.QTYPE == charges.QTYPE
# check types
warn = False
import numpy as np
check_types = [
(np.float64, np.complex128),
(np.ones([1]).dtype, (1.j * np.ones([1])).dtype),
(np.array(1.).dtype, np.array(1.j).dtype),
(np.array(1., dtype=np.float).dtype, np.array(1., dtype=np.complex).dtype),
]
types_ok = [
_npc_helper._float_complex_are_64_bit(dt_float, dt_real)
for dt_float, dt_real in check_types
]
if not np.all(types_ok):
import warnings
warnings.warn("(Some of) the default dtypes are not 64-bit. "
"Using the compiled cython code (as you do) might make it slower.")
# done
示例13: _griffin_lim
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def _griffin_lim(S):
angles = np.exp(2j * np.pi * np.random.rand(*S.shape))
S_complex = np.abs(S).astype(np.complex)
for i in range(hparams.griffin_lim_iters):
if i > 0:
angles = np.exp(1j * np.angle(_stft(y)))
y = _istft(S_complex * angles)
return y
示例14: gen_H_tb
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def gen_H_tb(t,Nx,Ny,kvec):
H = np.zeros((Nx,Ny,Nx,Ny),dtype=np.complex)
for i in range(Nx):
for j in range(Ny):
if i == Nx-1:
H[i,j,0 ,j] += np.exp(-1j*np.dot(np.array(kvec),np.array([Nx,0])))
else:
H[i,j,i+1 ,j] += 1
if i == 0:
H[i,j,Nx-1,j] += np.exp(-1j*np.dot(np.array(kvec),np.array([-Nx,0])))
else:
H[i,j,i-1 ,j] += 1
if j == Ny-1:
H[i,j,i,0 ] += np.exp(-1j*np.dot(np.array(kvec),np.array([0,Ny])))
else:
H[i,j,i,j+1] += 1
if j == 0:
H[i,j,i,Ny-1] += np.exp(-1j*np.dot(np.array(kvec),np.array([0,-Ny])))
else:
H[i,j,i,j-1] += 1
return -t*H.reshape(Nx*Ny,Nx*Ny)
### get H_tb at a series of kpoints.
示例15: get_xmat
# 需要导入模块: import numpy [as 别名]
# 或者: from numpy import complex [as 别名]
def get_xmat(self, mol=None):
if mol is None:
xmol = self.get_xmol(mol)[0]
else:
xmol = mol
c = lib.param.LIGHT_SPEED
assert('1E' in self.approx.upper())
if 'ATOM' in self.approx.upper():
atom_slices = xmol.offset_2c_by_atom()
n2c = xmol.nao_2c()
x = numpy.zeros((n2c,n2c), dtype=numpy.complex)
for ia in range(xmol.natm):
ish0, ish1, p0, p1 = atom_slices[ia]
shls_slice = (ish0, ish1, ish0, ish1)
s1 = xmol.intor('int1e_ovlp_spinor', shls_slice=shls_slice)
t1 = xmol.intor('int1e_spsp_spinor', shls_slice=shls_slice) * .5
with xmol.with_rinv_at_nucleus(ia):
z = -xmol.atom_charge(ia)
v1 = z*xmol.intor('int1e_rinv_spinor', shls_slice=shls_slice)
w1 = z*xmol.intor('int1e_sprinvsp_spinor', shls_slice=shls_slice)
x[p0:p1,p0:p1] = _x2c1e_xmatrix(t1, v1, w1, s1, c)
else:
s = xmol.intor_symmetric('int1e_ovlp_spinor')
t = xmol.intor_symmetric('int1e_spsp_spinor') * .5
v = xmol.intor_symmetric('int1e_nuc_spinor')
w = xmol.intor_symmetric('int1e_spnucsp_spinor')
x = _x2c1e_xmatrix(t, v, w, s, c)
return x