python操作实例_Python numpy.vdot() 使用实例

本文通过多个代码示例详细展示了如何使用Python的numpy库中的vdot()函数,涉及向量点乘、矩阵运算等多个场景,适用于理解该函数的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

The following are code examples for showing how to use . They are extracted from open source Python projects. You can vote up the examples you like or vote down the exmaples you don’t like. You can also save this page to your account.

Example 1

def vdot(a, b):

"""Returns the dot product of two vectors.

The input arrays are flattened into 1-D vectors and then it performs inner

product of these vectors.

Args:

a (cupy.ndarray): The first argument.

b (cupy.ndarray): The second argument.

Returns:

cupy.ndarray: Zero-dimensional array of the dot product result.

.. seealso:: :func:`numpy.vdot`

"""

if a.size != b.size:

raise ValueError('Axis dimension mismatch')

if a.dtype.kind == 'c':

a = a.conj()

return core.tensordot_core(a, b, None, 1, 1, a.size, ())

Example 2

def test_sandwich(nr_sites, local_dim, rank, rgen, dtype):

mps = factory.random_mpa(nr_sites, local_dim, rank,

randstate=rgen, dtype=dtype, normalized=True)

mps2 = factory.random_mpa(nr_sites, local_dim, rank,

randstate=rgen, dtype=dtype, normalized=True)

mpo = factory.random_mpa(nr_sites, [local_dim] * 2, rank,

randstate=rgen, dtype=dtype)

mpo.canonicalize()

mpo /= mp.trace(mpo)

vec = mps.to_array().ravel()

op = mpo.to_array_global().reshape([local_dim**nr_sites] * 2)

res_arr = np.vdot(vec, np.dot(op, vec))

res_mpo = mp.inner(mps, mp.dot(mpo, mps))

res_sandwich = mp.sandwich(mpo, mps)

assert_almost_equal(res_mpo, res_arr)

assert_almost_equal(res_sandwich, res_arr)

vec2 = mps2.to_array().ravel()

res_arr = np.vdot(vec2, np.dot(op, vec))

res_mpo = mp.inner(mps2, mp.dot(mpo, mps))

res_sandwich = mp.sandwich(mpo, mps, mps2)

assert_almost_equal(res_mpo, res_arr)

assert_almost_equal(res_sandwich, res_arr)

Example 3

def test_adjoint(dtype, shearletSystem):

"""Validate the adjoint."""

shape = tuple(shearletSystem['size'])

# load data

X = np.random.randn(*shape).astype(dtype)

# decomposition

coeffs = pyshearlab.SLsheardec2D(X, shearletSystem)

# adjoint

Xadj = pyshearlab.SLshearadjoint2D(coeffs, shearletSystem)

assert Xadj.dtype == X.dtype

assert Xadj.shape == X.shape

# should equal

assert (pytest.approx(np.vdot(coeffs, coeffs), rel=1e-3, abs=0) ==

np.vdot(X, Xadj))

Example 4

def test_adjoint_of_inverse(dtype, shearletSystem):

"""Validate the adjoint of the inverse."""

X = np.random.randn(*shearletSystem['size']).astype(dtype)

# decomposition

coeffs = pyshearlab.SLsheardec2D(X, shearletSystem)

# reconstruction

Xrec = pyshearlab.SLshearrec2D(coeffs, shearletSystem)

Xrecadj = pyshearlab.SLshearrecadjoint2D(Xrec, shearletSystem)

assert Xrecadj.dtype == X.dtype

assert Xrecadj.shape == coeffs.shape

# = .

assert (pytest.approx(np.vdot(Xrec, Xrec), rel=1e-3, abs=0) ==

np.vdot(Xrecadj, coeffs))

Example 5

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 6

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 7

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 8

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 9

def vdot(a, b):

"""Returns the dot product of two vectors.

The input arrays are flattened into 1-D vectors and then it performs inner

product of these vectors.

Args:

a (cupy.ndarray): The first argument.

b (cupy.ndarray): The second argument.

Returns:

cupy.ndarray: Zero-dimensional array of the dot product result.

.. seealso:: :func:`numpy.vdot`

"""

if a.size != b.size:

raise ValueError('Axis dimension mismatch')

return core.tensordot_core(a, b, None, 1, 1, a.size, ())

Example 10

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 11

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 12

def rotation_matrix(a, b):

"""

Create rotation matrix to rotate vector a into b.

After http://math.stackexchange.com/a/476311

Parameters

----------

a,b

xyz-vectors

"""

v = np.cross(a, b)

sin = np.linalg.norm(v)

if sin == 0:

return np.identity(3)

cos = np.vdot(a, b)

vx = np.mat([[0, -v[2], v[1]], [v[2], 0., -v[0]], [-v[1], v[0], 0.]])

R = np.identity(3) + vx + vx * vx * (1 - cos) / (sin ** 2)

return R

Example 13

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 14

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 15

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 16

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 17

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 18

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 19

def get_expectation_value(self, terms_dict, ids):

"""

Return the expectation value of a qubit operator w.r.t. qubit ids.

Args:

terms_dict (dict): Operator dictionary (see QubitOperator.terms)

ids (list[int]): List of qubit ids upon which the operator acts.

Returns:

Expectation value

"""

expectation = 0.

current_state = _np.copy(self._state)

for (term, coefficient) in terms_dict:

self._apply_term(term, ids)

delta = coefficient * _np.vdot(current_state, self._state).real

expectation += delta

self._state = _np.copy(current_state)

return expectation

Example 20

def berry_curvature(H,kx,ky,mu,d=10**-6):

'''

Calculate the Berry curvature of the occupied bands for a Hamiltonian with the given chemical potential using the Kubo formula.

Parameters

----------

H : callable

Input function which returns the Hamiltonian as a 2D array.

kx,ky : float

The two parameters which specify the 2D point at which the Berry curvature is to be calculated.

They are also the input parameters to be conveyed to the function H.

mu : float

The chemical potential.

d : float, optional

The spacing to be used to calculate the derivatives.

Returns

-------

float

The calculated Berry curvature for function H at point kx,ky with chemical potential mu.

'''

result=0

Vx=(H(kx+d,ky)-H(kx-d,ky))/(2*d)

Vy=(H(kx,ky+d)-H(kx,ky-d))/(2*d)

Es,Evs=eigh(H(kx,ky))

for n in xrange(Es.shape[0]):

for m in xrange(Es.shape[0]):

if Es[n]<=mu and Es[m]>mu:

result-=2*(np.vdot(np.dot(Vx,Evs[:,n]),Evs[:,m])*np.vdot(Evs[:,m],np.dot(Vy,Evs[:,n]))/(Es[n]-Es[m])**2).imag

return result

Example 21

def FBFMPOS(engine,app):

'''

This method calculates the profiles of spin-1-excitation states.

'''

result=[]

table=engine.config.table(mask=['spin','nambu'])

U1,U2,vs=engine.basis.U1,engine.basis.U2,sl.eigh(engine.matrix(k=app.k),eigvals_only=False)[1]

for i,index in enumerate(sorted(table,key=table.get)):

result.append([i])

gs=np.vdot(U2[table[index],:,:].reshape(-1),U2[table[index],:,:].reshape(-1))*(1 if engine.basis.polarization=='up' else -1)

dw=optrep(HP.FQuadratic(1.0,(index.replace(spin=0,nambu=HP.CREATION),index.replace(spin=0,nambu=HP.ANNIHILATION)),seqs=(table[index],table[index])),app.k,engine.basis)

up=optrep(HP.FQuadratic(1.0,(index.replace(spin=1,nambu=HP.CREATION),index.replace(spin=1,nambu=HP.ANNIHILATION)),seqs=(table[index],table[index])),app.k,engine.basis)

for pos in app.ns or (0,):

result[-1].append((np.vdot(vs[:,pos],up.dot(vs[:,pos]))-np.vdot(vs[:,pos],dw.dot(vs[:,pos]))-gs)*(-1 if engine.basis.polarization=='up' else 1))

result=np.asarray(result)

assert nl.norm(np.asarray(result).imag)

result=result.real

name='%s_%s'%(engine,app.name)

if app.savedata: np.savetxt('%s/%s.dat'%(engine.dout,name),result)

if app.plot: app.figure('L',result,'%s/%s'%(engine.dout,name),legend=['Level %s'%n for n in app.ns or (0,)])

if app.returndata: return result

Example 22

def overlap(*args):

'''

Calculate the overlap between two vectors or among a matrix and two vectors.

Usage:

* ``overlap(vector1,vector2)``, with

vector1,vector2: 1d ndarray

The vectors between which the overlap is to calculate.

* ``overlap(vector1,matrix,vector2)``, with

vector1,vector2: 1d ndarray

The ket and bra in the overlap.

matrix: 2d ndarray-like

The matrix between the two vectors.

'''

assert len(args) in (2,3)

if len(args)==2:

return np.vdot(args[0],args[1])

else:

return np.vdot(args[0],args[1].dot(args[2]))

Example 23

def test_basic(self):

dt_numeric = np.typecodes['AllFloat'] + np.typecodes['AllInteger']

dt_complex = np.typecodes['Complex']

# test real

a = np.eye(3)

for dt in dt_numeric + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test complex

a = np.eye(3) * 1j

for dt in dt_complex + 'O':

b = a.astype(dt)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), 3)

# test boolean

b = np.eye(3, dtype=np.bool)

res = np.vdot(b, b)

assert_(np.isscalar(res))

assert_equal(np.vdot(b, b), True)

Example 24

def test_vdot_uncontiguous(self):

for size in [2, 1000]:

# Different sizes match different branches in vdot.

a = np.zeros((size, 2, 2))

b = np.zeros((size, 2, 2))

a[:, 0, 0] = np.arange(size)

b[:, 0, 0] = np.arange(size) + 1

# Make a and b uncontiguous:

a = a[..., 0]

b = b[..., 0]

assert_equal(np.vdot(a, b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy()),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy(), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a.copy('F'), b),

np.vdot(a.flatten(), b.flatten()))

assert_equal(np.vdot(a, b.copy('F')),

np.vdot(a.flatten(), b.flatten()))

Example 25

def test_inner_vec(nr_sites, local_dim, rank, rgen, dtype):

mp_psi1 = factory.random_mpa(nr_sites, local_dim, rank, randstate=rgen,

dtype=dtype)

psi1 = mp_psi1.to_array().ravel()

mp_psi2 = factory.random_mpa(nr_sites, local_dim, rank, randstate=rgen,

dtype=dtype)

psi2 = mp_psi2.to_array().ravel()

inner_np = np.vdot(psi1, psi2)

inner_mp = mp.inner(mp_psi1, mp_psi2)

assert_almost_equal(inner_mp, inner_np)

assert inner_mp.dtype == dtype

Example 26

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 27

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 28

def get_shortest_bases_from_extented_bases(extended_bases, tolerance):

def mycmp(x, y):

return cmp(np.vdot(x,x), np.vdot(y,y))

basis = np.zeros((7,3), dtype=float)

basis[:4] = extended_bases

basis[4] = extended_bases[0] + extended_bases[1]

basis[5] = extended_bases[1] + extended_bases[2]

basis[6] = extended_bases[2] + extended_bases[0]

# Sort bases by the lengthes (shorter is earlier)

basis = sorted(basis, cmp=mycmp)

# Choose shortest and linearly independent three bases

# This algorithm may not be perfect.

for i in range(7):

for j in range(i+1, 7):

for k in range(j+1, 7):

if abs(np.linalg.det([basis[i],basis[j],basis[k]])) > tolerance:

return np.array([basis[i],basis[j],basis[k]])

print ("Delaunary reduction is failed.")

return basis[:3]

#

# Other tiny tools

#

Example 29

def get_angles( lattice ):

"""

Get alpha, beta and gamma angles from lattice vectors.

>>> get_angles( np.diag([1,2,3]) )

(90.0, 90.0, 90.0)

"""

a, b, c = get_cell_parameters( lattice )

alpha = np.arccos(np.vdot(lattice[1], lattice[2]) / b / c ) / np.pi * 180

beta = np.arccos(np.vdot(lattice[2], lattice[0]) / c / a ) / np.pi * 180

gamma = np.arccos(np.vdot(lattice[0], lattice[1]) / a / b ) / np.pi * 180

return alpha, beta, gamma

Example 30

def check_duality_gap(a, b, M, G, u, v, cost):

cost_dual = np.vdot(a, u) + np.vdot(b, v)

# Check that dual and primal cost are equal

np.testing.assert_almost_equal(cost_dual, cost)

[ind1, ind2] = np.nonzero(G)

# Check that reduced cost is zero on transport arcs

np.testing.assert_array_almost_equal((M - u.reshape(-1, 1) - v.reshape(1, -1))[ind1, ind2],

np.zeros(ind1.size))

Example 31

def vectorize_and_dot_dataset(dataset):

dots = numpy.zeros(len(dataset))

labels = numpy.zeros(len(dataset))

i = 0

for row in dataset:

#Get the vectors for each word in the body and headline

split_headline = hf.split_words(row['headline'])

split_body = hf.split_words_special(row['body'], split_code)

headline_vectors = vectorize_wordlist(split_headline)

body_vectors = vectorize_wordlist(split_body)

#Sum the words in the body, sum the words in the headline

summed_headline_vector = numpy.sum(headline_vectors, axis=0)

summed_body_vector = numpy.sum(body_vectors, axis=0)

#Normalize

normalized_headline_vector = normalize(summed_headline_vector.reshape(1,-1))

normalized_body_vector = normalize(summed_body_vector.reshape(1,-1))

#Save the row vector

row['row_vector'] = numpy.concatenate( (normalized_headline_vector[0], normalized_body_vector[0]), axis=0)

row['isRelated'] = 0 if row['stance'] == 'unrelated' else 1

# Data relating to the relationship between the headline/body can be appended to row['row_vector']

if True:

extra_nodes = []

#Save the dot product

dot = numpy.vdot(normalized_headline_vector, normalized_body_vector)

extra_nodes.append(dot)

#Jaccard distance

jaccard = jaccard_distance(set(split_headline), set(split_body))

extra_nodes.append(jaccard)

#Sentiment analysis

extra_nodes.append( sentiment_analyzer.polarity_scores(row['headline'])['compound'] )

extra_nodes.append( sentiment_analyzer.polarity_scores(" ".join(split_body))['compound'] )

row['row_vector'] = numpy.append(row['row_vector'], extra_nodes)

# return dots, labels

Example 32

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 33

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 34

def _calculate(self):

min_, max_ = self._bounds

n = np.prod(self.reference.shape)

f = n * (max_ - min_)**2

diff = self.other - self.reference

value = np.vdot(diff, diff) / f

# calculate the gradient only when needed

self._g_diff = diff

self._g_f = f

gradient = None

return value, gradient

Example 35

def calc_cost(self):

cost = sum(self.E[key] * self.E[key] for key in self.E)

cost += self.l*(np.vdot(self.B, self.B) + np.vdot(self.C, self.C))

return cost

Example 36

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 37

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 38

def test_blas_dot(backend, n):

b = backend()

x = (np.random.rand(n) + 1j * np.random.rand(n))

y = (np.random.rand(n) + 1j * np.random.rand(n))

x = np.require(x, dtype=np.dtype('complex64'), requirements='F')

y = np.require(y, dtype=np.dtype('complex64'), requirements='F')

x_d = b.copy_array(x)

y_d = b.copy_array(y)

y_exp = np.vdot(x, y).real

y_act = b.dot(x_d, y_d)

np.testing.assert_allclose(y_exp, y_act, atol=1e-5)

Example 39

def dot(self, x, y):

""" returns x^T * y """

assert isinstance(x, self.dndarray)

assert isinstance(y, self.dndarray)

return np.vdot( x._arr, y._arr ).real

Example 40

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 41

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 42

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 43

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 44

def test_refcount_vdot(self, level=rlevel):

# Changeset #3443

_assert_valid_refcount(np.vdot)

Example 45

def test_vdot_array_order(self):

a = np.array([[1, 2], [3, 4]], order='C')

b = np.array([[1, 2], [3, 4]], order='F')

res = np.vdot(a, a)

# integer arrays are exact

assert_equal(np.vdot(a, b), res)

assert_equal(np.vdot(b, a), res)

assert_equal(np.vdot(b, b), res)

Example 46

def Tdot(self, fn, dtype):

from pyculib.blas.binding import cuBlas

x = np.random.random(10).astype(dtype)

y = np.random.random(10).astype(dtype)

d_x = cuda.to_device(x)

d_y = cuda.to_device(y)

blas = cuBlas()

got = getattr(blas, fn)(x.size, d_x, 1, d_y, 1)

if fn.endswith('c'):

exp = np.vdot(x, y)

else:

exp = np.dot(x, y)

self.assertTrue(np.allclose(got, exp))

Example 47

def Tdotc(self, fn, dtype):

x = np.random.random(10).astype(dtype)

y = np.random.random(10).astype(dtype)

got = self.blas.dotc(x, y)

exp = np.vdot(x, y)

self.assertTrue(np.allclose(got, exp))

Example 48

def compute_correlation(matrix_a, matrix_b):

correlation = numpy.vdot(matrix_a, matrix_b)

correlation /= numpy.linalg.norm(matrix_a)*numpy.linalg.norm(matrix_b)

correlation = (correlation + 1)/2

return correlation

Example 49

def berry_phase(H,path,ns):

'''

Calculate the Berry phase of some bands of a Hamiltonian along a certain path.

Parameters

----------

H : callable

Input function which returns the Hamiltonian as a 2D array.

path : iterable

The path along which to calculate the Berry phase.

ns : iterable of int

The sequences of bands whose Berry phases are wanted.

Returns

-------

1d ndarray

The wanted Berry phase of the selected bands.

'''

ns=np.array(ns)

for i,parameters in enumerate(path):

new=eigh(H(**parameters))[1][:,ns]

if i==0:

result=np.ones(len(ns),new.dtype)

evs=new

else:

for j in xrange(len(ns)):

result[j]*=np.vdot(old[:,j],new[:,j])

old=new

else:

for j in xrange(len(ns)):

result[j]*=np.vdot(old[:,j],evs[:,j])

return np.angle(result)/np.pi

Example 50

def iter(self):

'''

The Lanczos iteration.

'''

while len(self.candidates)>0:

v=self.candidates.pop(0)

norm=nl.norm(v)

if norm>self.dtol:

break

elif self.niter>=self.nc:

self.deflations.append(self.niter-self.nc)

else:

self.stop=True

if not self.stop:

self.vectors[self.niter]=v/norm

if self.niter-self.nc-1>=0:

self._T_[self.niter,self.niter-self.nc-1]=norm

else:

self.P[self.niter,self.niter-self.nc-1+self.nv0]=norm

for k,vc in enumerate(self.candidates):

overlap=np.vdot(self.vectors[self.niter],vc)

if k+self.niter>=self.nc:

self._T_[self.niter,k+self.niter-self.nc]=overlap

else:

self.P[self.niter,self.niter-self.nc+k+self.nv0]=overlap

vc-=overlap*self.vectors[self.niter]

v=self.matrix.dot(self.vectors[self.niter])

for k in xrange(max(self.niter-self.nc-1,0),self.niter):

self._T_[k,self.niter]=np.conjugate(self._T_[self.niter,k])

v-=self._T_[k,self.niter]*self.vectors[k]

for k in it.chain(self.deflations,[self.niter]):

overlap=np.vdot(self.vectors[k],v)

if k in set(self.deflations)|{self.niter}:

self._T_[k,self.niter]=overlap

self._T_[self.niter,k]=np.conjugate(overlap)

v-=overlap*self.vectors[k]

self.candidates.append(v)

if not self.keepstate and self.niter>=self.nc and self.niter-self.nc not in self.deflations: self.vectors[self.niter-self.nc]=None

self.niter+=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值