2050 lines
48 KiB
Text
Generated
2050 lines
48 KiB
Text
Generated
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'SUBROUTINE ' Keyword
|
|
'AHCON' Name
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'N' Name
|
|
',' Punctuation
|
|
'M' Name
|
|
',' Punctuation
|
|
'A' Name
|
|
',' Punctuation
|
|
'B' Name
|
|
',' Punctuation
|
|
'OLEVR' Name
|
|
',' Punctuation
|
|
'OLEVI' Name
|
|
',' Punctuation
|
|
'CLEVR' Name
|
|
',' Punctuation
|
|
'CLEVI' Name
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'TRUNCATED' Comment
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
'&' Generic.Strong
|
|
' ' Text.Whitespace
|
|
'SCR1' Name
|
|
',' Punctuation
|
|
'SCR2' Name
|
|
',' Punctuation
|
|
'IPVT' Name
|
|
',' Punctuation
|
|
'JPVT' Name
|
|
',' Punctuation
|
|
'CON' Name
|
|
',' Punctuation
|
|
'WORK' Name
|
|
',' Punctuation
|
|
'ISEED' Name
|
|
',' Punctuation
|
|
'IERR' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'!Test' Comment
|
|
' inline comment' Comment
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C FUNCTION:\n' Comment
|
|
|
|
'CF\n' Comment
|
|
|
|
'CF Determines whether the pair (A,B) is controllable and flags\n' Comment
|
|
|
|
'CF the eigenvalues corresponding to uncontrollable modes.\n' Comment
|
|
|
|
'CF this ad-hoc controllability calculation uses a random matrix F\n' Comment
|
|
|
|
'CF and computes whether eigenvalues move from A to the controlled\n' Comment
|
|
|
|
'CF system A+B*F.\n' Comment
|
|
|
|
'CF\n' Comment
|
|
|
|
'C USAGE:\n' Comment
|
|
|
|
'CU\n' Comment
|
|
|
|
'CU CALL AHCON (SIZE,N,M,A,B,OLEVR,OLEVI,CLEVR,CLEVI,SCR1,SCR2,IPVT,\n' Comment
|
|
|
|
'CU JPVT,CON,WORK,ISEED,IERR)\n' Comment
|
|
|
|
'CU\n' Comment
|
|
|
|
'CU since AHCON generates different random F matrices for each\n' Comment
|
|
|
|
'CU call, as long as iseed is not re-initialized by the main\n' Comment
|
|
|
|
'CU program, and since this code has the potential to be fooled\n' Comment
|
|
|
|
'CU by extremely ill-conditioned problems, the cautious user\n' Comment
|
|
|
|
'CU may wish to call it multiple times and rely, perhaps, on\n' Comment
|
|
|
|
'CU a 2-of-3 vote. We believe, but have not proved, that any\n' Comment
|
|
|
|
'CU errors this routine may produce are conservative--i.e., that\n' Comment
|
|
|
|
'CU it may flag a controllable mode as uncontrollable, but\n' Comment
|
|
|
|
'CU not vice-versa.\n' Comment
|
|
|
|
'CU\n' Comment
|
|
|
|
'C INPUTS:\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI SIZE integer - first dimension of all 2-d arrays.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI N integer - number of states.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI M integer - number of inputs.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI A double precision - SIZE by N array containing the\n' Comment
|
|
|
|
'CI N by N system dynamics matrix A.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI B double precision - SIZE by M array containing the\n' Comment
|
|
|
|
'CI N by M system input matrix B.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'CI ISEED initial seed for random number generator; if ISEED=0,\n' Comment
|
|
|
|
'CI then AHCON will set ISEED to a legal value.\n' Comment
|
|
|
|
'CI\n' Comment
|
|
|
|
'C OUTPUTS:\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO OLEVR double precision - N dimensional vector containing the\n' Comment
|
|
|
|
'CO real parts of the eigenvalues of A.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO OLEVI double precision - N dimensional vector containing the\n' Comment
|
|
|
|
'CO imaginary parts of the eigenvalues of A.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO CLEVR double precision - N dimensional vector work space\n' Comment
|
|
|
|
'CO containing the real parts of the eigenvalues of A+B*F,\n' Comment
|
|
|
|
'CO where F is the random matrix.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO CLEVI double precision - N dimensional vector work space\n' Comment
|
|
|
|
'CO containing the imaginary parts of the eigenvalues of\n' Comment
|
|
|
|
'CO A+B*F, where F is the random matrix.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO SCR1 double precision - N dimensional vector containing the\n' Comment
|
|
|
|
'CO magnitudes of the corresponding eigenvalues of A.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO SCR2 double precision - N dimensional vector containing the\n' Comment
|
|
|
|
'CO damping factors of the corresponding eigenvalues of A.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO IPVT integer - N dimensional vector; contains the row pivots\n' Comment
|
|
|
|
'CO used in finding the nearest neighbor eigenvalues between\n' Comment
|
|
|
|
'CO those of A and of A+B*F. The IPVT(1)th eigenvalue of\n' Comment
|
|
|
|
'CO A and the JPVT(1)th eigenvalue of A+B*F are the closest\n' Comment
|
|
|
|
'CO pair.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO JPVT integer - N dimensional vector; contains the column\n' Comment
|
|
|
|
'CO pivots used in finding the nearest neighbor eigenvalues;\n' Comment
|
|
|
|
'CO see IPVT.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO CON logical - N dimensional vector; flagging the uncontrollable\n' Comment
|
|
|
|
'CO modes of the system. CON(I)=.TRUE. implies the\n' Comment
|
|
|
|
'CO eigenvalue of A given by DCMPLX(OLEVR(IPVT(I)),OLEVI(IPVT(i)))\n' Comment
|
|
|
|
'CO corresponds to a controllable mode; CON(I)=.FALSE.\n' Comment
|
|
|
|
'CO implies an uncontrollable mode for that eigenvalue.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO WORK double precision - SIZE by N dimensional array containing\n' Comment
|
|
|
|
'CO an N by N matrix. WORK(I,J) is the distance between\n' Comment
|
|
|
|
'CO the open loop eigenvalue given by DCMPLX(OLEVR(I),OLEVI(I))\n' Comment
|
|
|
|
'CO and the closed loop eigenvalue of A+B*F given by\n' Comment
|
|
|
|
'CO DCMPLX(CLEVR(J),CLEVI(J)).\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'CO IERR integer - IERR=0 indicates normal return; a non-zero\n' Comment
|
|
|
|
'CO value indicates trouble in the eigenvalue calculation.\n' Comment
|
|
|
|
'CO see the EISPACK and EIGEN documentation for details.\n' Comment
|
|
|
|
'CO\n' Comment
|
|
|
|
'C ALGORITHM:\n' Comment
|
|
|
|
'CA\n' Comment
|
|
|
|
'CA Calculate eigenvalues of A and of A+B*F for a randomly\n' Comment
|
|
|
|
'CA generated F, and see which ones change. Use a full pivot\n' Comment
|
|
|
|
'CA search through a matrix of euclidean distance measures\n' Comment
|
|
|
|
'CA between each pair of eigenvalues from (A,A+BF) to\n' Comment
|
|
|
|
'CA determine the closest pairs.\n' Comment
|
|
|
|
'CA\n' Comment
|
|
|
|
'C MACHINE DEPENDENCIES:\n' Comment
|
|
|
|
'CM\n' Comment
|
|
|
|
'CM NONE\n' Comment
|
|
|
|
'CM\n' Comment
|
|
|
|
'C HISTORY:\n' Comment
|
|
|
|
'CH\n' Comment
|
|
|
|
'CH written by: Birdwell & Laub\n' Comment
|
|
|
|
'CH date: May 18, 1985\n' Comment
|
|
|
|
'CH current version: 1.0\n' Comment
|
|
|
|
'CH modifications: made machine independent and modified for\n' Comment
|
|
|
|
'CH f77:bb:8-86.\n' Comment
|
|
|
|
'CH changed cmplx -> dcmplx: 7/27/88 jdb\n' Comment
|
|
|
|
'CH\n' Comment
|
|
|
|
'C ROUTINES CALLED:\n' Comment
|
|
|
|
'CC\n' Comment
|
|
|
|
'CC EIGEN,RAND\n' Comment
|
|
|
|
'CC\n' Comment
|
|
|
|
'C COMMON MEMORY USED:\n' Comment
|
|
|
|
'CM\n' Comment
|
|
|
|
'CM none\n' Comment
|
|
|
|
'CM\n' Comment
|
|
|
|
'C----------------------------------------------------------------------\n' Comment
|
|
|
|
'C written for: The CASCADE Project\n' Comment
|
|
|
|
'C Oak Ridge National Laboratory\n' Comment
|
|
|
|
'C U.S. Department of Energy\n' Comment
|
|
|
|
'C contract number DE-AC05-840R21400\n' Comment
|
|
|
|
'C subcontract number 37B-7685 S13\n' Comment
|
|
|
|
'C organization: The University of Tennessee\n' Comment
|
|
|
|
'C----------------------------------------------------------------------\n' Comment
|
|
|
|
'C THIS SOFTWARE IS IN THE PUBLIC DOMAIN\n' Comment
|
|
|
|
'C NO RESTRICTIONS ON ITS USE ARE IMPLIED\n' Comment
|
|
|
|
'C----------------------------------------------------------------------\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
'C--global variables:\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'SIZE' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'M' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'1' Literal.Number.Integer
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'1' Literal.Number.Integer
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'IERR' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'A' Name
|
|
'(' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'B' Name
|
|
'(' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'M' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'CLEVR' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'CLEVI' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'OLEVR' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'OLEVI' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'SCR1' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'SCR2' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'LOGICAL ' Keyword.Type
|
|
'CON' Name
|
|
'(' Punctuation
|
|
'N' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--local variables:\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'ISEED' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'ITEMP' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'K1' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'K2' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'I' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'J' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'K' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'IMAX' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'INTEGER ' Keyword.Type
|
|
'JMAX' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'VALUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'EPS' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'EPS1' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'TEMP' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'CURR' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'ANORM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'BNORM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'COLNRM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE PRECISION ' Keyword.Type
|
|
'RNDMNO' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DOUBLE COMPLEX\t\t' Keyword.Type
|
|
'DCMPLX' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute machine epsilon\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
'100 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
' ' Text.Whitespace
|
|
'/' Operator
|
|
' ' Text.Whitespace
|
|
'2.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'EPS1' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1.D0' Literal.Number.Float
|
|
' ' Text.Whitespace
|
|
'+' Operator
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'EPS1' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'NE' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'1.D0' Literal.Number.Float
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'GO' Keyword
|
|
' ' Text.Whitespace
|
|
'TO' Keyword
|
|
' ' Text.Whitespace
|
|
'100' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'EPS' Name
|
|
' ' Text.Whitespace
|
|
'*' Operator
|
|
' ' Text.Whitespace
|
|
'2.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute the l-1 norm of a\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'0.0D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'120' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'0.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'110' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'+' Operator
|
|
' ' Text.Whitespace
|
|
'ABS' Name.Builtin
|
|
'(' Punctuation
|
|
'A' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'110 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'GT' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'ANORM' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'120 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute the l-1 norm of b\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'BNORM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'0.0D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'140' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'M' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'0.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'130' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'+' Operator
|
|
' ' Text.Whitespace
|
|
'ABS' Name.Builtin
|
|
'(' Punctuation
|
|
'B' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'130 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'COLNRM' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'GT' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'BNORM' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'BNORM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'COLNRM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'140 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute a + b * f\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'160' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'150' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'A' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'150 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'160 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--the elements of f are random with uniform distribution\n' Comment
|
|
|
|
'C--from -anorm/bnorm to +anorm/bnorm\n' Comment
|
|
|
|
'C--note that f is not explicitly stored as a matrix\n' Comment
|
|
|
|
'C--pathalogical floating point notes: the if (bnorm .gt. 0.d0)\n' Comment
|
|
|
|
'C--test should actually be if (bnorm .gt. dsmall), where dsmall\n' Comment
|
|
|
|
'C--is the smallest representable number whose reciprocal does\n' Comment
|
|
|
|
'C--not generate an overflow or loss of precision.\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'ISEED' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'EQ' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'0' Literal.Number.Integer
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'ISEED' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'86345823' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'EQ' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'0.D0' Literal.Number.Float
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'BNORM' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'GT' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'0.D0' Literal.Number.Float
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'2.D0' Literal.Number.Float
|
|
' ' Text.Whitespace
|
|
'*' Operator
|
|
' ' Text.Whitespace
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'/' Operator
|
|
' ' Text.Whitespace
|
|
'BNORM' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'ELSE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'2.D0' Literal.Number.Float
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'END ' Keyword
|
|
'IF' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'190' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'K' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'M' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'180' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CALL ' Keyword
|
|
'RAND' Name.Builtin
|
|
'(' Punctuation
|
|
'ISEED' Name
|
|
',' Punctuation
|
|
'ISEED' Name
|
|
',' Punctuation
|
|
'RNDMNO' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'VALUE' Keyword
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'RNDMNO' Name
|
|
' ' Text.Whitespace
|
|
'-' Operator
|
|
' ' Text.Whitespace
|
|
'0.5D0' Literal.Number.Float
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'*' Operator
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'170' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'+' Operator
|
|
' ' Text.Whitespace
|
|
'B' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'K' Name
|
|
')' Punctuation
|
|
'*' Operator
|
|
'VALUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'170 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'180 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'190 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute the eigenvalues of a + b*f, and several other things\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CALL ' Keyword
|
|
'EIGEN' Name
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'0' Literal.Number.Integer
|
|
',' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'N' Name
|
|
',' Punctuation
|
|
'WORK' Name
|
|
',' Punctuation
|
|
'CLEVR' Name
|
|
',' Punctuation
|
|
'CLEVI' Name
|
|
',' Punctuation
|
|
'WORK' Name
|
|
',' Punctuation
|
|
'SCR1' Name
|
|
',' Punctuation
|
|
'SCR2' Name
|
|
',' Punctuation
|
|
'IERR' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'IERR' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'NE' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'0' Literal.Number.Integer
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'RETURN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--copy a so it is not destroyed\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'210' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'200' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'A' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'200 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'210 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--compute the eigenvalues of a, and several other things\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CALL ' Keyword
|
|
'EIGEN' Name
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'0' Literal.Number.Integer
|
|
',' Punctuation
|
|
'SIZE' Name
|
|
',' Punctuation
|
|
'N' Name
|
|
',' Punctuation
|
|
'WORK' Name
|
|
',' Punctuation
|
|
'OLEVR' Name
|
|
',' Punctuation
|
|
'OLEVI' Name
|
|
',' Punctuation
|
|
'WORK' Name
|
|
',' Punctuation
|
|
'SCR1' Name
|
|
',' Punctuation
|
|
'SCR2' Name
|
|
',' Punctuation
|
|
'IERR' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'IERR' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'NE' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'0' Literal.Number.Integer
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'RETURN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--form the matrix of distances between eigenvalues of a and\n' Comment
|
|
|
|
'C--EIGENVALUES OF A+B*F\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'230' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'J' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'220' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
',' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
'&' Generic.Strong
|
|
' ' Text.Whitespace
|
|
'ABS' Name.Builtin
|
|
'(' Punctuation
|
|
'DCMPLX' Name
|
|
'(' Punctuation
|
|
'OLEVR' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'OLEVI' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'-' Operator
|
|
'DCMPLX' Name
|
|
'(' Punctuation
|
|
'CLEVR' Name
|
|
'(' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'CLEVI' Name
|
|
'(' Punctuation
|
|
'J' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'220 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'230 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--initialize row and column pivots\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'240' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'240 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--a little bit messy to avoid swapping columns and\n' Comment
|
|
|
|
'C--rows of work\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'270' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'-' Operator
|
|
'1' Literal.Number.Integer
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--find the minimum element of each lower right square\n' Comment
|
|
|
|
'C--submatrix of work, for submatrices of size n x n\n' Comment
|
|
|
|
'C--through 2 x 2\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CURR' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IMAX' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'JMAX' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'CURR' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--find the minimum element\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'260' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'K1' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'250' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'K2' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'K1' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'K2' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'LT' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'TEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'K1' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'K2' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IMAX' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'K1' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'JMAX' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'K2' Name
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'END ' Keyword
|
|
'IF' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'250 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'260 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--update row and column pivots for indirect addressing of work\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'ITEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'IMAX' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'IMAX' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'ITEMP' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'ITEMP' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'JMAX' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'JMAX' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'ITEMP' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--do next submatrix\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
'270 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--this threshold for determining when an eigenvalue has\n' Comment
|
|
|
|
'C--not moved, and is therefore uncontrollable, is critical,\n' Comment
|
|
|
|
'C--and may require future changes with more experience.\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'EPS1' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'SQRT' Name.Builtin
|
|
'(' Punctuation
|
|
'EPS' Name
|
|
')' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--for each eigenvalue pair, decide if it is controllable\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'DO ' Keyword
|
|
'280' Literal.Number.Integer
|
|
' ' Text.Whitespace
|
|
'I' Name
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'1' Literal.Number.Integer
|
|
',' Punctuation
|
|
' ' Text.Whitespace
|
|
'N' Name
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--note that we are working with the "pivoted" work matrix\n' Comment
|
|
|
|
'C--and are looking at its diagonal elements\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'IF' Keyword
|
|
' ' Text.Whitespace
|
|
'(' Punctuation
|
|
'WORK' Name
|
|
'(' Punctuation
|
|
'IPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
',' Punctuation
|
|
'JPVT' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
')' Punctuation
|
|
'/' Operator
|
|
'ANORM' Name
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'LE' Name
|
|
'.' Punctuation
|
|
' ' Text.Whitespace
|
|
'EPS1' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'THEN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CON' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'FALSE' Name
|
|
'.' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'ELSE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CON' Name
|
|
'(' Punctuation
|
|
'I' Name
|
|
')' Punctuation
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'.' Punctuation
|
|
'TRUE' Name
|
|
'.' Punctuation
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'END ' Keyword
|
|
'IF' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'280 ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'CONTINUE' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
'C\n' Comment
|
|
|
|
'C--finally!\n' Comment
|
|
|
|
'C\n' Comment
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'RETURN' Keyword
|
|
'\n' Text.Whitespace
|
|
|
|
' ' Name.Label
|
|
' ' Text
|
|
' ' Text.Whitespace
|
|
'END' Keyword
|
|
'\n' Text.Whitespace
|