✅ All 7138 elements converged numerically, avg(#iter) = 16.0
scipy.io.savemat("temp_py.mat",{"P":P})
# spy plot the Pimportmatplotlib.pyplotaspltplt.spy(P,markersize=1)plt.show()
# Print basic properties of Pprint(f"Shape: {P.shape}")print(f"Non-zero elements (nnz): {P.nnz}")sparsity_py=1-(P.nnz/(P.shape[0]*P.shape[1]))print(f"Sparsity: {sparsity_py:.6f}")max_val=np.max(P.data)min_val=np.min(P.data)print(f"Max value: {max_val:.6f}")print(f"Min value: {min_val:.6f}")mean_val=np.mean(P.data)print(f"Mean value: {mean_val:.6f}")median_val=np.median(P.data)print(f"Median value: {median_val:.6f}")# distributionplt.hist(P.data,bins=50,edgecolor='black')plt.title("Distribution of non-zero values in P")plt.xlabel("Value")plt.ylabel("Frequency")plt.show()
Shape: (7138, 7138)
Non-zero elements (nnz): 78518
Sparsity: 0.998459
Max value: 1.000000
Min value: 0.823821
Mean value: 0.909091
Median value: 0.903382
Julia version
# Calculate sparsitysparsity_jl=1-(nnz(P)/(size(P,1)*size(P,2)))println("Sparsity: ",round(sparsity_jl,digits=6))# Extract non-zero valuesnz_values=nonzeros(P)# Calculate max and minmax_val=maximum(nz_values)min_val=minimum(nz_values)println("Max value: ",round(max_val,digits=6))println("Min value: ",round(min_val,digits=6))# Calculate mean and median of non-zero valuesmean_val=mean(nz_values)median_val=median(nz_values)# Print resultsprintln("Mean value: ",round(mean_val,digits=6))println("Median value: ",round(median_val,digits=6))# Plot histogramhistogram(nz_values,bins=50,edgecolor=:black,title="Distribution of non-zero values in P",xlabel="Value",ylabel="Frequency")