COSAN Model Statement
 COSAN matrix_term < + matrix_term... > ;
where matrix_term represents
matrix_definition < * matrix_definition ... >
and matrix_definition represents
matrix_name (column_number < ,general_form
< ,transformation >> )
The COSAN statement constructs the symmetric matrix model
for the covariance analysis mentioned earlier
(see the section "The Generalized COSAN Model"):

C = F_{1}P_{1}F_{1}' + ... + F_{m}P_{m}F_{m}' ,

F_{k} = F_{k1} ... F_{kn(k)}, and P_{k} = P_{k}' , k = 1, ... ,m
You can specify only one COSAN statement with each PROC CALIS statement.
The COSAN statement contains m matrix_terms corresponding
to the generalized COSAN formula.
The matrix_terms are separated
by plus signs (+) according to the addition of the terms within the model.
Each matrix_term of the COSAN statement contains the
definitions of the first n(k)+1 matrices,
F_{kj} and P_{k}, separated by asterisks (*)
according to the multiplication of the matrices
within the term. The matrices F_{k}' of
the righthandside product are redundant and are not
specified within the COSAN statement.
Each matrix_definition consists of the name of the matrix
(matrix_name),
followed in parentheses by the number of columns of the matrix
(column_number)
and, optionally, one or two matrix properties, separated by
commas, describing the form of the matrix.
The number of rows of the first matrix in each term
is defined by the input correlation
or covariance matrix. You can reorder and reduce the
variables in the input moment matrix using the
VAR statement. The number of rows of the other
matrices within the term is defined by the number of columns
of the preceding matrix.
The first matrix property describes the general form of
the matrix in the model. You can choose one of the following
specifications of the first matrix property.
The default first matrix property is GEN.
 Code
 Description
 IDE
 specifies an identity matrix; if the matrix is not square,
this specification describes an identity submatrix followed
by a rectangular zero submatrix.
 ZID
 specifies an identity matrix; if the matrix is not square,
this specification describes a rectangular zero submatrix followed
by an identity submatrix.
 DIA
 specifies a diagonal matrix; if the matrix is not square,
this specification
describes a diagonal submatrix followed by a rectangular
zero submatrix.
 ZDI
 specifies a diagonal matrix; if the matrix is not square,
this specification describes a rectangular zero submatrix
followed by a diagonal submatrix.
 LOW
 specifies a lower triangular matrix; the matrix can be rectangular.
 UPP
 specifies an upper triangular matrix; the matrix can be rectangular.
 SYM
 specifies a symmetric matrix; the matrix cannot be rectangular.
 GEN
 specifies a general rectangular matrix (default).
The second matrix property describes the kind of
inverse matrix transformation. If the second matrix
property is omitted, no transformation is applied to the matrix.
 Code
 Description
 INV
 uses the inverse of the matrix.
 IMI
 uses the inverse of the difference between the identity and the matrix.
You cannot specify a nonsquare parameter matrix
as an INV or IMI model matrix. Specifying a matrix of
type DIA, ZDI, UPP, LOW, or GEN is not necessary if you do not
use the unspecified location list in the corresponding
MATRIX statements. After PROC CALIS processes the corresponding
MATRIX statements, the matrix type DIA, ZDI, UPP, LOW,
or GEN is recognized from the pattern of possibly nonzero elements.
If you do not specify the first matrix
property and you use the unspecified location list in a
corresponding MATRIX statement, the matrix is recognized
as a GEN matrix.
You can also generate an IDE or ZID matrix
by specifying a DIA, ZDI, or IMI matrix and by using MATRIX
statements that define the pattern structure. However, PROC CALIS
would be unable to take advantage of the fast algorithms that are
available for IDE and ZID matrices in this case.
For example, to specify a secondorder factor analysis model

S = F_{1} F_{2} P_{2} F_{2}' F_{1}' + F_{1} U_{2}^{2} F_{1}' + U_{1}^{2}
with m_{1}=3 firstorder factors and m_{2}=2 secondorder factors
and with n=9 variables, you can use the following COSAN statement:
cosan F1(3) * F2(2) * P2(2,SYM)+F1(3) * U2(3,DIA) * I1(3,IDE)
+U1(9,DIA) * I2(9,IDE)
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.