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

◆ DSDPDataMat

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

Definition at line 25 of file dsdpdatamat.h.

Function Documentation

◆ DSDPDataMatCountNonzeros()

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.

◆ DSDPDataMatDestroy()

int DSDPDataMatDestroy ( DSDPDataMat A)

Free the data structures.

Parameters
Asymmetric data matrix

Definition at line 444 of file dsdpdatamat.c.

Referenced by DSDPBlockAddDataMatrix(), DSDPBlockDataDestroy(), and DSDPBlockRemoveDataMatrix().

◆ DSDPDataMatDot()

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().

◆ DSDPDataMatFNorm2()

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().

◆ DSDPDataMatGetEig()

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().

◆ DSDPDataMatGetRank()

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().

◆ DSDPDataMatGetRowNonzeros()

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().

◆ DSDPDataMatInitialize()

int DSDPDataMatInitialize ( DSDPDataMat A)

Set pointers to NULL;.

Parameters
Asymmetric data matrix

Definition at line 78 of file dsdpdatamat.c.

Referenced by DSDPBlockDataAllocate(), and DSDPDataMatDestroy().

◆ DSDPDataMatSetData()

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().

◆ DSDPDataMatTest()

int DSDPDataMatTest ( DSDPDataMat  A)

Test validity of matrix.

Parameters
Asymmetric data matrix

Definition at line 96 of file dsdpdatamat.c.

Referenced by DSDPDataMatSetData().

◆ DSDPDataMatVecVec()

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().

◆ DSDPDataMatView()

int DSDPDataMatView ( DSDPDataMat  A)

Print matrix.

Parameters
Asymmetric data matrix

Definition at line 423 of file dsdpdatamat.c.

Referenced by DSDPBlockView2().