dsdpdualmat.c File Reference

Call an implementation of the S matrix operations. More...

Go to the source code of this file.

## Functions

int | DSDPDualMatCholeskyBackwardMultiply (DSDPDualMat S, SDPConeVec B, SDPConeVec X)
| Multiply by triangular matrix.
int | DSDPDualMatCholeskyFactor (DSDPDualMat S, DSDPTruth *psdefinite)
| Factor the matrix.
int | DSDPDualMatCholeskyForwardMultiply (DSDPDualMat S, SDPConeVec B, SDPConeVec X)
| Multiply by triangular matrix.
int | DSDPDualMatCholeskySolveBackward (DSDPDualMat S, SDPConeVec B, SDPConeVec X)
| Backward triangular solve.
int | DSDPDualMatCholeskySolveForward (DSDPDualMat S, SDPConeVec B, SDPConeVec X)
| Forward triangular solve.
int | DSDPDualMatDestroy (DSDPDualMat *S)
| Free the matrix structure.
int | DSDPDualMatGetSize (DSDPDualMat S, int *n)
| Free the matrix structure.
int | DSDPDualMatInitialize (DSDPDualMat *S)
| Set pointers to null.
int | DSDPDualMatInverseAdd (DSDPDualMat S, double alpha, DSDPVMat T)
| Add a multiple of the inverse to T.
int | DSDPDualMatInverseMultiply (DSDPDualMat S, DSDPIndex IS, SDPConeVec B, SDPConeVec X)
| Multiply the inverse by a vector or solve the system of equations.
int | DSDPDualMatInvert (DSDPDualMat S)
| Invert the matrix.
int | DSDPDualMatIsFull (DSDPDualMat S, DSDPTruth *full)
| Factor the matrix.
int | DSDPDualMatLogDeterminant (DSDPDualMat S, double *logdet)
| Free the matrix structure.
int | DSDPDualMatOpsInitialize (struct DSDPDualMat_Ops *sops)
| Set pointers to null.
int | DSDPDualMatSetArray (DSDPDualMat S, DSDPVMat T)
| Print the matrix.
int | DSDPDualMatSetData (DSDPDualMat *S, struct DSDPDualMat_Ops *ops, void *data)
| Set the opaque pointer and function pointers to the matrix.
int | DSDPDualMatView (DSDPDualMat S)
| Print the matrix.

## Detailed Description

Call an implementation of the S matrix operations.

Definition in file dsdpdualmat.c.

## Function Documentation

## DSDPDualMatCholeskyBackwardMultiply()

int DSDPDualMatCholeskyBackwardMultiply | ( | DSDPDualMat | S,
|  | SDPConeVec | B,
|  | SDPConeVec | X
| ) |  |

Multiply by triangular matrix.

Parameters

  S | dual matrix
  B | in vector
  X | product Assumes Cholesky factorization successful.

Definition at line 373 of file dsdpdualmat.c.

## DSDPDualMatCholeskyFactor()

int DSDPDualMatCholeskyFactor | ( | DSDPDualMat | S,
|  | DSDPTruth * | psdefinite
| ) |  |

Factor the matrix.

Parameters

  S | dual matrix
  psdefinite | true if S is positive definite and factorization successful.

Definition at line 320 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

## DSDPDualMatCholeskyForwardMultiply()

int DSDPDualMatCholeskyForwardMultiply | ( | DSDPDualMat | S,
|  | SDPConeVec | B,
|  | SDPConeVec | X
| ) |  |

Multiply by triangular matrix.

Parameters

  S | dual matrix
  B | in vector
  X | product Assumes Cholesky factorization successful.

Definition at line 346 of file dsdpdualmat.c.

## DSDPDualMatCholeskySolveBackward()

int DSDPDualMatCholeskySolveBackward | ( | DSDPDualMat | S,
|  | SDPConeVec | B,
|  | SDPConeVec | X
| ) |  |

Backward triangular solve.

Parameters

  S | dual matrix
  B | Right-hand side of triangular system
  X | Solution to triangular system. Assumes Cholesky factorization successful.

Definition at line 295 of file dsdpdualmat.c.

## DSDPDualMatCholeskySolveForward()

int DSDPDualMatCholeskySolveForward | ( | DSDPDualMat | S,
|  | SDPConeVec | B,
|  | SDPConeVec | X
| ) |  |

Forward triangular solve.

Parameters

  S | dual matrix
  B | Right-hand side of triangular system
  X | Solution to triangular system. Assumes Cholesky factorization successful.

Definition at line 267 of file dsdpdualmat.c.

## DSDPDualMatDestroy()

int DSDPDualMatDestroy | ( | DSDPDualMat * | S | ) |

Free the matrix structure.

Parameters

  S | dual matrix

Definition at line 65 of file dsdpdualmat.c.

Referenced by DSDPBlockTakeDown().

## DSDPDualMatGetSize()

int DSDPDualMatGetSize | ( | DSDPDualMat | S,
|  | int * | n
| ) |  |

Free the matrix structure.

Parameters

  S | dual matrix
  n | dimension

Definition at line 87 of file dsdpdualmat.c.

## DSDPDualMatInitialize()

int DSDPDualMatInitialize | ( | DSDPDualMat * | S | ) |

Set pointers to null.

Parameters

  S | dual matrix

Definition at line 471 of file dsdpdualmat.c.

Referenced by DSDPBlockInitialize().

## DSDPDualMatInverseAdd()

int DSDPDualMatInverseAdd | ( | DSDPDualMat | S,
|  | double | alpha,
|  | DSDPVMat | T
| ) |  |

Add a multiple of the inverse to T.

Parameters

  S | dual matrix
  alpha | scalar
  T | destination. Assumes matrix already inverted.

Definition at line 209 of file dsdpdualmat.c.

Referenced by SDPConeComputeRHS(), and SDPConeComputeXX().

## DSDPDualMatInverseMultiply()

int DSDPDualMatInverseMultiply | ( | DSDPDualMat | S,
|  | DSDPIndex | IS,
|  | SDPConeVec | B,
|  | SDPConeVec | X
| ) |  |

Multiply the inverse by a vector or solve the system of equations.

Parameters

  S | dual matrix
  IS | Sparsity pattern of B
  B | Right-hand side of linear system
  X | product, or solution to linear system. Assumes matrix already inverted.

Definition at line 236 of file dsdpdualmat.c.

Referenced by SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeXX(), and SDPConeMultiply().

## DSDPDualMatInvert()

int DSDPDualMatInvert | ( | DSDPDualMat | S | ) |

Invert the matrix.

Parameters

  S | dual matrix Assumes Cholesky factorization was successful. This routine may not actually invert the matrix. It give the matrix the opportunity to invert it.

Definition at line 186 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

## DSDPDualMatIsFull()

int DSDPDualMatIsFull | ( | DSDPDualMat | S,
|  | DSDPTruth * | full
| ) |  |

Factor the matrix.

Parameters

  S | dual matrix
  full | true if S is a dense structure.

Definition at line 397 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

## DSDPDualMatLogDeterminant()

int DSDPDualMatLogDeterminant | ( | DSDPDualMat | S,
|  | double * | logdet
| ) |  |

Free the matrix structure.

Parameters

  S | dual matrix
  logdet | logarithm of the determinant Assumes Cholesky factorization was successful.

Definition at line 122 of file dsdpdualmat.c.

## DSDPDualMatOpsInitialize()

int DSDPDualMatOpsInitialize | ( | struct DSDPDualMat_Ops * | sops | ) |

Set pointers to null.

Parameters

  sops | function pointers

Definition at line 423 of file dsdpdualmat.c.

Referenced by DSDPDualMatInitialize().

## DSDPDualMatSetArray()

int DSDPDualMatSetArray | ( | DSDPDualMat | S,
|  | DSDPVMat | T
| ) |  |

Print the matrix.

Parameters

  S | dual matrix
  T | Dense array matrix.

Definition at line 160 of file dsdpdualmat.c.

Referenced by SDPConeComputeX3().

## DSDPDualMatSetData()

int DSDPDualMatSetData | ( | DSDPDualMat * | S,
|  | struct DSDPDualMat_Ops * | ops,
|  | void * | data
| ) |  |

Set the opaque pointer and function pointers to the matrix.

Parameters

  S | dual matrix
  ops | pointer to a structure of function pointers
  data | pointer to a matrix structure

Definition at line 49 of file dsdpdualmat.c.

Referenced by DSDPDualMatDestroy(), and DSDPDualMatInitialize().

## DSDPDualMatView()

int DSDPDualMatView | ( | DSDPDualMat | S | ) |

Print the matrix.

Parameters

  S | dual matrix

Definition at line 140 of file dsdpdualmat.c.