|
DSDP
|
Call an implementation of the data matrix operations. More...
Go to the source code of this file.
Functions | |
| int | DSDPDataMatAddMultiple (DSDPDataMat A, double ytmp, double *v, int nn, int n) |
| Add a multiple the data matrix to the array. More... | |
| int | DSDPDataMatCountNonzeros (DSDPDataMat A, int *nnz, int n) |
| Compute the square of the Frobenius norm. More... | |
| int | DSDPDataMatDestroy (DSDPDataMat *A) |
| Free the data structures. More... | |
| int | DSDPDataMatDot (DSDPDataMat A, double x[], int nn, int n, double *v) |
| Compute inner product of data with a dense matrix. More... | |
| int | DSDPDataMatFactor (DSDPDataMat A, SDPConeVec W, double *dworknn, int nn0, double *dwork3n, int nd, int *iwork, int ni) |
| Do eigenvalue/vector or other factorization. More... | |
| int | DSDPDataMatFNorm2 (DSDPDataMat A, int n, double *fnorm2) |
| Compute the square of the Frobenius norm. More... | |
| int | DSDPDataMatGetEig (DSDPDataMat A, int rr, SDPConeVec V, DSDPIndex S, double *eigenvalue) |
| Get an eigenvalue/vector pair. More... | |
| int | DSDPDataMatGetRank (DSDPDataMat A, int *rank, int n) |
| Get the number of nonzero eigenvalues/eigenvectors for the matrix. More... | |
| int | DSDPDataMatGetRowNonzeros (DSDPDataMat A, int nrow, int nmax, int *nz, int *nnz) |
| Get sparsity pattern of a row of the matrix. More... | |
| int | DSDPDataMatInitialize (DSDPDataMat *A) |
| Set pointers to NULL;. More... | |
| int | DSDPDataMatOpsInitialize (struct DSDPDataMat_Ops *dops) |
| Initialize the table of function pointers for SDP Data matrices. More... | |
| int | DSDPDataMatSetData (DSDPDataMat *A, struct DSDPDataMat_Ops *ops, void *data) |
| Set the opaque pointer and function pointers to the matrix. More... | |
| int | DSDPDataMatTest (DSDPDataMat A) |
| Test validity of matrix. More... | |
| int | DSDPDataMatVecVec (DSDPDataMat A, SDPConeVec W, double *v) |
| Compute w' A w. More... | |
| int | DSDPDataMatView (DSDPDataMat A) |
| Print matrix. More... | |
Call an implementation of the data matrix operations.
Definition in file dsdpdatamat.c.
| int DSDPDataMatAddMultiple | ( | DSDPDataMat | A, |
| double | ytmp, | ||
| double * | v, | ||
| int | nn, | ||
| int | n | ||
| ) |
Add a multiple the data matrix to the array.
| A | symmetric data matrix |
| ytmp | scalar multiple |
| v | dense array matrix |
| nn | dimension of array |
| n | dimension of matrix |
Definition at line 402 of file dsdpdatamat.c.
Referenced by DSDPBlockASum(), and DSDPDataMatCheck().
| int DSDPDataMatCountNonzeros | ( | DSDPDataMat | A, |
| int * | nnz, | ||
| int | n | ||
| ) |
Compute the square of the Frobenius norm.
| A | symmetric data matrix. |
| n | dimension of the matrix. |
| *nnz | nonzeros in matrix. |
Used to identify which of a few strategies to compute Hessian.
Definition at line 152 of file dsdpdatamat.c.
| int DSDPDataMatDestroy | ( | DSDPDataMat * | A | ) |
Free the data structures.
| A | symmetric data matrix |
Definition at line 444 of file dsdpdatamat.c.
Referenced by DSDPBlockAddDataMatrix(), DSDPBlockDataDestroy(), and DSDPBlockRemoveDataMatrix().
| int DSDPDataMatDot | ( | DSDPDataMat | A, |
| double | x[], | ||
| int | nn, | ||
| int | n, | ||
| double * | v | ||
| ) |
Compute inner product of data with a dense matrix.
| A | symmetric data matrix |
| x | dense array matrix |
| nn | length of array |
| n | dimension of matrix. |
| v | the inner product |
Definition at line 273 of file dsdpdatamat.c.
Referenced by DSDPBlockADot(), and DSDPDataMatCheck().
| int DSDPDataMatFactor | ( | DSDPDataMat | A, |
| SDPConeVec | W, | ||
| double * | dworknn, | ||
| int | nn0, | ||
| double * | dwork3n, | ||
| int | nd, | ||
| int * | iwork, | ||
| int | ni | ||
| ) |
Do eigenvalue/vector or other factorization.
| A | symmetric data matrix |
| W | work vector |
| dworknn | work array |
| nn0 | length of dworknn array. |
| dwork3n | work array |
| nd | length of work array |
| iwork | work array |
| ni | length of iwork array |
This routine is called once during the DSDPSetUp routine.
Definition at line 240 of file dsdpdatamat.c.
Referenced by DSDPBlockFactorData().
| int DSDPDataMatFNorm2 | ( | DSDPDataMat | A, |
| int | n, | ||
| double * | fnorm2 | ||
| ) |
Compute the square of the Frobenius norm.
| A | symmetric data matrix. |
| n | dimension of the matrix. |
| fnorm2 | square of norm. |
Used to scale the problem
Definition at line 175 of file dsdpdatamat.c.
Referenced by DSDPDataMatCheck().
| int DSDPDataMatGetEig | ( | DSDPDataMat | A, |
| int | rr, | ||
| SDPConeVec | V, | ||
| DSDPIndex | S, | ||
| double * | eigenvalue | ||
| ) |
Get an eigenvalue/vector pair.
| A | symmetric data matrix |
| rr | identifies which pair of eigs, (0 <= rr < rank) |
| V | Eigenvector |
| S | Indentifies sparsity pattern in V. |
| eigenvalue | the scalar associated with the vector. These pairs do not have to be eigenvalues and eigenvectors. What matters is that the matrix is a sum of the outer products of these vectors. That is, A = sum (rr * V *V') |
Definition at line 204 of file dsdpdatamat.c.
Referenced by DSDPDataMatCheck(), SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeXX(), and SDPConeMultiply().
| int DSDPDataMatGetRank | ( | DSDPDataMat | A, |
| int * | rank, | ||
| int | n | ||
| ) |
Get the number of nonzero eigenvalues/eigenvectors for the matrix.
| A | symmetric data matrix |
| rank | number of nonzero eigenvalues and vectors. |
| n | rows and columns in matrix. |
Definition at line 129 of file dsdpdatamat.c.
Referenced by DSDPDataMatCheck(), SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeXX(), and SDPConeMultiply().
| int DSDPDataMatGetRowNonzeros | ( | DSDPDataMat | A, |
| int | nrow, | ||
| int | nmax, | ||
| int * | nz, | ||
| int * | nnz | ||
| ) |
Get sparsity pattern of a row of the matrix.
| A | symmetric data matrix. |
| nrow | number >=0 and < n. |
| nmax | dimension of the matrix. |
| nz | array used to mark nonzeros. |
| nnz | number of nonzeros in row. Used to create sparse data structure for S and Delta S. |
Definition at line 355 of file dsdpdatamat.c.
Referenced by DSDPBlockDataRowSparsity().
| int DSDPDataMatInitialize | ( | DSDPDataMat * | A | ) |
Set pointers to NULL;.
| A | symmetric data matrix |
Definition at line 78 of file dsdpdatamat.c.
Referenced by DSDPBlockDataAllocate(), and DSDPDataMatDestroy().
| int DSDPDataMatOpsInitialize | ( | struct DSDPDataMat_Ops * | dops | ) |
Initialize the table of function pointers for SDP Data matrices.
| dops | pointer to a structure of function pointers. |
Definition at line 47 of file dsdpdatamat.c.
Referenced by DSDPDataMatInitialize(), and DSDPDataMatSetData().
| int DSDPDataMatSetData | ( | DSDPDataMat * | A, |
| struct DSDPDataMat_Ops * | ops, | ||
| void * | data | ||
| ) |
Set the opaque pointer and function pointers to the matrix.
| A | symmetric data matrix |
| ops | pointer to a structure of function pointers |
| data | pointer to a matrix structure |
Definition at line 25 of file dsdpdatamat.c.
Referenced by DSDPBlockAddDataMatrix(), DSDPDataMatInitialize(), and DSDPSetDataMatZero().
| int DSDPDataMatTest | ( | DSDPDataMat | A | ) |
Test validity of matrix.
| A | symmetric data matrix |
Definition at line 96 of file dsdpdatamat.c.
Referenced by DSDPDataMatSetData().
| int DSDPDataMatVecVec | ( | DSDPDataMat | A, |
| SDPConeVec | W, | ||
| double * | v | ||
| ) |
Compute w' A w.
| A | symmetric data matrix |
| W | vector |
| v | the inner product |
Definition at line 297 of file dsdpdatamat.c.
Referenced by DSDPBlockvAv(), and DSDPDataMatCheck().
| int DSDPDataMatView | ( | DSDPDataMat | A | ) |
Print matrix.
| A | symmetric data matrix |
Definition at line 423 of file dsdpdatamat.c.
Referenced by DSDPBlockView2(), and SDPConeViewDataMatrix().