def max_eig(A, iterations, numeric_method="qr"): """ Function to return the largest eigenvalue of a matrix and its corresponding eigenvector. A must be square but need not be symmetric. Tries to first use uLab `np.linalg.eig` that is better optimised but requires a symmetric matrix. Failing this, power iteration algorithm is used. """ try: lam, V = np.linalg.eig(A) v = V[:, np.argmax(lam)] except ValueError: if numeric_method == "power_iteration": lam, v = power_iteration(A, iterations) else: if numeric_method != "qr": print("Unknown `numeric_method` arg: defaulting to QR solver") lam, v = solve_eig_qr(A, iterations) lam = lam[0] # only need first eigen val (largest returned first) v = v[:, 0] # only first eig vector return lam, v
range(250 - 5, 250)], dtype=np.int16) print(np.argmin(a)) print(np.argmin(a, axis=0)) print(np.argmin(a, axis=1)) a = np.array( [range(2**56 - 3, 2**56), range(2**16 - 3, 2**16), range(2**8 - 3, 2**8)], dtype=np.float) print(np.argmin(a)) print(np.argmin(a, axis=0)) print(np.argmin(a, axis=1)) print("Testing np.argmax:") print(np.argmax([1])) print(np.argmax(np.array([1], dtype=np.float))) a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]], dtype=np.uint8) print(np.argmax(a)) print(np.argmax(a, axis=0)) print(np.argmax(a, axis=1)) a = np.array([range(255 - 5, 255), range(240 - 5, 240), range(250 - 5, 250)], dtype=np.uint8) print(np.argmax(a)) print(np.argmax(a, axis=0)) print(np.argmax(a, axis=1)) a = np.array([range(255 - 5, 255), range(240 - 5, 240), range(250 - 5, 250)],
while True: i = (i + 0.5) % 256 # run from 0 to 255 TILT_COLOR = colorwheel(i) if MODE == 0: # If currently off... enable.value = True power_on(POWER_ON_DURATION) # Power up! MODE = LASTMODE elif MODE >= 1: # If not OFF MODE... mic.record(samples_bit, len(samples_bit)) samples = np.array(samples_bit[3:]) spectrum = spectrogram(samples) spectrum = spectrum[:128] spectrum[0] = 0 spectrum[1] = 0 peak_idx = np.argmax(spectrum) peak_freq = peak_idx * 16000 / 256 # print((peak_idx, peak_freq, spectrum[peak_idx])) magnitude = spectrum[peak_idx] # time.sleep(1) if peak_freq == 812.50 and magnitude > SOUND_THRESHOLD: animations.next() time.sleep(1) if peak_freq == 875 and magnitude > SOUND_THRESHOLD: if MODE == 1: MODE = 2 print("mode = 2") LASTMODE = 2 time.sleep(1) elif MODE == 2: MODE = 1
j = cycles[i] indices[i], indices[-j] = indices[-j], indices[i] yield tuple(pool[i] for i in indices[:r]) break else: return # Combinations expected to throw try: print(np.argmin([])) except ValueError: print("ValueError") try: print(np.argmax([])) except ValueError: print("ValueError") # Combinations expected to succeed print(np.argmin([1])) print(np.argmax([1])) print(np.argmin(np.array([1]))) print(np.argmax(np.array([1]))) print() print("max tests") for p in permutations((100, 200, 300)): m1 = np.argmax(p) m2 = np.argmax(np.array(p)) print(p, m1, m2)
def standardise(X): axis = np.argmax(X.shape) minor_shape = np.min(X.shape) mu = np.mean(X, axis=axis).reshape((minor_shape, 1)) sigma = np.std(X, axis=axis).reshape((minor_shape, 1)) return (X - mu) / sigma