Beispiel #1
0
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
Beispiel #2
0
              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
Beispiel #4
0
                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)
Beispiel #5
0
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