From: David Knezevic <dknezevic@se...>  20111101 21:27:47

On 11/01/2011 04:31 PM, Roy Stogner wrote: > On Tue, 1 Nov 2011, Jed Brown wrote: > >> The error "IPNorm: The inner product is not well defined!" is >> usually due to the fact that the B matrix of the eigenproblem is not >> positive (semi) definite. Are you sure your eigenproblem is >> definite? > It's definitely *supposed* to be; this is just the ex17 code that > builds a laplacian stiffness and L2 mass matrix, as you said. I can > even switch from Q_1 quads to P_1 line segments, and as long as I use > at least 3 of them (4 nodes) I still get that IPNorm error. Although, > tweaking the mesh does seem to change the stack trace; the IPNorm > starts coming from different calls to IPOrthogonalize, then from > EPSComputeVectors_Hermitian, as I shrink things. > >> In that case, I would be interested in trying these >> matrices to track down the problem. > matrix_A = [Real part: > 1.5 1.5 0 0 > 1.5 3 1.5 0 > 0 1.5 3 1.5 > 0 0 1.5 1.5 > > Imaginary part: > 0 0 0 0 > 0 0 0 0 > 0 0 0 0 > 0 0 0 0 > ]; > > matrix_B = [Real part: > 0.222222 0.111111 0 0 > 0.111111 0.444444 0.111111 0 > 0 0.111111 0.444444 0.111111 > 0 0 0.111111 0.222222 > > Imaginary part: > 0 0 0 0 > 0 0 0 0 > 0 0 0 0 > 0 0 0 0 > ]; > > I forgot to set_precision() on that, but you get the idea. > > matrix_B is SPD. matrix_A isn't, but that just ought to mean that one > of our eigenvalues is 0, right? Roy, I've attached a version of ex17 with dirichlet boundary conditions, if you're interested in testing that out in complex mode. (Note: it uses CondensedEigenSystem, which I use in rbOOmit in order to compute eigenvalues without introducing spurious behavior due to the presence of Dirichlet dofs) David 