A few things to note:

- By definition `A·v = λ·v`, eigenvectors are *[not unique][1]*. You can multiply by any constant and still get another valid eigenvector.

  [The convention in MATLAB][2] is that for `eig(A)`, the eigenvectors are scaled so that the norm of each is 1.0, and for `eig(A,B)`, the eigenvectors are not normalized ([see here][3] for an example). Here is the [relevant part in the documentation][4]:

    > `V`: right eigenvectors, returned as a square matrix whose columns are
    > the right eigenvectors of `A` or generalized right eigenvectors of the
    > pair `(A,B)`. The form and normalization of `V` depends on the
    > combination of input arguments:
    > 
    > - `[V,D] = eig(A)` returns matrix `V`, whose columns are the right eigenvectors of `A` such that `A*V = V*D`. The eigenvectors in `V` are
    > normalized so that the 2-norm of each is 1.
    > 
    > - `[V,D] = eig(A,'nobalance')` also returns matrix `V`. However, the 2-norm of each eigenvector is not necessarily 1.
    > 
    > - `[V,D] = eig(A,B)` and `[V,D] = eig(A,B,algorithm)` returns `V` as a matrix whose columns are the generalized right eigenvectors that
    > satisfy `A*V = B*V*D`. The 2-norm of each eigenvector is not
    > necessarily 1. In this case, `D` contains the generalized eigenvalues
    > of the pair `(A,B)`, along the main diagonal.
    > 
    >     If `A` is symmetric and `B` is symmetric positive definite, then the eigenvectors in `V` are normalized so that the 2-norm of each is
    > 1.

- In addition, eigenvalues are *[not][5] [sorted][6]*. You are only guaranteed that the columns of `V` are the corresponding right eigenvectors to the eigenvalues in `D`. That's not the same as `svd`.

  In fact, [there is no total ordering of complex numbers][7]. The convention in MATLAB is that the [`sort` function][8] sorts complex elements first by magnitude (i.e. `abs(x)`), then by phase angle on the `[-pi,pi]` interval (i.e. `angle(x)`) if magnitudes are equal.

Having considered the above, when solving the generalized eigenvalue problem, you should be getting similar results to MATLAB by using DGGEV routine in LAPACK.


  [1]: https://stackoverflow.com/a/13041293/97160
  [2]: https://stackoverflow.com/a/18152804/97160
  [3]: https://stackoverflow.com/a/6748385/97160
  [4]: http://www.mathworks.com/help/matlab/ref/eig.html#outputarg_V
  [5]: https://stackoverflow.com/a/13704582/97160
  [6]: https://stackoverflow.com/a/3293855/97160
  [7]: https://math.stackexchange.com/q/492890/133
  [8]: http://www.mathworks.com/help/matlab/ref/sort.html