attempting to implement numeric eigen decomposition for hopes of more flexible algorithm