Scilab Function

riccsl - Riccati equation solver

### Calling Sequence

  `[X,RCOND,FERR]=riccsl(A,C,D,'type','method')`

### Parameters

- `A,C,D` : real square matrices.
- `type` : 'continuous' or 'discrete'
- `method` : 'schr' or 'sign' for continuous-time systems and 'schr' or 'invf' for discrete-tyme systems
- `X` : real matrix
- `RCOND` : real number
- `FERR` : real number

### Description

Riccati solver.

Continuous time:

      X=riccsl(A,C,D,'cont','method')

gives a solution to the continuous time ARE

      A'*X + X*A + C - X*D*X = 0

Discrete time:

      X=riccsl(A,C,D,'disc','method')

gives a solution to the discrete time ARE

    A'*X*inv(I + D*X)*A - X + C = 0

C, D are symmetric .It is assumed that the matrices A, C and D are such that the corresponding matrix pencil has N eigenvalues with moduli less than one.

Error bound on the solution and a condition estimate are also provided. It is assumed that the matrices A, C and D are such that the corresponding Hamiltonian matrix has N eigenvalues with negative real parts.

### REFERENCE

See SCIDIR/routines/control/riccpack. Code written by P. Petkov.

### See Also

`riccati` `ric_desc` `schur`