|
DSDP
|
The interface between the SDPCone and the dense matrix array. More...
Go to the source code of this file.
Data Structures | |
| struct | DSDPVMat_C |
| Dense symmetric matrix for one block in the semidefinite cone. More... | |
Typedefs | |
| typedef struct DSDPVMat_C | DSDPVMat |
| Represents a dense symmetric matrix for one block in the semidefinite cone. More... | |
Functions | |
| int | DSDPVMatAddOuterProduct (DSDPVMat, double, SDPConeVec) |
| Add outer product of a vector to the matrix. More... | |
| int | DSDPVMatCheck (DSDPVMat, SDPConeVec, SDPConeVec) |
| Test correctness of operations. More... | |
| int | DSDPVMatDestroy (DSDPVMat *) |
| Deallocate matrix. More... | |
| int | DSDPVMatExist (DSDPVMat, int *) |
| Answer whether the array has been allocated or not. More... | |
| int | DSDPVMatGetArray (DSDPVMat, double **, int *) |
| Get the array that stores the matrix. More... | |
| int | DSDPVMatGetSize (DSDPVMat, int *) |
| Get number of rows and columns. More... | |
| int | DSDPVMatInitialize (DSDPVMat *) |
| Set pointers to null. More... | |
| int | DSDPVMatMult (DSDPVMat, SDPConeVec, SDPConeVec) |
| Multiply X by a vector. More... | |
| int | DSDPVMatNormF2 (DSDPVMat, double *) |
| Compute square of Frobenius norm of matrix. More... | |
| int | DSDPVMatRestoreArray (DSDPVMat, double **, int *) |
| Restore the array that stores the matrix. More... | |
| int | DSDPVMatScaleDiagonal (DSDPVMat, double) |
| Scaling diagonal is useful for inner products and norms. More... | |
| int | DSDPVMatSetData (DSDPVMat *, struct DSDPVMat_Ops *, void *) |
| Set opaque pointer an function pointers. More... | |
| int | DSDPVMatShiftDiagonal (DSDPVMat, double) |
| Add something to diagonal elements. More... | |
| int | DSDPVMatTest (DSDPVMat) |
| Test validity of matrix. More... | |
| int | DSDPVMatView (DSDPVMat) |
| Print matrix. More... | |
| int | DSDPVMatZeroEntries (DSDPVMat) |
| Zero matrix. More... | |
The interface between the SDPCone and the dense matrix array.
Definition in file dsdpxmat.h.
| struct DSDPVMat_C DSDPVMat |
Represents a dense symmetric matrix for one block in the semidefinite cone.
Definition at line 26 of file dsdpxmat.h.
| int DSDPVMatAddOuterProduct | ( | DSDPVMat | X, |
| double | alpha, | ||
| SDPConeVec | V | ||
| ) |
Add outer product of a vector to the matrix.
| X | dense symmetric matrix |
| alpha | scalar multiple of outer product |
| V | vector. |
Definition at line 275 of file dsdpxmat.c.
Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), SDPConeComputeHessian(), and SDPConeComputeXX().
| int DSDPVMatCheck | ( | DSDPVMat | X, |
| SDPConeVec | W1, | ||
| SDPConeVec | W2 | ||
| ) |
Test correctness of operations.
| X | dense symmetric matrix |
| W1 | work vector |
| W2 | work vector |
Definition at line 327 of file dsdpxmat.c.
Referenced by SDPConeCheckData().
| int DSDPVMatDestroy | ( | DSDPVMat * | X | ) |
Deallocate matrix.
| X | dense symmetric matrix |
Definition at line 86 of file dsdpxmat.c.
Referenced by DSDPBlockTakeDown(), SDPConeAddADotX(), SDPConeClearVMatrix(), SDPConeComputeS(), SDPConeComputeX(), and SDPConeViewX().
| int DSDPVMatExist | ( | DSDPVMat | X, |
| int * | flag | ||
| ) |
Answer whether the array has been allocated or not.
| X | dense symmetric matrix |
| flag | true if the array has been allocated |
Definition at line 440 of file dsdpxmat.c.
Referenced by DSDPBlockSetup(), SDPConeGetXArray(), and SDPConeRestoreXArray().
| int DSDPVMatGetArray | ( | DSDPVMat | X, |
| double ** | v, | ||
| int * | nn | ||
| ) |
Get the array that stores the matrix.
| X | dense symmetric matrix |
| v | array representing the matrix. |
| nn | length of the array |
Definition at line 211 of file dsdpxmat.c.
Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDataMatCheck(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), DSDPVMatCheck(), DSDPVMatNormF2(), and SDPConeGetXArray().
| int DSDPVMatGetSize | ( | DSDPVMat | X, |
| int * | n | ||
| ) |
Get number of rows and columns.
| X | dense symmetric matrix |
| n | number of rows and columns |
Definition at line 65 of file dsdpxmat.c.
Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), and DSDPVMatCheck().
| int DSDPVMatInitialize | ( | DSDPVMat * | B | ) |
Set pointers to null.
| B | dense symmetric matrix |
Definition at line 424 of file dsdpxmat.c.
Referenced by DSDPBlockInitialize(), DSDPVMatDestroy(), and SDPConeClearVMatrix().
| int DSDPVMatMult | ( | DSDPVMat | X, |
| SDPConeVec | Z, | ||
| SDPConeVec | Y | ||
| ) |
Multiply X by a vector.
| X | dense symmetric matrix |
| Z | input vector |
| Y | equals X * Z |
Definition at line 301 of file dsdpxmat.c.
Referenced by DSDPVMatCheck().
| int DSDPVMatNormF2 | ( | DSDPVMat | X, |
| double * | normf2 | ||
| ) |
Compute square of Frobenius norm of matrix.
| X | dense symmetric matrix |
| normf2 | square of Frobenious norm. |
Definition at line 186 of file dsdpxmat.c.
Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), and SDPConeComputeXDot().
| int DSDPVMatRestoreArray | ( | DSDPVMat | X, |
| double ** | v, | ||
| int * | nn | ||
| ) |
Restore the array that stores the matrix.
| X | dense symmetric matrix |
| v | array representing the matrix. |
| nn | length of the array |
Definition at line 233 of file dsdpxmat.c.
Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDataMatCheck(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), DSDPVMatCheck(), DSDPVMatNormF2(), and SDPConeRestoreXArray().
| int DSDPVMatScaleDiagonal | ( | DSDPVMat | X, |
| double | dscale | ||
| ) |
Scaling diagonal is useful for inner products and norms.
| X | dense symmetric matrix |
| dscale | Semidefinite blocks scale the diagonal by half before taking the dot product with the data matrices. |
Definition at line 147 of file dsdpxmat.c.
Referenced by DSDPBlockADot(), DSDPDataMatCheck(), DSDPVMatCheck(), and SDPConeComputeX3().
| int DSDPVMatSetData | ( | DSDPVMat * | X, |
| struct DSDPVMat_Ops * | ops, | ||
| void * | data | ||
| ) |
Set opaque pointer an function pointers.
| X | dense symmetric matrix |
| ops | function pointers |
| data | pointer to a matrix structure. |
Definition at line 39 of file dsdpxmat.c.
Referenced by DSDPMakeVMat(), DSDPMakeVMatWithArray(), and DSDPVMatInitialize().
| int DSDPVMatShiftDiagonal | ( | DSDPVMat | X, |
| double | dadd | ||
| ) |
Add something to diagonal elements.
| X | dense symmetric matrix |
| dadd |
Definition at line 166 of file dsdpxmat.c.
Referenced by DSDPVMatCheck(), and SDPConeComputeX3().
| int DSDPVMatTest | ( | DSDPVMat | X | ) |
Test validity of matrix.
| X | dense symmetric matrix |
Definition at line 402 of file dsdpxmat.c.
Referenced by DSDPVMatSetData().
| int DSDPVMatView | ( | DSDPVMat | X | ) |
Print matrix.
| X | dense symmetric matrix |
Definition at line 107 of file dsdpxmat.c.
Referenced by DSDPDataMatCheck(), SDPConeMatrixView(), and SDPConeViewX().
| int DSDPVMatZeroEntries | ( | DSDPVMat | X | ) |
Zero matrix.
| X | dense symmetric matrix |
Definition at line 125 of file dsdpxmat.c.
Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeSS(), SDPConeComputeXX(), and SDPConeMultiply().