(* Zachary H. Levine 22 March 2001 - 4 June 2001 zlevine@nist.gov This code is a product of the National Institute of Standards and Technology. As a courtesy, please acknowledge if used in a publication or report and inform the author. Thank you. This routine calculates the eigenvalues and eigenvectors of the correction to the dielectric matrix the anisotropic term in a cubic crystal. The interaction is eps_ij = T_ijkl q_k q_l interaction where eps is the dielectric matrix, T is a fourth rank tensor The eigenvalues and eigenvectors are calculated in the subspace orthogonal to the direction of propagation (as permitted by the Maxwell equations). See JH Burnett, ZH Levine, and EL Shirley, unpublished for more details; T here is alpha in the reference and tt in the code. (Expect publication second half 2001.) This routine is written for Mathematica 4.0. NIST does not recommend or endorse the use of particular commercial products; commercial products identified here are not necessarily the best available for the purpose. The first part is translated into Fortran also, called aneig.f. To adapt to other uses, make sure T is defined by setAniso. (This will occur if the program is loaded with <x, m=2]; If [z>y && z>x, m=3]; Return[m] ] (* The part below is not translated into Fortran. It makes a nice plot of the directions of the eigenvectors. *) ev[theta_,phi_,i_] := Block[ {evalue,evectr}, {evalue,evectr}= eigSys[theta,phi]; Return[ evectr[[i]] ] ] <