update efficient numpy notebook