Skip to content

Instantly share code, notes, and snippets.

require('dotenv').config()
const config = require('./config')
const twit = require('twit')
const twitter = new twit(config)
@vncsna
vncsna / blog_vg_degree_dist.py
Last active March 19, 2021 18:31
extract a degree distribution from a degree sequence
def get_degree_distribution(degseq):
'''Get a degree distribution of a graph.
Parameters:
degseq: numpy.ndarray
A sequence of degrees.
'''
degree, frequency = np.unique(degseq, return_counts=True)
distribution = frequency / frequency.sum()
return distribution
@vncsna
vncsna / blog_vg_degree_seq.py
Last active March 19, 2021 18:32
extract a degree sequence from an adjacency matrix
def get_degree_sequence(graph):
'''Get a degree sequence of a graph.
Parameters:
graph: scipy.sparse.csr.csr_matrix
A graph in compressed sparse row format.
'''
degree_seq = graph.sum(axis=0).A.ravel()
return degree_seq
@vncsna
vncsna / blog_vg_sort_and_conquer.py
Last active March 19, 2021 18:32
main part of sort and conquer algorithm proposed by Ghosh et al
def sort_and_conquer(x):
'''Sort and conquer algorithm proposed by Ghosh et al.
Parameters:
x: numpy.array
A 1d time series.
'''
n = x.size
sortd = np.argsort(x)[::-1]
graph = sparse.lil_matrix((n, n))
@vncsna
vncsna / blog_vg_wvisibility.py
Last active March 19, 2021 18:32
visibility part of sort and conquer algorithm proposed by Ghosh et al
def wvisibility(x, left, right, i, graph):
'''Weighted visibility module of sort and conquer algorithm proposed by Ghosh et al.
Parameters:
x: numpy.array
A 1d time series.
left: int
Leftmost node connected to current node.
right: int
Rightmost node connected to current node.