|
DSDP
|
Operations on a single SDP block. More...
Go to the source code of this file.
Functions | |
| int | DSDPBlockAddDataMatrix (DSDPBlockData *ADATA, int vari, struct DSDPDataMat_Ops *dsdpdataops, void *data) |
| Add data matrix into SDP block. More... | |
| int | DSDPBlockADot (DSDPBlockData *ADATA, double aa, DSDPVec Alpha, DSDPVMat X, DSDPVec AX) |
| Compute inner product of XX with data matrices. More... | |
| int | DSDPBlockASum (DSDPBlockData *ADATA, double aa, DSDPVec Yk, DSDPVMat XX) |
| Sum the data matrices. More... | |
| int | DSDPBlockCountNonzeroMatrices (DSDPBlockData *ADATA, int *nzmats) |
| Count how many data matrices are in a block of data. More... | |
| int | DSDPBlockDataAllocate (DSDPBlockData *ADATA, int nnz) |
| Allocate some structures. More... | |
| int | DSDPBlockDataDestroy (DSDPBlockData *ADATA) |
| Free the data matrices. More... | |
| int | DSDPBlockDataInitialize (DSDPBlockData *ADATA) |
| Set pointers to null. More... | |
| int | DSDPBlockDataMarkNonzeroMatrices (DSDPBlockData *ADATA, int *annz) |
| Mark which variable in block have a data matrix. More... | |
| int | DSDPBlockDataRowSparsity (DSDPBlockData *ADATA, int row, int ai[], int rnnz[], int n) |
| Determine sparsity pattern of data. More... | |
| int | DSDPBlockFactorData (DSDPBlockData *ADATA, DSDPVMat X, SDPConeVec W) |
| Factor the data matrices. More... | |
| int | DSDPBlockGetMatrix (DSDPBlockData *ADATA, int id, int *vari, double *scl, DSDPDataMat *A) |
| Get a data matrix from a block of data. More... | |
| int | DSDPBlockRemoveDataMatrix (DSDPBlockData *ADATA, int vari) |
| Remove a data matrix. More... | |
| int | DSDPBlockSetDataMatrix (DSDPBlockData *ADATA, int vari, struct DSDPDataMat_Ops *dsdpdataops, void *data) |
| Set data matrix into SDP block. More... | |
| int | DSDPBlockTakeDownData (DSDPBlockData *ADATA) |
| Free structures in block of data. More... | |
| int | DSDPBlockvAv (DSDPBlockData *ADATA, double aa, DSDPVec Alpha, SDPConeVec V, DSDPVec VAV) |
| Set VAV[i] to aa * Alpha[i] * V' A[i] V. More... | |
| int | DSDPBlockView (DSDPBlockData *ADATA) |
| Print the structure of the block. More... | |
| int | DSDPBlockView2 (DSDPBlockData *ADATA) |
| Print the data. More... | |
| int | DSDPDataMatCheck (DSDPDataMat AA, SDPConeVec W, DSDPIndex IS, DSDPVMat XX) |
| Check correctness of operations on the data. More... | |
Operations on a single SDP block.
Definition in file dsdpblock.c.
| int DSDPBlockAddDataMatrix | ( | DSDPBlockData * | ADATA, |
| int | vari, | ||
| struct DSDPDataMat_Ops * | dsdpdataops, | ||
| void * | data | ||
| ) |
Add data matrix into SDP block.
| ADATA | block of data. |
| vari | the variable to which the matrix corresponds. |
| dsdpdataops | function pointers |
| data | opaque pointer to matrix. |
Definition at line 381 of file dsdpblock.c.
Referenced by DSDPBlockSetDataMatrix(), and SDPConeAddDataMatrix().
| int DSDPBlockADot | ( | DSDPBlockData * | ADATA, |
| double | aa, | ||
| DSDPVec | Alpha, | ||
| DSDPVMat | X, | ||
| DSDPVec | AX | ||
| ) |
Compute inner product of XX with data matrices.
| ADATA | block of data. |
| aa | scalar |
| Alpha | scalar. |
| X | Dense symmetric matrix |
| AX | Set AX[i] to aa * Alpha[i] * Dot( A[i] * X) |
Definition at line 49 of file dsdpblock.c.
Referenced by SDPConeAddADotX(), SDPConeComputeHessian(), SDPConeComputeRHS(), and SDPConeComputeXDot().
| int DSDPBlockASum | ( | DSDPBlockData * | ADATA, |
| double | aa, | ||
| DSDPVec | Yk, | ||
| DSDPVMat | XX | ||
| ) |
Sum the data matrices.
| ADATA | block of data. |
| aa | scalar |
| Yk | scalar. |
| XX | equals aa * sum ( YK[i]* A[i] ) |
Definition at line 20 of file dsdpblock.c.
Referenced by SDPConeComputeSS(), and SDPConeMultiply().
| int DSDPBlockCountNonzeroMatrices | ( | DSDPBlockData * | ADATA, |
| int * | nzmats | ||
| ) |
Count how many data matrices are in a block of data.
| ADATA | block of data. |
| nzmats | set to number of nonzero matrices. Numbers from 0 to this number can be used as a matrix id in DSDPBlockGetMatrix() |
Definition at line 272 of file dsdpblock.c.
Referenced by DSDPDataTransposeSetup(), SDPConeCheckData(), SDPConeComputeRHS(), SDPConeComputeXX(), SDPConeMultiply(), SDPConeView3(), and SDPConeViewDataMatrix().
| int DSDPBlockDataAllocate | ( | DSDPBlockData * | ADATA, |
| int | nnz | ||
| ) |
Allocate some structures.
| ADATA | block of data. |
| nnz | number of data matrices to allocate space |
Definition at line 221 of file dsdpblock.c.
Referenced by DSDPBlockAddDataMatrix(), and SDPConeSetSparsity().
| int DSDPBlockDataDestroy | ( | DSDPBlockData * | ADATA | ) |
Free the data matrices.
| ADATA | block of data. |
Definition at line 195 of file dsdpblock.c.
Referenced by SDPConeDestroy().
| int DSDPBlockDataInitialize | ( | DSDPBlockData * | ADATA | ) |
Set pointers to null.
| ADATA | block of data. |
Definition at line 163 of file dsdpblock.c.
Referenced by DSDPBlockDataDestroy(), and DSDPBlockInitialize().
| int DSDPBlockDataMarkNonzeroMatrices | ( | DSDPBlockData * | ADATA, |
| int * | annz | ||
| ) |
Mark which variable in block have a data matrix.
| ADATA | block of data. |
| annz | array of integers to mark. |
Definition at line 254 of file dsdpblock.c.
Referenced by DSDPDataTransposeSetup().
| int DSDPBlockDataRowSparsity | ( | DSDPBlockData * | ADATA, |
| int | row, | ||
| int | ai[], | ||
| int | rnnz[], | ||
| int | n | ||
| ) |
Determine sparsity pattern of data.
| ADATA | block of data. |
| row | from 0 to n. |
| ai | (input) array of ones and zeros that identify which data matrices to check. |
| rnnz | (output) array of length m where nonzeros indicate nonzero data. |
| n | dimension of block. |
Definition at line 330 of file dsdpblock.c.
| int DSDPBlockFactorData | ( | DSDPBlockData * | ADATA, |
| DSDPVMat | X, | ||
| SDPConeVec | W | ||
| ) |
Factor the data matrices.
| ADATA | block of data. |
| X | work array |
| W | Work vector |
Definition at line 113 of file dsdpblock.c.
Referenced by DSDPBlockSetup().
| int DSDPBlockGetMatrix | ( | DSDPBlockData * | ADATA, |
| int | id, | ||
| int * | vari, | ||
| double * | scl, | ||
| DSDPDataMat * | A | ||
| ) |
Get a data matrix from a block of data.
| ADATA | block of data. |
| id | identfier of the matrices, numbered consecutively from 0. |
| vari | set to variable number corresponding to A. |
| scl | scaling |
| A | data matrix. |
Definition at line 307 of file dsdpblock.c.
Referenced by DSDPBlockFactorData(), DSDPDataTransposeSetup(), SDPConeCheckData(), SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeXX(), SDPConeMultiply(), and SDPConeViewDataMatrix().
| int DSDPBlockRemoveDataMatrix | ( | DSDPBlockData * | ADATA, |
| int | vari | ||
| ) |
Remove a data matrix.
| ADATA | block of data. |
| vari | variable corresponding the matrix. |
Definition at line 351 of file dsdpblock.c.
Referenced by DSDPBlockSetDataMatrix(), SDPConeRemoveDataMatrix(), and SDPConeSetRMatrix().
| int DSDPBlockSetDataMatrix | ( | DSDPBlockData * | ADATA, |
| int | vari, | ||
| struct DSDPDataMat_Ops * | dsdpdataops, | ||
| void * | data | ||
| ) |
Set data matrix into SDP block.
| ADATA | block of data. |
| vari | the variable to which the matrix corresponds. |
| dsdpdataops | function pointers |
| data | opaque pointer to matrix. |
Definition at line 406 of file dsdpblock.c.
Referenced by SDPConeSetRMatrix().
| int DSDPBlockTakeDownData | ( | DSDPBlockData * | ADATA | ) |
Free structures in block of data.
| ADATA | block of data. |
Definition at line 182 of file dsdpblock.c.
Referenced by DSDPBlockDataDestroy(), and DSDPBlockTakeDown().
| int int DSDPBlockvAv | ( | DSDPBlockData * | ADATA, |
| double | aa, | ||
| DSDPVec | Alpha, | ||
| SDPConeVec | V, | ||
| DSDPVec | VAV | ||
| ) |
Set VAV[i] to aa * Alpha[i] * V' A[i] V.
| ADATA | block of data. |
| aa | scalar |
| Alpha | scalar. |
| V | vecotr |
| VAV | the product |
Definition at line 84 of file dsdpblock.c.
Referenced by SDPConeAddXVAV(), and SDPConeComputeHessian().
| int DSDPBlockView | ( | DSDPBlockData * | ADATA | ) |
Print the structure of the block.
| ADATA | block of data. |
Definition at line 454 of file dsdpblock.c.
Referenced by SDPConeView().
| int DSDPBlockView2 | ( | DSDPBlockData * | ADATA | ) |
Print the data.
| ADATA | block of data. |
Definition at line 474 of file dsdpblock.c.
Referenced by SDPConeView2().
| int DSDPDataMatCheck | ( | DSDPDataMat | AA, |
| SDPConeVec | W, | ||
| DSDPIndex | IS, | ||
| DSDPVMat | XX | ||
| ) |
Check correctness of operations on the data.
| AA | data matrix. |
| W | work vector |
| IS | work array |
| XX | work array |
Definition at line 498 of file dsdpblock.c.
Referenced by SDPConeCheckData().