22 IMPLICIT NONE
23 INTEGER, intent(in) :: KEEP(500), NRHS, MPG, ICNTL(60)
24 INTEGER, intent(inout):: INFO(80)
25 IF (keep(19).EQ.0.AND.keep(110).EQ.0) THEN
26 IF (keep(111).NE.0) THEN
27 info(1) = -37
28 info(2) = 56
29 IF (keep(110).EQ.0) info(2) = 24
30 IF(mpg.GT.0) THEN
31 WRITE( mpg,'(A)')
32 &'** ERROR : Null space computation requirement'
33 WRITE( mpg,'(A)')
34 &'** not consistent with factorization options'
35 ENDIF
36 GOTO 333
37 ENDIF
38 ENDIF
39 IF (icntl(9).NE.1) THEN
40 IF (keep(111).NE.0) THEN
41 info(1) = -37
42 info(2) = 9
43 IF (mpg.GT.0) THEN
44 WRITE(mpg,'(A)')
45 &'** error icntl(25) incompatible with '
46 WRITE( MPG,'(a)')
47 &'** option transposed system(icntl(9).ne.1) '
48 ENDIF
49 ENDIF
50 GOTO 333
51 ENDIF
52.EQ. IF (KEEP(19)2) THEN
53.NE..AND..EQ. IF ((KEEP(111)0)(KEEP(50)0)) THEN
54 INFO(1) = -37
55 INFO(2) = 0
56.GT. IF (MPG0) THEN
57 WRITE(MPG,'(a)')
58 &'** error icntl(25) incompatible with '
59 WRITE( MPG,'(a)')
60 &'** option rrqr(icnlt(56)=2) and unsym. matrices '
61 ENDIF
62 ENDIF
63 GOTO 333
64 ENDIF
65.eq..AND..NE. IF (KEEP(111)-1NRHSKEEP(112)+KEEP(17))THEN
66 INFO(1)=-32
67 INFO(2)=NRHS
68 GOTO 333
69 ENDIF
70.gt..AND..NE. IF (KEEP(111)0 NRHS 1) THEN
71 INFO(1)=-32
72 INFO(2)=NRHS
73 GOTO 333
74 ENDIF
75.NE..AND..NE. IF (KEEP(248) 0KEEP(111)0) THEN
76.GT. IF (MPG0) THEN
77 WRITE(MPG,'(a)')
78 & ' error: icntl(20) and icntl(30) functionalities ',
79 & ' incompatible with null space'
80 ENDIF
81 INFO(1) = -37
82.NE. IF (KEEP(237)0) THEN
83 INFO(2) = 30
84.GT. IF (MPG0) THEN
85 WRITE(MPG,'(a)')
86 & ' error: icntl(30) functionality ',
87 & ' incompatible with null space'
88 ENDIF
89 ELSE
90.GT. IF (MPG0) THEN
91 WRITE(MPG,'(a)')
92 & ' error: icntl(20) functionality ',
93 & ' incompatible with null space'
94 ENDIF
95 INFO(2) = 20
96 ENDIF
97 GOTO 333
98 ENDIF
99.LT..OR. IF (( KEEP(111) -1 )
100.GT..OR. & (KEEP(111)KEEP(112)+KEEP(17))
101.EQ..AND..EQ. & (KEEP(111) -1 KEEP(112)+KEEP(17)0))
102 & THEN
103 INFO(1)=-36
104 INFO(2)=KEEP(111)
105 GOTO 333
106 ENDIF
107.NE..AND..NE. IF (KEEP(221)0KEEP(111)0) THEN
108 INFO(1)=-37
109 INFO(2)=26
110 GOTO 333
111 ENDIF
112 333 CONTINUE
113 RETURN