dsdpdatamat.c File Reference


Detailed Description

Call an implementation of the data matrix operations.

Definition in file dsdpdatamat.c.

Go to the source code of this file.

Functions

int DSDPDataMatAddMultiple (DSDPDataMat A, double ytmp, double *v, int nn, int n)
 Add a multiple the data matrix to the array.
int DSDPDataMatCountNonzeros (DSDPDataMat A, int *nnz, int n)
 Compute the square of the Frobenius norm.
int DSDPDataMatDestroy (DSDPDataMat *A)
 Free the data structures.
int DSDPDataMatDot (DSDPDataMat A, double x[], int nn, int n, double *v)
 Compute inner product of data with a dense matrix.
int DSDPDataMatFactor (DSDPDataMat A, SDPConeVec W, double *dworknn, int nn0, double *dwork3n, int nd, int *iwork, int ni)
 Do eigenvalue/vector or other factorization.
int DSDPDataMatFNorm2 (DSDPDataMat A, int n, double *fnorm2)
 Compute the square of the Frobenius norm.
int DSDPDataMatGetEig (DSDPDataMat A, int rr, SDPConeVec V, DSDPIndex S, double *eigenvalue)
 Get an eigenvalue/vector pair.
int DSDPDataMatGetRank (DSDPDataMat A, int *rank, int n)
 Get the number of nonzero eigenvalues/eigenvectors for the matrix.
int DSDPDataMatGetRowNonzeros (DSDPDataMat A, int nrow, int nmax, int *nz, int *nnz)
 Get sparsity pattern of a row of the matrix.
int DSDPDataMatInitialize (DSDPDataMat *A)
 Set pointers to NULL;.
int DSDPDataMatOpsInitialize (struct DSDPDataMat_Ops *dops)
 Initialize the table of function pointers for SDP Data matrices.
int DSDPDataMatSetData (DSDPDataMat *A, struct DSDPDataMat_Ops *ops, void *data)
 Set the opaque pointer and function pointers to the matrix.
int DSDPDataMatTest (DSDPDataMat A)
 Test validity of matrix.
int DSDPDataMatVecVec (DSDPDataMat A, SDPConeVec W, double *v)
 Compute w' A w.
int DSDPDataMatView (DSDPDataMat A)
 Print matrix.


Function Documentation

int DSDPDataMatAddMultiple ( DSDPDataMat  A,
double  ytmp,
double *  v,
int  nn,
int  n 
)

Add a multiple the data matrix to the array.

Parameters:
A symmetric data matrix
ytmp scalar multiple
v dense array matrix
nn dimension of array
n dimension of matrix
See also:
SDPConeSetStorageFormat()

DSDPVMatGetArray()

Definition at line 402 of file dsdpdatamat.c.

Referenced by DSDPBlockASum(), and DSDPDataMatCheck().

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

Compute the square of the Frobenius norm.

Parameters:
A symmetric data matrix.
n dimension of the matrix.
*nnz nonzeros in matrix.
Used to identify which of a few strategies to compute Hessian.

Definition at line 152 of file dsdpdatamat.c.

int DSDPDataMatDestroy ( DSDPDataMat A  ) 

Free the data structures.

Parameters:
A symmetric 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:
A symmetric data matrix
x dense array matrix
nn length of array
n dimension of matrix.
v the inner product
See also:
SDPConeSetStorageFormat()

DSDPVMatGetArray()

Definition at line 273 of file dsdpdatamat.c.

Referenced by DSDPBlockADot(), and DSDPDataMatCheck().

int DSDPDataMatFactor ( DSDPDataMat  A,
SDPConeVec  W,
double *  dworknn,
int  nn0,
double *  dwork3n,
int  nd,
int *  iwork,
int  ni 
)

Do eigenvalue/vector or other factorization.

Parameters:
A symmetric data matrix
W work vector
dworknn work array
nn0 length of dworknn array.
dwork3n work array
nd length of work array
iwork work array
ni length of iwork array
This routine is called once during the DSDPSetUp routine.

See also:
DSDPDataMatGetRank()

DSDPDataMatGetEig()

Definition at line 240 of file dsdpdatamat.c.

Referenced by DSDPBlockFactorData().

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

Compute the square of the Frobenius norm.

Parameters:
A symmetric data matrix.
n dimension of the matrix.
fnorm2 square 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:
A symmetric data matrix
rr identifies which pair of eigs, (0 <= rr < rank)
V Eigenvector
S Indentifies sparsity pattern in V.
eigenvalue the 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:
A symmetric data matrix
rank number of nonzero eigenvalues and vectors.
n rows 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:
A symmetric data matrix.
nrow number >=0 and < n.
nmax dimension of the matrix.
nz array used to mark nonzeros.
nnz number 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().

int DSDPDataMatInitialize ( DSDPDataMat A  ) 

Set pointers to NULL;.

Parameters:
A symmetric data matrix

Definition at line 78 of file dsdpdatamat.c.

Referenced by DSDPBlockDataAllocate(), and DSDPDataMatDestroy().

int DSDPDataMatOpsInitialize ( struct DSDPDataMat_Ops dops  ) 

Initialize the table of function pointers for SDP Data matrices.

Parameters:
dops pointer to a structure of function pointers.

Definition at line 47 of file dsdpdatamat.c.

Referenced by DSDPDataMatInitialize(), and DSDPDataMatSetData().

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

Set the opaque pointer and function pointers to the matrix.

Parameters:
A symmetric data matrix
ops pointer to a structure of function pointers
data pointer to a matrix structure

Definition at line 25 of file dsdpdatamat.c.

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

int DSDPDataMatTest ( DSDPDataMat  A  ) 

Test validity of matrix.

Parameters:
A symmetric 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:
A symmetric data matrix
W vector
v the inner product

Definition at line 297 of file dsdpdatamat.c.

Referenced by DSDPBlockvAv(), and DSDPDataMatCheck().

int DSDPDataMatView ( DSDPDataMat  A  ) 

Print matrix.

Parameters:
A symmetric data matrix

Definition at line 423 of file dsdpdatamat.c.

Referenced by DSDPBlockView2(), and SDPConeViewDataMatrix().


Generated on Sun Mar 23 07:30:49 2008 for DSDP by  doxygen 1.5.5