# Python

After installing you can import SCS using

    import scs

This module provides a single function solve with the following call signature:

    sol = scs.solve(data,
                    cone,
                    use_indirect=False,
                    gpu=False,
                    verbose=True,
                    normalize=True,
                    max_iters=int(1e5),
                    scale=0.1,
                    adaptive_scale=True,
                    eps_abs=1e-4,
                    eps_rel=1e-4,
                    eps_infeas=1e-7,
                    alpha=1.5,
                    rho_x=1e-3,
                    acceleration_lookback=0,
                    acceleration_interval=1,
                    time_limit_secs=0,
                    write_data_filename=None,
                    log_csv_filename=None)

where `data` is a dict containing `P, A, b, c`, and `cone` is a dict that contains that Cones information. The `b`, and `c` must be 1d numpy arrays and `P` and `A` must be scipy sparse matrices in CSC format; if they are not of the proper format, SCS will attempt to convert them. The remaining fields are explained in Settings.

At termination `sol` is a dict with fields `x, y, s, info` where `x, y, s` contains the primal-dual solution or the certificate of infeasibility, and `info` is a dict containing the solve Return information.

## Warm-starting

Warm-starting SCS with a guess of the primal-dual solution can reduce the total solve time. This is useful, for example, when solving several similar problems sequentially. To do this add to the `data` dict passed to `scs.solve` the additional fields `x`, `y`, and `s` (or any subset thereof) where `x` and `s` correspond to numpy arrays containing the primal solution guesses and `y` corresponds to a numpy array containing the dual solution guess.