static int DvechmatGetEig(void* AA, int rank, double *eigenvalue, double vv[], int n, int indz[], int *nind){ dvechmat* A=(dvechmat*)AA; int i,info; double dd; if (A->Eig.neigs>0){ info=EigMatGetEig(&A->Eig,rank,&dd,vv,n);DSDPCHKERR(info); *nind=n; *eigenvalue=dd*A->alpha; for (i=0;i<n;i++){ indz[i]=i;} } else { DSDPSETERR(1,"Vech Matrix not factored yet\n"); } return 0; }
static int DvechmatGetEig(void* AA, int rank, double *eigenvalue, double vv[], int n, int indz[], int *nind){ //printf("File %s line %d DvechmatGetEig with address %d\n",__FILE__, __LINE__,&DvechmatGetEig); dvechmat* A=(dvechmat*)AA; int i,info; double dd; if (A->Eig.neigs>0){ info=EigMatGetEig(&A->Eig,rank,&dd,vv,n);DSDPCHKERR(info); *nind=n; *eigenvalue=dd*A->alpha; for (i=0;i<n;i++){ indz[i]=i;} } else { DSDPSETERR(1,"Vech Matrix not factored yet\n"); } return 0; }