Computing faithful representations for nilpotent Lie algebras