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