link matrix2
November 1, 2005; Arthur C. Eschenlauer
This file is in the public domain.
transpose_matrix(M) : L - produces a matrix R that is the transpose of M: R[j][i] = M[i][j] numeric_matrix(M) : L - produces a matrix R that is a copy of M except each element has been subjected to the numeric(x) function; if numeric fails for any element, numeric_matrix fails: R[i][j] = numeric(M[i][j]) scale_matrix(M,mult) : L - produces a new matrix R each of whose elements is mult times larger than its peer in M: R[i][j] := mult * M[i][j] scale_matrix(mult,M) : L - is a synonym for scale_matrix(M,mult). floor_matrix(M,min) : L - produces a matrix R that is a copy of M except each element is increased to min if necessary: R[i][j] := min <= M[i][j] | min floor_matrix(min,M) : L - is a synonym for floor_matrix(M,min). ceil_matrix(M,max) : L - produces a matrix R that is a copy of M except each element is increased to max if necessary: R[i][j] := max <= M[i][j] | max ceil_matrix(max,M) : L - is a synonym for ceil_matrix(M,max). sumsquares_matrix(M) : n - produces the sum of the squares of all terms in a matrix sum(for every i,j) (M[i][j])^2 sumsquaresdiff_matrix(M1,M2) : n - produces the sum of the squares of all terms in the difference between two matrices sum(for every i,j) (M1[i][j] - M2[i][j])^2 normalize_rows(M,t) : L - produce a row-scaled matrix such that, for every row i, the sum of the values in all columns is 1 R[i][j] /:= sum(for every J) M[i][J] t is a required minimum magnitude for row sums to avoid divide-by-zero errors normalize_rows(t,M) : L - synonym for normalize_rows(M,t) normalize_columns(M,t) : L - produce a column-scaled matrix such that, for every column i, the sum of the values in all rows is 1 such that their sum is 1 R[i][j] /:= sum(for every I) M[I][j] t is a required minimum magnitude for column sums to avoid divide-by-zero errors normalize_columns(t,M) : L - synonym for normalize_columns(M,t) sprintf_matrix(f,M) - produces a matrix R of strings whose elements are formatted (by the IPL sprintf routine) from the elements of M: R[i][j] := sprintf(f,M[i,j])