我想在 python 中生成给定形状的随机稀疏埃尔米特矩阵。我怎样才能高效地做到这一点?有没有内置的Python函数可以完成这个任务?
我已经找到了随机稀疏矩阵的解决方案,但我也希望该矩阵是厄米特矩阵。这是我找到的随机稀疏矩阵的解决方案
import numpy as np
import scipy.stats as stats
import scipy.sparse as sparse
import matplotlib.pyplot as plt
np.random.seed((3,14159))
def sprandsym(n, density):
rvs = stats.norm().rvs
X = sparse.random(n, n, density=density, data_rvs=rvs)
upper_X = sparse.triu(X)
result = upper_X + upper_X.T - sparse.diags(X.diagonal())
return result
M = sprandsym(5000, 0.01)
print(repr(M))
# <5000x5000 sparse matrix of type '<class 'numpy.float64'>'
# with 249909 stored elements in Compressed Sparse Row format>
# check that the matrix is symmetric. The difference should …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Qiskit 中的 HHL 算法求解线性方程组。我无法理解以下函数的用途。
state_fidelity()
Run Code Online (Sandbox Code Playgroud)
为了理解这一点,我遵循了他们的官方文档。但我还不清楚。
他们像下面的代码一样使用这个函数。
from qiskit.quantum_info state_fidelity, process_fidelity
backend_sim = BasicAer.get_backend('statevector_simulator')
result = execute(circ, backend_sim).result()
state = result.get_statevector(circ)
print(state)
state_fidelity(basis_state('0110', 4), state)
Run Code Online (Sandbox Code Playgroud)
该代码的最后一行生成此输出。
1.0
请帮助我理解这一点。
我需要在直方图中绘制 3 个值。与其他值相比,其中一个值非常大。当我尝试绘制它们时,由于较大的另外两个值没有显示在图中。除了 Python 中的直方图之外,还有什么方法可以用图表来说明它们吗?是否有任何缩放技巧来解决这个问题?
下面给出的代码是我试过的。我使用 python 库 numpy 和 matplotlib 来绘制图形。
import numpy as np
import matplotlib.pyplot as plt
height = [0.422602, 0.000011, 0.000453]
bars = ('2X2', '4X4', '8X8')
y_pos = np.arange(len(bars))
plt.bar(y_pos, height, color = (0.572549,0.2862,0.0,1))
plt.xlabel('Matrix Dimensions')
plt.ylabel('Fidelity for Matrices with Sparsity 1')
plt.xticks(y_pos, bars)
plt.show()
Run Code Online (Sandbox Code Playgroud)
输出是上面包含的图片。此图未描绘其他两列的值。我怎么解决这个问题?