I'm almost positive that you have to preallocate things such as w, vl, and vr as anytime I comment that part out I get a seg-fault. I ran it with zgeev_work, and it would work so long as lwork = -1, anything else and I would receive the same error, but I would receive an output of everything being 0, which isn't true, so I've botched something.

Thanks in advanced, and sorry if I've left out something obvious/crucialEvan

You can look at the INTEL examples for LAPACKE if you need further help.Just need to change the include to lapacke.h, the int type to lapack_int and some complex initialization depending on the complex types you are using.Hope it helpsJulie