dsdpxmat.h File Reference


Detailed Description

The interface between the SDPCone and the dense matrix array.

Definition in file dsdpxmat.h.

Go to the source code of this file.

Data Structures

struct  DSDPVMat_C
 Dense symmetric matrix for one block in the semidefinite cone. More...

Typedefs

typedef struct DSDPVMat_C DSDPVMat
 Represents a dense symmetric matrix for one block in the semidefinite cone.

Functions

int DSDPVMatAddOuterProduct (DSDPVMat, double, SDPConeVec)
 Add outer product of a vector to the matrix.
int DSDPVMatCheck (DSDPVMat, SDPConeVec, SDPConeVec)
 Test correctness of operations.
int DSDPVMatDestroy (DSDPVMat *)
 Deallocate matrix.
int DSDPVMatExist (DSDPVMat, int *)
 Answer whether the array has been allocated or not.
int DSDPVMatGetArray (DSDPVMat, double **, int *)
 Get the array that stores the matrix.
int DSDPVMatGetSize (DSDPVMat, int *)
 Get number of rows and columns.
int DSDPVMatInitialize (DSDPVMat *)
 Set pointers to null.
int DSDPVMatMult (DSDPVMat, SDPConeVec, SDPConeVec)
 Multiply X by a vector.
int DSDPVMatNormF2 (DSDPVMat, double *)
 Compute square of Frobenius norm of matrix.
int DSDPVMatRestoreArray (DSDPVMat, double **, int *)
 Restore the array that stores the matrix.
int DSDPVMatScaleDiagonal (DSDPVMat, double)
 Scaling diagonal is useful for inner products and norms.
int DSDPVMatSetData (DSDPVMat *, struct DSDPVMat_Ops *, void *)
 Set opaque pointer an function pointers.
int DSDPVMatShiftDiagonal (DSDPVMat, double)
 Add something to diagonal elements.
int DSDPVMatTest (DSDPVMat)
 Test validity of matrix.
int DSDPVMatView (DSDPVMat)
 Print matrix.
int DSDPVMatZeroEntries (DSDPVMat)
 Zero matrix.


Typedef Documentation

Represents a dense symmetric matrix for one block in the semidefinite cone.

Definition at line 26 of file dsdpxmat.h.


Function Documentation

int DSDPVMatAddOuterProduct ( DSDPVMat  X,
double  alpha,
SDPConeVec  V 
)

Add outer product of a vector to the matrix.

Parameters:
X dense symmetric matrix
alpha scalar multiple of outer product
V vector.

Definition at line 275 of file dsdpxmat.c.

Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), SDPConeComputeHessian(), and SDPConeComputeXX().

int DSDPVMatCheck ( DSDPVMat  X,
SDPConeVec  W1,
SDPConeVec  W2 
)

Test correctness of operations.

Parameters:
X dense symmetric matrix
W1 work vector
W2 work vector

Definition at line 327 of file dsdpxmat.c.

Referenced by SDPConeCheckData().

int DSDPVMatDestroy ( DSDPVMat X  ) 

Deallocate matrix.

Parameters:
X dense symmetric matrix

Definition at line 86 of file dsdpxmat.c.

Referenced by DSDPBlockTakeDown(), SDPConeAddADotX(), SDPConeClearVMatrix(), SDPConeComputeS(), SDPConeComputeX(), and SDPConeViewX().

int DSDPVMatExist ( DSDPVMat  X,
int *  flag 
)

Answer whether the array has been allocated or not.

Parameters:
X dense symmetric matrix
flag true if the array has been allocated

Definition at line 440 of file dsdpxmat.c.

Referenced by DSDPBlockSetup(), SDPConeGetXArray(), and SDPConeRestoreXArray().

int DSDPVMatGetArray ( DSDPVMat  X,
double **  v,
int *  nn 
)

Get the array that stores the matrix.

Parameters:
X dense symmetric matrix
v array representing the matrix.
nn length of the array
See also:
SDPConeSetStorageFormat()

Definition at line 211 of file dsdpxmat.c.

Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDataMatCheck(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), DSDPVMatCheck(), DSDPVMatNormF2(), and SDPConeGetXArray().

int DSDPVMatGetSize ( DSDPVMat  X,
int *  n 
)

Get number of rows and columns.

Parameters:
X dense symmetric matrix
n number of rows and columns

Definition at line 65 of file dsdpxmat.c.

Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), and DSDPVMatCheck().

int DSDPVMatInitialize ( DSDPVMat B  ) 

Set pointers to null.

Parameters:
B dense symmetric matrix

Definition at line 424 of file dsdpxmat.c.

Referenced by DSDPBlockInitialize(), DSDPVMatDestroy(), and SDPConeClearVMatrix().

int DSDPVMatMult ( DSDPVMat  X,
SDPConeVec  Z,
SDPConeVec  Y 
)

Multiply X by a vector.

Parameters:
X dense symmetric matrix
Z input vector
Y equals X * Z

Definition at line 301 of file dsdpxmat.c.

Referenced by DSDPVMatCheck().

int DSDPVMatNormF2 ( DSDPVMat  X,
double *  normf2 
)

Compute square of Frobenius norm of matrix.

Parameters:
X dense symmetric matrix
normf2 square of Frobenious norm.

Definition at line 186 of file dsdpxmat.c.

Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), and SDPConeComputeXDot().

int DSDPVMatRestoreArray ( DSDPVMat  X,
double **  v,
int *  nn 
)

Restore the array that stores the matrix.

Parameters:
X dense symmetric matrix
v array representing the matrix.
nn length of the array
See also:
SDPConeSetStorageFormat()

Definition at line 233 of file dsdpxmat.c.

Referenced by DSDPBlockADot(), DSDPBlockASum(), DSDPBlockFactorData(), DSDPDataMatCheck(), DSDPDSMatSetArray(), DSDPDualMatInverseAdd(), DSDPDualMatSetArray(), DSDPVMatCheck(), DSDPVMatNormF2(), and SDPConeRestoreXArray().

int DSDPVMatScaleDiagonal ( DSDPVMat  X,
double  dscale 
)

Scaling diagonal is useful for inner products and norms.

Parameters:
X dense symmetric matrix
dscale Semidefinite blocks scale the diagonal by half before taking the dot product with the data matrices.

Definition at line 147 of file dsdpxmat.c.

Referenced by DSDPBlockADot(), DSDPDataMatCheck(), DSDPVMatCheck(), and SDPConeComputeX3().

int DSDPVMatSetData ( DSDPVMat X,
struct DSDPVMat_Ops ops,
void *  data 
)

Set opaque pointer an function pointers.

Parameters:
X dense symmetric matrix
ops function pointers
data pointer to a matrix structure.

Definition at line 39 of file dsdpxmat.c.

Referenced by DSDPMakeVMat(), DSDPMakeVMatWithArray(), and DSDPVMatInitialize().

int DSDPVMatShiftDiagonal ( DSDPVMat  X,
double  dadd 
)

Add something to diagonal elements.

Parameters:
X dense symmetric matrix
dadd 

Definition at line 166 of file dsdpxmat.c.

Referenced by DSDPVMatCheck(), and SDPConeComputeX3().

int DSDPVMatTest ( DSDPVMat  X  ) 

Test validity of matrix.

Parameters:
X dense symmetric matrix

Definition at line 402 of file dsdpxmat.c.

Referenced by DSDPVMatSetData().

int DSDPVMatView ( DSDPVMat  X  ) 

Print matrix.

Parameters:
X dense symmetric matrix

Definition at line 107 of file dsdpxmat.c.

Referenced by DSDPDataMatCheck(), SDPConeMatrixView(), and SDPConeViewX().

int DSDPVMatZeroEntries ( DSDPVMat  X  ) 

Zero matrix.

Parameters:
X dense symmetric matrix

Definition at line 125 of file dsdpxmat.c.

Referenced by DSDPDataMatCheck(), DSDPVMatCheck(), SDPConeComputeHessian(), SDPConeComputeRHS(), SDPConeComputeSS(), SDPConeComputeXX(), and SDPConeMultiply().


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