00001 SUBROUTINE DERRTZ( PATH, NUNIT )
00002
00003
00004
00005
00006
00007
00008 CHARACTER*3 PATH
00009 INTEGER NUNIT
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 INTEGER NMAX
00030 PARAMETER ( NMAX = 2 )
00031
00032
00033 CHARACTER*2 C2
00034 INTEGER INFO
00035
00036
00037 DOUBLE PRECISION A( NMAX, NMAX ), TAU( NMAX ), W( NMAX )
00038
00039
00040 LOGICAL LSAMEN
00041 EXTERNAL LSAMEN
00042
00043
00044 EXTERNAL ALAESM, CHKXER, DTZRQF, DTZRZF
00045
00046
00047 LOGICAL LERR, OK
00048 CHARACTER*32 SRNAMT
00049 INTEGER INFOT, NOUT
00050
00051
00052 COMMON / INFOC / INFOT, NOUT, OK, LERR
00053 COMMON / SRNAMC / SRNAMT
00054
00055
00056
00057 NOUT = NUNIT
00058 WRITE( NOUT, FMT = * )
00059 C2 = PATH( 2: 3 )
00060 A( 1, 1 ) = 1.D+0
00061 A( 1, 2 ) = 2.D+0
00062 A( 2, 2 ) = 3.D+0
00063 A( 2, 1 ) = 4.D+0
00064 W( 1 ) = 0.0D+0
00065 W( 2 ) = 0.0D+0
00066 OK = .TRUE.
00067
00068 IF( LSAMEN( 2, C2, 'TZ' ) ) THEN
00069
00070
00071
00072
00073
00074 SRNAMT = 'DTZRQF'
00075 INFOT = 1
00076 CALL DTZRQF( -1, 0, A, 1, TAU, INFO )
00077 CALL CHKXER( 'DTZRQF', INFOT, NOUT, LERR, OK )
00078 INFOT = 2
00079 CALL DTZRQF( 1, 0, A, 1, TAU, INFO )
00080 CALL CHKXER( 'DTZRQF', INFOT, NOUT, LERR, OK )
00081 INFOT = 4
00082 CALL DTZRQF( 2, 2, A, 1, TAU, INFO )
00083 CALL CHKXER( 'DTZRQF', INFOT, NOUT, LERR, OK )
00084
00085
00086
00087 SRNAMT = 'DTZRZF'
00088 INFOT = 1
00089 CALL DTZRZF( -1, 0, A, 1, TAU, W, 1, INFO )
00090 CALL CHKXER( 'DTZRZF', INFOT, NOUT, LERR, OK )
00091 INFOT = 2
00092 CALL DTZRZF( 1, 0, A, 1, TAU, W, 1, INFO )
00093 CALL CHKXER( 'DTZRZF', INFOT, NOUT, LERR, OK )
00094 INFOT = 4
00095 CALL DTZRZF( 2, 2, A, 1, TAU, W, 1, INFO )
00096 CALL CHKXER( 'DTZRZF', INFOT, NOUT, LERR, OK )
00097 INFOT = 7
00098 CALL DTZRZF( 2, 2, A, 2, TAU, W, 1, INFO )
00099 CALL CHKXER( 'DTZRZF', INFOT, NOUT, LERR, OK )
00100 END IF
00101
00102
00103
00104 CALL ALAESM( PATH, OK, NOUT )
00105
00106 RETURN
00107
00108
00109
00110 END