Example #1
0
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;  
}
Example #2
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;  
}