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. More...
 

Functions

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

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

◆ 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.

◆ 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.

◆ 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.

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

◆ DSDPDataMatTest()

int DSDPDataMatTest ( DSDPDataMat  A)

Test validity of matrix.

Parameters
Asymmetric data matrix

Definition at line 96 of file dsdpdatamat.c.

◆ 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.

◆ DSDPDataMatView()

int DSDPDataMatView ( DSDPDataMat  A)

Print matrix.

Parameters
Asymmetric data matrix

Definition at line 423 of file dsdpdatamat.c.

Referenced by DSDPBlockView2(), and SDPConeViewDataMatrix().