My neurology experiment has a spike detector outputting 40
sample long spike waveforms.
I'm using a dictionary method for sorting the spikes in real time. To obtain the dictionary at start of program, I want to use all the spikes detected in the first 30
seconds and perform an SVD
of the Nx40
matrix, where N
is the number of spikes detected in the first 30
seconds.
Is there an algorithm which can perform this Nx40
SVD
in a sequential or iterative method or perhaps in smaller batches. The expected spiking rate means my program cannot store all the 30s worth of spike waveforms (rows of the matrix) in memory.