DSDP
sdpconevec.h
Go to the documentation of this file.
1 #if !defined(__SDPCONE_VECTORS_H)
2 #define __SDPCONE_VECTORS_H
3 
7 #include <math.h>
13 struct SDPConeVec_C{
14  int dim;
15  double *val;
16 };
17 
18 typedef struct {
19  int *indx;
20 } DSDPIndex;
21 
26 typedef struct SDPConeVec_C SDPConeVec;
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
32 extern int SDPConeVecCreate(int,SDPConeVec *);
34 extern int SDPConeVecDot(SDPConeVec, SDPConeVec, double *);
35 extern int SDPConeVecView( SDPConeVec);
36 extern int SDPConeVecDestroy(SDPConeVec*);
37 #define SDPConeVecCreateWArray(a,b,c) 0;{ (*(a)).val=(b); (*(a)).dim=(c);}
38 
39 extern int SDPConeVecSet(double, SDPConeVec );
40 extern int SDPConeVecZero(SDPConeVec );
41 extern int SDPConeVecNormalize(SDPConeVec );
42 extern int SDPConeVecAXPY(double, SDPConeVec, SDPConeVec);
43 extern int SDPConeVecNorm2( SDPConeVec, double *);
45 extern int SDPConeVecScale(double, SDPConeVec);
46 
47 #define SDPConeVecGetArray(a,b) 0;{ *(b)=((a).val); }
48 #define SDPConeVecRestoreArray(a,b) 0;{ *(b)=0;}
49 #define SDPConeVecGetSize(a,b) 0;{ *(b)=((a).dim); }
50 
57 extern int DSDPIndexInitialize(DSDPIndex*);
58 extern int DSDPIndexDestroy(DSDPIndex*);
59 extern int DSDPIndexSetBasis(DSDPIndex, int);
60 extern int DSDPIndexCreate(int,DSDPIndex*);
61 extern int DSDPIndexView(DSDPIndex);
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 
67 #endif
int SDPConeVecScale(double alpha, SDPConeVec VV)
Compute the Euclidean norm.
Definition: sdpconevec.c:161
int SDPConeVecZero(SDPConeVec V)
Zero the elements of the vector.
Definition: sdpconevec.c:67
int SDPConeVecCopy(SDPConeVec v1, SDPConeVec v2)
Copy v1 to v2.
Definition: sdpconevec.c:103
int DSDPIndexInitialize(DSDPIndex *IS)
Set structure pointers to 0.
Definition: sdpconevec.c:234
int SDPConeVecView(SDPConeVec V)
Print the elements of the vector.
Definition: sdpconevec.c:49
Vector whose length corresponds to dimension of a block in a cone.
Definition: sdpconevec.h:13
int SDPConeVecNormalize(SDPConeVec V)
Scale the vector to norm of 1.
Definition: sdpconevec.c:84
int SDPConeVecSet(double alpha, SDPConeVec V)
Set each element of vector to this number.
Definition: sdpconevec.c:211
int SDPConeVecNorm2(SDPConeVec VV, double *vnorm)
Compute the Euclidean norm.
Definition: sdpconevec.c:143
int SDPConeVecDot(SDPConeVec V1, SDPConeVec V2, double *ans)
Inner product of two vectors.
Definition: sdpconevec.c:125
int DSDPIndexDestroy(DSDPIndex *IS)
Deallocate memory.
Definition: sdpconevec.c:264
int SDPConeVecDuplicate(SDPConeVec V1, SDPConeVec *V2)
Allocate another vector with the same structure as the first.
Definition: sdpconevec.c:195
int DSDPIndexCreate(int n, DSDPIndex *IS)
Allocate array for indices.
Definition: sdpconevec.c:248
int DSDPIndexView(DSDPIndex IS)
Print indices.
Definition: sdpconevec.c:279
int SDPConeVecAXPY(double alpha, SDPConeVec x, SDPConeVec y)
Add a multiple of X to Y.
Definition: sdpconevec.c:178