Instantly share code, notes, and snippets.

# Alex Williamsahwillia

• Sort options
Last active Nov 6, 2019
Efficient computation of a Kronecker - vector product (with multiple matrices).
View kron_vec_product.py
 import numpy as np import numpy.random as npr from functools import reduce # Goal # ---- # Compute (As kron As kron ... As[-1]) @ v # ==== HELPER FUNCTIONS ==== #
Last active Oct 21, 2019
Kronecker vector product via Shuffle algorithm
View kronshuff.py
 """ References: - B. Plateau, On the stochastic structure of parallelism and synchronization models for distributed algorithms. Perform. Eval. Rev., 13 (1985), pp. 147–154. - Dayar, T., & Orhan, M. C. (2015). On vector-Kronecker product multiplication with rectangular factors. SIAM Journal on Scientific Computing, 37(5), S526-S543. """
Last active Aug 29, 2019
Fast solver for a symmetric tridiagonal circulant linear system in Python.
View rojo.py
 import numpy as np from scipy.linalg import solve_circulant, circulant from numpy.testing import assert_array_almost_equal import numba @numba.jit(nopython=True, cache=True) def rojo_method(c, a, f, x, z): """ Solves symmetric, tridiagonal circulant system, assuming diagonal
Created Feb 20, 2019
Bandpass filter in python... (I have no idea why scipy does not provide this)
View bandpass.py
 def bandpass(x, lowcut, highcut, fs, order=5, axis=-1, kind='butter'): """ Parameters ---------- x : ndarray 1d time series data lowcut : float Defines lower frequency cutoff (e.g. in Hz) highcut : float Defines upper frequency cutoff (e.g. in Hz)
Created Sep 26, 2018
Computing hessian-vector products in tensorflow
View poiss_tf.py
 """ Computing hessian-vector products in tensorflow. For simplicity, we demonstrate the idea on a Poisson regression model. """ import tensorflow as tf import numpy as np from scipy.optimize import minimize
Last active Sep 26, 2018
Poisson Regression via scipy.optimize
View poiss_reg.py
 """ A simple implementation of Poisson regression. """ import numpy as np from scipy.optimize import minimize n = 1000 # number of datapoints p = 5 # number of features
Last active Apr 12, 2018
 # coding: utf-8 # In: import numpy as np import matplotlib.pyplot as plt import scipy.linalg as sci # In:
Created Apr 10, 2018
Convolutive NMF by block coordinate descent
View bcd_cnmf.py
 import numpy as np from tqdm import trange import matplotlib.pyplot as plt # TODO: subclass np.ndarray? class ShiftMatrix(object): """ Thin wrapper around a numpy matrix to support shifting along the second axis and padding with zeros.
Last active Nov 11, 2019
Cross-validation for matrix factorization models
View cv.py
 import numpy as np from numpy.random import randn, rand from scipy.optimize import minimize import matplotlib.pyplot as plt from nnls import nnlsm_blockpivot as nnlstsq import itertools from scipy.spatial.distance import cdist def censored_lstsq(A, B, M): """Solves least squares problem with missing data in B
Created Jan 23, 2018
tsp_2opt.py
View tsp.py
 def reverse_segment(path, n1, n2): """Reverse the nodes between n1 and n2. """ q = path.copy() if n2 > n1: q[n1:(n2+1)] = path[n1:(n2+1)][::-1] return q else: seg = np.hstack((path[n1:], path[:(n2+1)]))[::-1] brk = len(q) - n1
You can’t perform that action at this time.