TABLE_ORTHONORMALIZE is a FORTRAN90 program which can read in a set of vectors and orthonormalize them.
Caution: it may not be clear from the documentation, but the program implicitly assumes that each vector represents a velocity field, and hence can be thought of as a quantity V(M/2,2), where "M" is the appropriate dimension if we think of the quantity as a vector of scalar values. Moreover, each vector is written to a file as M/2 records of pairs of values.
For instance, the program can read three (or in general N) files, each containing one of the M-dimensional vectors v1, v2 and v3. The program then outputs three new vectors q1, q2 and q3, with the properties that
The algorithm collects the N input vectors vj into an M by N matrix V. It then calls the appropriate LAPACK routines (SGEQRF and SORGQR) to compute the QR factorization:
V = Q * R
and outputs the individual columns of Q as the new vectors
qj.
This routine can be useful as a postprocessing tool for the output from CVT_BASIS for example. However, orthonormalization would probably not be appropriate if CVT_BASIS had done its computations using mass matrix preconditioning. In that case, the output vectors have a special orthogonality property under an L2 inner product, which would be lost if the vectors were processed by this program.
Some effort has been made to relieve the user of the tedious necessity of specifying how many input files there are (the number N), and what their dimensionality is (the number M). It is assumed that the input data files have "consecutive" names, such as file01.txt, file02.txt, ... and so on. This is enough to figure out N. And the program counts the number of lines in the first file, and assumes this value of M may safely be applied to all the files.
LAPACK supplies the routines used to orthonormalize the vectors.
The TABLE format is used for the input to this program.
TABLE_BARPLOT_PPMA is an executable FORTRAN90 program which reads a table file and creates a PPMA bargraph of the data.
TABLE_BORDER is an executable FORTRAN90 program which can be used to add a border (of zero values) to a table file.
TABLE_COLUMNS is an executable FORTRAN90 program which can extract specific columns of data from a table file.
TABLE_COLUMNS_PERMUTE is an executable FORTRAN90 program which permutes the columns of a table file.
TABLE_DELAUNAY is an executable FORTRAN90 program which computes the Delaunay triangulation of a set of points.
TABLE_DIAPHONY is an executable FORTRAN90 program which computes the diaphony of a set of points stored in a table file.
TABLE_HISTOGRAM is an executable FORTRAN90 program which can make a histogram of a set of points stored in a table file.
TABLE_IO is a FORTRAN90 library which supplies the routines used to read the TABLE file.
TABLE_LATINIZE is an executable FORTRAN90 program that reads a file of points and creates a "latinized" version by adjusting the data.
TABLE_MERGE is an executable FORTRAN90 program that reads a file of points, and removes duplicates, and points that are close to each other.
TABLE_QUALITY is an executable FORTRAN90 program that reads a file of points and computes the quality of dispersion.
TABLE_READ is a MATLAB script that can read in a TABLE file.
TABLE_RECORD_MATCH is an executable FORTRAN90 program that can be used to find close records in a table file.
TABLE_SCALE is an executable FORTRAN90 program that can be used to multiply the entries of a table file by a scale vector.
TABLE_SHIFT is an executable FORTRAN90 program that can be used to shift the entries of a table file by a shift vector.
TABLE_STATS is an executable FORTRAN90 program that can read a table file and compute certain statistics.
TABLE_TET_MESH is an executable FORTRAN90 program that can read a table file of 3D data, and compute a tetrahedral mesh.
TABLE_TOP is an executable FORTRAN90 program that can read a table file of M-dimensional data and make a table of plots of all pairs of coordinates.
TABLE_UNBORDER is an executable FORTRAN90 program that can be used to remove the border from a table file.
TABLE_UNIFORM_NOISE is an executable FORTRAN90 program that can be used to add a uniform noise term to the data in a table file.
TABLE_VORONOI is an executable FORTRAN90 program which can be used to compute information about the Voronoi diagram of the points.
A set of sample input files you may copy, with M = 8 and N = 3:
A set of output files corresponding to the sample input files, with M = 8 and N = 3, including:
You can go up one level to the FORTRAN90 source codes.