Ejemplo n.º 1
0
        public static void sorthog_float(float *vec,              /* vector to be orthogonalized */
                                         int n,                   /* length of the columns of orth */
                                         orthlink_float **solist, /* set of vecs to orth. against */
                                         int ngood                /* number of vecs in solist */
                                         )
        {
            float  alpha;
            float *dir;
            int    i;

            for (i = 1; i <= ngood; i++)
            {
                dir   = (solist[i])->vec;
                alpha = (float)(-dot_float(vec, 1, n, dir) / dot_float(dir, 1, n, dir));
                scadd_float(vec, 1, n, alpha, dir);
            }
        }
Ejemplo n.º 2
0
/* Print out the orthogonalization set, float version */
        public static void solistout_float(orthlink_float **solist, /* vector of pntrs to orthlnks */
                                           int ngood,               /* number of good vecs on list */
                                           int j                    /* current number of Lanczos steps */
                                           )
        {
            int i; /* index */

            for (i = 1; i <= ngood; i++)
            {
                if ((solist[i])->index <= (j / 2))
                {
                    Trace.Write(".");
                }
                else
                {
                    Trace.Write("+");
                }
            }

            Trace.WriteLine($"{ngood:d}");
        }