Skip to content

Instantly share code, notes, and snippets.

Avatar

Jyotirmoy Bhattacharya jmoy

View GitHub Profile
View three-count.py
counters = {key:collections.Counter() for key in ['child','mother','father']}
with open("day2/names.csv") as f:
rdr = csv.DictReader(f)
for r in rdr:
for key in counters:
l = r[key].split()
if len(l)>0:
counters[key][l[0]] += 1
commonize = lambda ctr,N: {t[0] for t in ctr.most_common(N)}
@jmoy
jmoy / degrees.py
Created Jun 6, 2019
Session 1 in Python
View degrees.py
with open("code/test2.txt") as fin:
sbj_counts = {}
for l in fin:
l = l.strip()
m = re.fullmatch(r"((?:\w|\.)+)\s+in\s+(\w+)",l)
if m:
degree,subject = m.group(1,2)
print(f"{degree} ({subject})")
if subject in sbj_counts:
sbj_counts[subject].add(degree)
@jmoy
jmoy / Friends2.thy
Last active Jan 29, 2019
Solving a puzzle using Isabelle: 2nd attempt
View Friends2.thy
sectionA Simple Graph Problem: Second Attempt
text
We shall prove the following: "In a finite group of people, some of whom are friends with some
of the others there must be at least two people who have the same number of friends."
theory Friends
imports Main
Finite_Set
@jmoy
jmoy / Friends.thy
Last active Aug 16, 2019
Solving a puzzle using the Isabelle proof assistant
View Friends.thy
sectionA Simple Graph Problem
text
We shall prove the following: "In a finite group of people, some of whom are friends with some
of the others there must be at least two people who have the same number of friends."
theory Friends
imports Main
Finite_Set
@jmoy
jmoy / thin-film.ipynb
Last active Nov 18, 2018
Why soap bubbles are colorful and windowpanes are not
View thin-film.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View causal1.py
import numpy as np
import numpy.random as nr
def gen(N):
X = nr.choice([0,1],size=N,p=[0.6,0.4])
D = nr.choice([0,1],size=N,p=[0.6,0.4])
epsi = nr.uniform(0,2,N)
Y = X+D*epsi
return X,D,epsi,Y
def estim(D,Y):
@jmoy
jmoy / thugs_suitcase.py
Last active May 29, 2017
River crossing puzzle
View thugs_suitcase.py
import itertools as it
NTHUGS = 3
NCASES = 2
BOATCAP = 3
thugs = set()
cases = set()
owner = dict()
nresults = 0
@jmoy
jmoy / CL_RBC.py
Last active Oct 9, 2016
Value Function Iteration Using OpenCL
View CL_RBC.py
# Basic RBC model with full depreciation
# U(c) = log(c)
# F(K) = Z k^\alpha
# where Z is a finite-state Markov chain
#
# Original version:
# Jesus Fernandez-Villaverde
# Haverford, July 3, 2013
# https://github.com/jesusfv/Comparison-Programming-Languages-Economics/blob/master/RBC_Python.py
#
@jmoy
jmoy / KnightTours.hs
Created Apr 27, 2016
Enumerate all closed Knight's tours (multithreaded, Haskell)
View KnightTours.hs
{-#LANGUAGE BangPatterns #-}
{-
Enumerate all closed Knight's Tours in an
arbitrarity sized chessboard. Multi-threaded version.
Usage:
KnightTours m n +RTS -N
Compile with:
View knights_tour.cc
/*
A multi-threaded brute-force search for closed Knight's tours (used OpenMP)
Usage: knights_tours [m] [n]
to search for tour on a m x n board
rows are denoted by letters A.., columns by numbers 0..
Compile with
g++ -O3 -Wall -std=c++11 -fopenmp knight_tours.cc -o knight_tours
You can’t perform that action at this time.