dsdpschurmatadd.c File Reference

Cones to assemble the Schur matrix with these routines. More...

Go to the source code of this file.

## Functions

int | DSDPSchurMatAddDiagonal (DSDPSchurMat M, DSDPVec D)
| Add elements to a row of the Schur matrix.
int | DSDPSchurMatAddDiagonalElement (DSDPSchurMat M, int row, double dd)
| Determine with the cone should compute this diagonal element of M and RHS.
int | DSDPSchurMatAddR (DSDPSchurMat M, int row, double dd)
| Add an element to the Schur matrix correponding the variable r.
int | DSDPSchurMatAddRow (DSDPSchurMat M, int row, double alpha, DSDPVec R)
| Add elements to a row of the Schur matrix.
int | DSDPSchurMatDiagonalScaling (DSDPSchurMat M, DSDPVec D)
| Get the scaling and nonzero pattern of each diagonal element of the matrix.
int | DSDPSchurMatRowColumnScaling (DSDPSchurMat M, int row, DSDPVec V, int *nzcols)
| Get the scaling and nonzero pattern of each column in this row of the matrix.
int | DSDPSchurMatVariableCompute (DSDPSchurMat M, int row, double *rcv)
| Determine with the cone should compute this diagonal element of M and RHS.
int | DSDPSchurMatVariableComputeR (DSDPSchurMat M, double *rcv)
| Add an element to the Schur matrix correponding the variable r.

## Detailed Description

Cones to assemble the Schur matrix with these routines.

Definition in file dsdpschurmatadd.c.

## Function Documentation

## DSDPSchurMatAddDiagonal()

int DSDPSchurMatAddDiagonal | ( | DSDPSchurMat | M,
|  | DSDPVec | D
| ) |  |

Add elements to a row of the Schur matrix.

Parameters

  M | matrix
  D | diagonal elements.

Conic object call this routine when evaluating the Hessian of the barrier term.

See also
  DSDPSchurMatDiagonalScaling()

Definition at line 272 of file dsdpschurmatadd.c.

## DSDPSchurMatAddDiagonalElement()

int DSDPSchurMatAddDiagonalElement | ( | DSDPSchurMat | M,
|  | int | row,
|  | double | dd
| ) |  |

Determine with the cone should compute this diagonal element of M and RHS.

Parameters

  M | matrix
  row | correponding the y variable
  dd | zero or one..

See also
  DSDPSchurMatVariableCompute()

Definition at line 157 of file dsdpschurmatadd.c.

## DSDPSchurMatAddR()

int DSDPSchurMatAddR | ( | DSDPSchurMat | M,
|  | int | row,
|  | double | dd
| ) |  |

Add an element to the Schur matrix correponding the variable r.

Parameters

  M | matrix
  row | corresponding to variable y.
  dd | element

Definition at line 198 of file dsdpschurmatadd.c.

## DSDPSchurMatAddRow()

int DSDPSchurMatAddRow | ( | DSDPSchurMat | M,
|  | int | row,
|  | double | alpha,
|  | DSDPVec | R
| ) |  |

Add elements to a row of the Schur matrix.

Parameters

  M | matrix
  row | correponding to variable y
  alpha | multiply elements in R by this scalar.
  R | a row of elements.

Conic object call this routine when evaluating the Hessian of the barrier term. This routine is to be used with DSDPSchurMatRowColumnScaling().

See also
  DSDPSchurMatRowColumnScaling()

Definition at line 76 of file dsdpschurmatadd.c.

Referenced by DSDPAddSchurRow(), and SDPConeComputeHessian().

## DSDPSchurMatDiagonalScaling()

int DSDPSchurMatDiagonalScaling | ( | DSDPSchurMat | M,
|  | DSDPVec | D
| ) |  |

Get the scaling and nonzero pattern of each diagonal element of the matrix.

Parameters

  M | matrix
  D | multply each element of the diagonal by this quantity.

Conic object call this routine when evaluating the Hessian of the barrier term. The elements will be a 0 or a 1. Important for parallel version.

See also
  DSDPSchurMatAddDiagonal()

Definition at line 235 of file dsdpschurmatadd.c.

Referenced by DSDPSchurMatRowScaling().

## DSDPSchurMatRowColumnScaling()

int DSDPSchurMatRowColumnScaling | ( | DSDPSchurMat | M,
|  | int | row,
|  | DSDPVec | V,
|  | int * | nzcols
| ) |  |

Get the scaling and nonzero pattern of each column in this row of the matrix.

Parameters

  M | matrix
  row | correponding to variable y
  V | multply each element of the row by this quantity.
  nzcols | how many nonzeros. Check for a 0! Conic object call this routine when evaluating the Hessian of the barrier term. The vector V identifies sparsity, whether its using upper or lower half of Schur, and also used to distribute rows over processros The elements will be a 0 or a 1. This routine is to be used with DSDPSchurMatAddRow().

See also
  DSDPSchurMatAddRow()

Definition at line 33 of file dsdpschurmatadd.c.

Referenced by SDPConeComputeHessian().

## DSDPSchurMatVariableCompute()

int DSDPSchurMatVariableCompute | ( | DSDPSchurMat | M,
|  | int | row,
|  | double * | rcv
| ) |  |

Determine with the cone should compute this diagonal element of M and RHS.

Parameters

  M | matrix
  row | correponding the y variable
  rcv |

Used to evaluate M. Important in parallel implementation.

See also
  DSDPSchurMatAddDiagonalElement()

Definition at line 120 of file dsdpschurmatadd.c.

Referenced by DSDPObjectiveGH().

## DSDPSchurMatVariableComputeR()

int DSDPSchurMatVariableComputeR | ( | DSDPSchurMat | M,
|  | double * | rcv
| ) |  |

Add an element to the Schur matrix correponding the variable r.

Parameters

  M | matrix
  *rcv | zero or one

Definition at line 181 of file dsdpschurmatadd.c.