# Data matrices

Both matrices \(A\) and \(P\) must be in Compressed Sparse Column (CSC) format using zero-based indexing.

The order of the rows of \(A\) must be in the order that the cones appear in the cones table.

The rows of \(A\) corresponding to semidefinite cones (as well as the rows of \(b\)) must be handled carefully, as described in Semidefinite cones.

The matrix \(P\) must be symmetric positive semidefinite and only the

**upper triangular**part of \(P\) should be passed in.If \(P = 0\) for your problem then you can set the

`P`

entry to NULL in the Data struct. \(A\) must always be non-NULL.

See the ScsMatrix struct for the concrete implementation in the C api.