Skip to content

Instantly share code, notes, and snippets.

View MartinThoma's full-sized avatar

Martin Thoma MartinThoma

View GitHub Profile
@MartinThoma
MartinThoma / pca.py
Last active September 9, 2015 11:08
Sample script to visualize PCA.
#!/usr/bin/env python
"""Sample script to visualize PCA."""
import numpy
from numpy.random import multivariate_normal, seed
def generate_data(n=1000):
"""Generate n datapoints of a multivariate gaussian distribution.
@MartinThoma
MartinThoma / countingSort.py
Created May 16, 2012 20:36
Counting Sort implemenatation
#!/usr/bin/python
# -*- coding: utf-8 -*-
def countingSort(A, k):
"""
Implementation of counting sort.
@param A: the list of integers which should get sorted.
No element should be smaller than 1
@param k: the highest number in A
"""
@MartinThoma
MartinThoma / sumOfDigitsHash.py
Created May 20, 2012 17:10
Sum of digits as hash
#!/usr/bin/python
# -*- coding: utf-8 -*-
from math import log, ceil
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.mlab as mlab
try:
@MartinThoma
MartinThoma / multiply.py
Created June 17, 2012 09:40
How multiplication works
#!/usr/bin/python
# -*- coding: utf-8 -*-
""" How multiplication works """
def simple(a, b):
""" Multiplication you've learned at school """
additions = 0
multiplications = 0
product = 0
@MartinThoma
MartinThoma / quicksort.py
Created June 30, 2012 13:23
Python implementation of QuickSort for testing purposes.
#!/usr/bin/python
# -*- coding: utf-8 -*-
comparisons = 0
switches = 0
calls = 0
def read(filename):
lines = open(filename, 'r').read().splitlines()
return map(int, lines)
@MartinThoma
MartinThoma / choleskyWikiWrong.py
Created July 2, 2012 19:56
Cholesky-Zerlegung in Wikipedia oldid=104368978
#!/usr/bin/python
# -*- coding: utf-8 -*-
def choleskyDecomposition(A):
"""
@param A: a nested list which represents a symmetric,
positiv definit n x n matrix.
@return: False if it didn't work, otherwise the matrix G
"""
n = len(A)
@MartinThoma
MartinThoma / choleskyBanachiewicz.py
Created July 2, 2012 20:57
Implementation of the algorithm of Banachiewicz for Cholesky-Decomposition
#!/usr/bin/python
# -*- coding: utf-8 -*-
def choleskyBanachiewicz(A):
"""
@param A: a nested list which represents a symmetric,
positiv definit n x n matrix.
@return: False if it didn't work, otherwise the matrix G
"""
n = len(A)
@MartinThoma
MartinThoma / getBinary.py
Created July 3, 2012 15:09
Takes a number and a number of bits and returns a True-False representation of the number with bits bits.
#!/usr/bin/python
# -*- coding: utf-8 -*-
def getBinary(number, bits):
""" Takes a number and a number of bits and returns a True-False
representation of the number with bits bits.
@param number: The number you want to convert
@param bits: The number of bits
@return a list of True / False values
"""
@MartinThoma
MartinThoma / mult-add.py
Created August 2, 2012 10:05
Test how fast multiplication and addition is.
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
This script shows that addition and multiplication is similar
in terms of execution speed.
"""
import random, datetime
#!/usr/bin/python
# -*- coding: utf-8 -*-
class Stack(list):
def __init__(self):
self.push = self.append
def evaluateResult(op1, op2, operator):
if operator == '+':
return op1 + op2