如果你的位元真的是每位元組8個/32個整型,
您可以將smallmatrix縮小到20x16,
然後嘗試以下方法,在這裡只做一行。
(newmatrix[x, y] = 1當x周圍20x16的任何乙個位y是1??
你到底在找什麼?)在python -m timeit -s '
""" slide 16-bit mask across 32-bit pairs bits[j], bits[j+1] """
import numpy as np
bits = np.zeros( 2000 // 16, np.uint16 ) # 2000 bits
bits[::8] = 1
mask = 32+16
nhit = 16 * [0]
def hit16( bits, mask, nhit ):
slide 16-bit mask across 32-bit pairs bits[j], bits[j+1]
bits: long np.array( uint16 )
mask: 16 bits, int
out: nhit[j] += 1 where pair & mask != 0
left = bits[0]
for b in bits[1:]:
pair = (left << 16) | b
if pair: # np idiom for non-0 words ?
m = mask
for j in range(16):
if pair & m:
nhit[j] += 1
# hitposition = jb*16 + j
m <<= 1
left = b
# if any(nhit): print "hit16:", nhit
hit16( bits, mask, nhit )
# 15 msec per loop, bits[::4] = 1
# 11 msec per loop, bits[::8] = 1
# mac g4 ppc
jama 矩陣運算速度
最近寫的乙個程式設計矩陣與向量的乘法,跑起來特別慢,因此利用jama包來提高運算速度,對比了一下矩陣相乘的速度 jama 表示jama的運算速度,for表示最原始的for迴圈處理的速度 matix元素的值是 3,3 之間的乙個浮點型隨機數 matrix size 500 500 1000 1000 ...
python矩陣運算
python的numpy庫提供矩陣運算的功能,因此我們在需要矩陣運算的時候,需要匯入numpy的包。from numpy import 匯入numpy的庫函式 import numpy as np 這個方式使用numpy的函式時,需要以np.開頭。由一維或二維資料建立矩陣 from numpy im...
矩陣運算 矩陣乘除法python
很多博文只會求得矩陣特徵分解的特徵值和特徵向量,而從沒有進行驗證,驗證方法兩個 1 a v lam v lam是特徵值 2 det a lam i 0 i是單位陣 我隨機產生的矩陣求特徵值發現有複數產生,為了方便,網上找了不是複數的矩陣。錯誤方法復現 a array 1,1,0 4,3,0 1,0,...