function [kerr,serr] = ric(a,b,q,r,k,s,n)
%RIC	Riccati residual calculation.
%	[Kerr,Serr] = RIC(A,B,Q,R,K,S) Computes the error in the solution
%	to the Riccati equation.  Kerr is the error in the gain matrix
%	and Serr is the residual error in the Riccati equation.
%		          -1                           -1
%		Kerr = K-R  B'S;  Serr = SA + A'S - SBR  B'S + Q
%
%	[Kerr,Serr] = RIC(A,B,Q,R,K,S,N) computes the error in the 
%	solution to the Riccati equation with cross weighting term.
%	          -1                                    -1
%	Kerr = K-R  (N'+B'S);  Serr = SA + A'S - (SB+N)R  (N'+B'S) + Q
%
%	See also: DRIC,ARE,LQE, and LQR.

%	Copyright (c) 1986-93 by the MathWorks, Inc.

if nargin == 7
	serr = s*a + a'*s - (s*b+n)/r*(n'+b'*s) + q;
	kerr = k - r\(n'+b'*s);
else
	serr = s*a+a'*s-s*b/r*b'*s+q;
	kerr = k - r\b'*s;
end
