Doxygen Source Code Documentation
Main Page Alphabetical List Data Structures File List Data Fields Globals Search
eis_rs.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006 #include "f2c.h"
00007
00008 int rs_(integer *nm, integer *n, doublereal *a, doublereal *
00009 w, integer *matz, doublereal *z__, doublereal *fv1, doublereal *fv2,
00010 integer *ierr)
00011 {
00012
00013 integer a_dim1, a_offset, z_dim1, z_offset;
00014
00015
00016 extern int tred1_(integer *, integer *, doublereal *,
00017 doublereal *, doublereal *, doublereal *), tred2_(integer *,
00018 integer *, doublereal *, doublereal *, doublereal *, doublereal *)
00019 , tqlrat_(integer *, doublereal *, doublereal *, integer *),
00020 tql2_(integer *, integer *, doublereal *, doublereal *,
00021 doublereal *, integer *);
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066 --fv2;
00067 --fv1;
00068 z_dim1 = *nm;
00069 z_offset = z_dim1 + 1;
00070 z__ -= z_offset;
00071 --w;
00072 a_dim1 = *nm;
00073 a_offset = a_dim1 + 1;
00074 a -= a_offset;
00075
00076
00077 if (*n <= *nm) {
00078 goto L10;
00079 }
00080 *ierr = *n * 10;
00081 goto L50;
00082
00083 L10:
00084 if (*matz != 0) {
00085 goto L20;
00086 }
00087
00088 tred1_(nm, n, &a[a_offset], &w[1], &fv1[1], &fv2[1]);
00089 tqlrat_(n, &w[1], &fv2[1], ierr);
00090 goto L50;
00091
00092 L20:
00093 tred2_(nm, n, &a[a_offset], &w[1], &fv1[1], &z__[z_offset]);
00094 tql2_(nm, n, &w[1], &fv1[1], &z__[z_offset], ierr);
00095 L50:
00096 return 0;
00097 }
00098