DSDP
Data Structures | Typedefs | Functions
dsdpdatamat.h File Reference

The interface between the SDPCone and the data matrices. More...

Go to the source code of this file.

Data Structures

struct  DSDPDataMat_C
 Symmetric data matrix for one block in the semidefinite cone. More...

Typedefs

typedef struct DSDPDataMat_C DSDPDataMat
 Represents a single symmetric data matrix for one block in this semidefinite cone.

Functions

int DSDPDataMatCountNonzeros (DSDPDataMat, int *, int)
 Compute the square of the Frobenius norm.
int DSDPDataMatDestroy (DSDPDataMat *)
 Free the data structures.
int DSDPDataMatDot (DSDPDataMat, double[], int, int, double *)
 Compute inner product of data with a dense matrix.
int DSDPDataMatFNorm2 (DSDPDataMat, int, double *)
 Compute the square of the Frobenius norm.
int DSDPDataMatGetEig (DSDPDataMat, int, SDPConeVec, DSDPIndex, double *)
 Get an eigenvalue/vector pair.
int DSDPDataMatGetRank (DSDPDataMat, int *, int)
 Get the number of nonzero eigenvalues/eigenvectors for the matrix.
int DSDPDataMatGetRowNonzeros (DSDPDataMat, int, int, int *, int *)
 Get sparsity pattern of a row of the matrix.
int DSDPDataMatInitialize (DSDPDataMat *)
 Set pointers to NULL;.
int DSDPDataMatSetData (DSDPDataMat *, struct DSDPDataMat_Ops *, void *)
 Set the opaque pointer and function pointers to the matrix.
int DSDPDataMatTest (DSDPDataMat)
 Test validity of matrix.
int DSDPDataMatVecVec (DSDPDataMat, SDPConeVec, double *)
 Compute w' A w.
int DSDPDataMatView (DSDPDataMat)
 Print matrix.

Detailed Description

The interface between the SDPCone and the data matrices.

Definition in file dsdpdatamat.h.


Typedef Documentation

Represents a single symmetric data matrix for one block in this semidefinite cone.

Definition at line 25 of file dsdpdatamat.h.


Function Documentation

int DSDPDataMatCountNonzeros ( DSDPDataMat  A,
int *  nnz,
int  n 
)

Compute the square of the Frobenius norm.

Parameters:
Asymmetric data matrix.
ndimension of the matrix.
*nnznonzeros in matrix.

Used to identify which of a few strategies to compute Hessian.

Definition at line 152 of file dsdpdatamat.c.

Free the data structures.

Parameters:
Asymmetric 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.

Parameters:
Asymmetric data matrix
xdense array matrix
nnlength of array
ndimension of matrix.
vthe inner product
See also:
SDPConeSetStorageFormat()
DSDPVMatGetArray()

Definition at line 273 of file dsdpdatamat.c.

Referenced by DSDPBlockADot(), and DSDPDataMatCheck().

int DSDPDataMatFNorm2 ( DSDPDataMat  A,
int  n,
double *  fnorm2 
)

Compute the square of the Frobenius norm.

Parameters:
Asymmetric data matrix.
ndimension of the matrix.
fnorm2square 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.

Parameters:
Asymmetric data matrix
rridentifies which pair of eigs, (0 <= rr < rank)
VEigenvector
SIndentifies sparsity pattern in V.
eigenvaluethe 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')
See also:
DSDPDataMatGetRank()

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.

Parameters:
Asymmetric data matrix
ranknumber of nonzero eigenvalues and vectors.
nrows 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.

Parameters:
Asymmetric data matrix.
nrownumber >=0 and < n.
nmaxdimension of the matrix.
nzarray used to mark nonzeros.
nnznumber 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().

Set pointers to NULL;.

Parameters:
Asymmetric data matrix

Definition at line 78 of file dsdpdatamat.c.

Referenced by DSDPBlockDataAllocate(), and DSDPDataMatDestroy().

int DSDPDataMatSetData ( DSDPDataMat A,
struct DSDPDataMat_Ops ops,
void *  data 
)

Set the opaque pointer and function pointers to the matrix.

Parameters:
Asymmetric data matrix
opspointer to a structure of function pointers
datapointer to a matrix structure

Definition at line 25 of file dsdpdatamat.c.

Referenced by DSDPBlockAddDataMatrix(), DSDPDataMatInitialize(), and DSDPSetDataMatZero().

Test validity of matrix.

Parameters:
Asymmetric 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.

Parameters:
Asymmetric data matrix
Wvector
vthe inner product

Definition at line 297 of file dsdpdatamat.c.

Referenced by DSDPBlockvAv(), and DSDPDataMatCheck().

Print matrix.

Parameters:
Asymmetric data matrix

Definition at line 423 of file dsdpdatamat.c.

Referenced by DSDPBlockView2(), and SDPConeViewDataMatrix().