**r8col**,
a MATLAB code which
contains utility routines for R8COL's, that is,
double precision real MxN arrays, considered as N column vectors,
each of length M. The data may be thought of as a matrix of
multiple columns, and many operations will be carried out columnwise.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

**r8col** is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

r8crs, a MATLAB code which contains linear algebra routines for r8crs matrices (real, 64 bit, Compressed Row Storage (CRS) format).

r8ge, a MATLAB code which contains linear algebra routines for R8GE matrices (real, 64 bit, General format).

r8row, a MATLAB code which contains utility routines for R8ROW's, that is, double precision real MxN arrays, considered as M row vectors, each of length N. The data may be thought of as a matrix of multiple rows, and many operations will be carried out rowwise.

- i4_log_10.m, returns the integer part of the logarithm base 10 of an integer;
- i4vec_indicator1.m, sets an I4VEC to the indicator vector.
- i4vec_print.m, prints an I4VEC;
- i4vec_transpose_print.m, prints an I4VEC "transposed";
- i4vec_uniform_ab.m, returns a pseudorandom I4VEC in a given range;
- perm1_check.m, checks that a vector represents a 1-based permutation;
- r8col_compare.m, compares two columns of an R8COL;
- r8col_duplicates.m, generates an R8COL with some duplicate columns;
- r8col_find.m, seeks a column of an R8COL equal to a given vector;
- r8col_first_index.m, indexes the first occurrence of values in an R8COL.
- r8col_flip.m, flips each column of an R8COL;
- r8col_indicator.m, returns the indicator matrix as an R8COL.
- r8col_insert.m, inserts a column into an R8COL;
- r8col_insert_test.m
- r8col_max.m, computes the column maximums of an R8COL;
- r8col_max_one.m, rescales an R8COL so each column maximum is 1;
- r8col_mean.m, computes the column means of an R8COL;
- r8col_min.m, computes the column minimums of an R8COL;
- r8col_normalize_li.m, normalizes the columns of an R8COL with respect to the infinity norm;
- r8col_part_quick_a.m, partitions the columns of an R8COL;
- r8col_permute_a.m, permutes the columns of an R8COL;
- r8col_print.m, prints an R8COL;
- r8col_print_some.m, prints some of an R8COL;
- r8col_separation.m, computes the separation between columns of an R8COL.
- r8col_sort_heap_a.m, ascending heapsorts the columns of an R8COL;
- r8col_sort_heap_index_a.m, computes an index vector to ascending sort an R8COL;
- r8col_sort_quick_a.m, ascending quicksorts the columns of an R8COL;
- r8col_sorted_tol_undex.m, returns tolerably unique indexes for a sorted R8COL.
- r8col_sorted_tol_unique.m, returns the tolerably unique columns of a sorted R8COL;
- r8col_sorted_tol_unique_count.m, counts the tolerably unique columns of a sorted R8COL;
- r8col_sorted_undex.m, returns unique indexes for a sorted R8COL.
- r8col_sorted_unique.m, returns the unique columns of a sorted R8COL;
- r8col_sorted_unique_count.m, counts the unique columns of a sorted R8COL;
- r8col_sortr_a.m, ascending sorts one column of an R8COL, and adjusts rows;
- r8col_sum.m, computes the column sums of an R8COL;
- r8col_swap.m, swaps two columns of an R8COL;
- r8col_to_r8vec.m, converts an R8COL to an R8VEC;
- r8col_tol_undex.m, indexes tolerably unique entries in an R8COL.
- r8col_tol_unique_count.m, counts tolerably unique entries in an R8COL;
- r8col_tol_unique_index.m, indexes tolerably unique entries in an R8COL.
- r8col_transpose_print.m, prints the transpose of an R8COL;
- r8col_transpose_print_some.m, prints some of the transpose of an R8COL;
- r8col_undex.m, indexes unique entries in an R8COL.
- r8col_uniform_ab.m, fills an R8COL with scaled pseudorandom numbers.
- r8col_uniform_abvec.m, fills an R8COL with scaled pseudorandom numbers.
- r8col_unique_count.m, counts unique entries in an R8COL;
- r8col_unique_index.m, indexes unique entries in an R8COL.
- r8col_variance.m, computes the variances of an R8COL;
- r8vec_compare.m, compares the order of two R8VEC's;
- r8vec_eq.m, is true if two R8VEC's are equal;
- r8vec_gt.m, is true if one R8VEC is greater than another;
- r8vec_lt.m, is true if one R8VEC is less than another;
- r8vec_print.m, prints an R8VEC;
- sort_heap_external.m, externally sorts a list of values into ascending order;