Variables: x_t = n x 1 column vector of state variables y_t = m x 1 column vector of observations Dynamic and Measurement Equation Matrices and Forcing Terms: F(t) = n x n dynamic equation matrix, t = 1,...,T-1 a(t) = n x 1 dynamic equation forcing term, t = 1,...,T-1 H(t) = m x n measurement equation matrix, t = 1,...,T b(t) = m x 1 measurement equation forcing term, t = 1,...,T Prior Dynamic Specification (Approximately Linear Dynamics): x_{t+1} \approx= F(t)x_t + a(t) , t = 1,...,T-1 Prior Measurement Specification (Approximately Linear Measurements): y_t \approx= H(t)x_t + b(t) , t = 1,...,T Penalty Weight Specifications for the Incompatibility Cost Function: D(t) = symmetric positive definite nxn matrix, t = 1,...,T-1 M(t) = symmetric positive definite mxm matrix, t = 1,...,T Q_0 = symmetric positive definite nxn matrix p_0 = nx1 column vector r_0 = scalar INCOMPATIBILITY COST FUNCTION SPECIFICATIONS: Let x* = (x*_1,...,x*_T) denote any possible choice for a sequence of state vector estimates. Dynamic Cost Associated with the Choice of x*: T-1 C_D(x*;T) = SUM [x*_{t+1}- F(t)x*_t - a(t)]'D(t)[x*_{t+1}-F(t)x*_t - a(t)] t=1 Measurement Cost Associated with the Choice of x*: T C_M(x*;T) = SUM [y_t - H(t)x*_t - b(t)]'M(t)[y_t - H(t)x*_t - b(t)] t=1 Initialization Cost Associated with the Choice of x*_1: C_I(x*,T) = [x*_1'Q_0x*_1] - [2x*_1'p_0] + r_0 Total Incompatibility Cost Associated with the Choice of x* for a Given Nonnegative Trade-off Value \mu: C(x*;\mu,T) = \mu[C_D(x*,T)] + C_M(x*,T) + C_I(x*,T) . GFLS PROBLEM FOR GIVEN \mu AND T: Determine the trajectory x* which minimizes the total cost function C(x*;\mu,T). This trajectory is called the "general flexible least squares (GFLS) solution conditional on \mu and T." COMPUTER IMPLEMENTATION: The Fortran program GFLS generates the general flexible least squares solution in a sequential manner. Comment statements are interspersed throughout the program GFLS explaining the sequential updating equations. The order of derivation is as follows: Time-T Updating Equations, T \geq 1: In storage at time T \geq 1 are the exogenously given matrices and vectors F(T), a(T), H(T), b(T), D(T), and M(T) and the previously calculated (if T exceeds 1) or exogenously given (if T = 1) matrix, vector, and scalar Q_{T-1}(\mu), p_{T-1}(\mu), and r_{T-1}(\mu). A new observation y_T is obtained. Determine in order: U_T(\mu) = H(T)'M(T)H(T) + Q_{T-1}(\mu) C(T) = F(T)'D(T) W_T(\mu) = \mu [C(T)F(T)] + U_T(\mu) V_T(\mu) = [W_T(\mu)]^{-1} e_T = y_T - b(T) z_T(\mu) = H(T)'M(T)e_T + p_{T-1}(\mu) G_T(\mu) = \mu [V_T(\mu)C(T)] Q_T(\mu) = \mu D(T)[I - F(T)G_T(\mu)] p_T(\mu) = G_T(\mu)'z_T(\mu) + Q_T(\mu)'a(T) s_T(\mu) = V_T(\mu)[z_T(\mu) - \mu C(T)a(T)] r_T(\mu) = r_{T-1}(\mu) + e_T'M(T)e_T + \mu [a(T)'D(T)a(T)] - s_T(\mu)'W_T(\mu)s_T(\mu) GFLS Filtered State Estimate Obtained at time T: x_T^{FLS}(\mu,T) = [U_T(\mu)]^{-1}z_T(\mu) GFLS Smoothed State Estimates Obtained at time T: x_t^{FLS}(\mu,T) = s_t(\mu) + G_t(\mu)x_{t+1}^{FLS}(\mu,T), for 0 less than or equal to t, and for t less than T.