svecs.f 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. *DECK SVECS
  2. SUBROUTINE SVECS (NCOMP, LNFC, YHP, WORK, IWORK, INHOMO, IFLAG)
  3. C***BEGIN PROLOGUE SVECS
  4. C***SUBSIDIARY
  5. C***PURPOSE Subsidiary to BVSUP
  6. C***LIBRARY SLATEC
  7. C***TYPE SINGLE PRECISION (SVECS-S, DVECS-D)
  8. C***AUTHOR Watts, H. A., (SNLA)
  9. C***DESCRIPTION
  10. C
  11. C This subroutine is used for the special structure of complex valued
  12. C problems. MGSBV is called upon to obtain LNFC vectors from an
  13. C original set of 2*LNFC independent vectors so that the resulting
  14. C LNFC vectors together with their imaginary product or mate vectors
  15. C form an independent set.
  16. C
  17. C***SEE ALSO BVSUP
  18. C***ROUTINES CALLED MGSBV
  19. C***COMMON BLOCKS ML18JR
  20. C***REVISION HISTORY (YYMMDD)
  21. C 750601 DATE WRITTEN
  22. C 890921 Realigned order of variables in certain COMMON blocks.
  23. C (WRB)
  24. C 891214 Prologue converted to Version 4.0 format. (BAB)
  25. C 900328 Added TYPE section. (WRB)
  26. C 910722 Updated AUTHOR section. (ALS)
  27. C***END PROLOGUE SVECS
  28. C
  29. DIMENSION YHP(NCOMP,*),WORK(*),IWORK(*)
  30. COMMON /ML18JR/ AE,RE,TOL,NXPTS,NIC,NOPG,MXNON,NDISK,NTAPE,NEQ,
  31. 1 INDPVT,INTEG,NPS,NTP,NEQIVP,NUMORT,LNFCC,
  32. 2 ICOCO
  33. C***FIRST EXECUTABLE STATEMENT SVECS
  34. IF (LNFC .EQ. 1) GO TO 5
  35. NIV=LNFC
  36. LNFC=2*LNFC
  37. LNFCC=2*LNFCC
  38. KP=LNFC+2+LNFCC
  39. IDP=INDPVT
  40. INDPVT=0
  41. CALL MGSBV(NCOMP,LNFC,YHP,NCOMP,NIV,IFLAG,WORK(1),WORK(KP),
  42. 1 IWORK(1),INHOMO,YHP(1,LNFC+1),WORK(LNFC+2),DUM)
  43. LNFC=LNFC/2
  44. LNFCC=LNFCC/2
  45. INDPVT=IDP
  46. IF (IFLAG .EQ. 0 .AND. NIV .EQ. LNFC) GO TO 5
  47. IFLAG=99
  48. RETURN
  49. 5 DO 6 K=1,NCOMP
  50. 6 YHP(K,LNFC+1)=YHP(K,LNFCC+1)
  51. IFLAG=1
  52. RETURN
  53. END