All(A, ...)
Returns
1 if all matrix arguments are nonzero; 0 otherwise.
Any(A, ...)
Returns
1 if one or more elements of one or more matrices are nonzero; 0 otherwise.
B Spline Coef(x, Internal Knot Grid, <degree=3>, <Knot End Points=min(x)||max(x)>)
Description
Finds the matrix of B-spline coefficients for the data in the x argument.
Returns
The matrix of B-spline basis coefficients. This matrix can be used as a design matrix in a linear model. The first column of the matrix contains an intercept term.
Arguments
x
A row or column vector that contains the data.
Internal Knot Grid
Either a single number that designates the number of desired knot points based on percentiles of x or a vector of values that designate the internal knot points. The number of internal knots must be greater than zero and less than or equal to the number of unique elements in x minus two.
degree
A number that indicates the degree of the B-splines. Defaults to 3.
Knot End Points
A 2x1 matrix that designates the lower and upper knot points. If this argument is not specified, the default lower and upper knot points are the minimum and maximum values of x, respectively.
Notes
This function is used in column formulas created by the Functional Data Explorer platform.
CDF(Y)
Description
Returns values of the empirical cumulative probability distribution function for Y, which can be a vector or a list. Cumulative probability is the proportion of data values less than or equal to the value of QuantVec.
Syntax
{QuantVec, CumProbVec} = CDF(YVec)
Chol Update(L, V, C)
Description
If L is the Cholesky root of an nxn matrix A, then after calling cholUpdate L is replaced with the Cholesky root of A+V*C*V' where C is an mxm symmetric matrix and V is an n*m matrix.
Cholesky(A)
Description
Finds the lower Cholesky root (L) of a positive semi-definitive matrix, L*L' = A.
Returns
L (the Cholesky root).
Arguments
A
a symmetric matrix.
Correlation(matrix, < <<"Pairwise">, < <<"Shrink">, < <<Freq(vector)>, < <<Weight(vector)>)
Description
Calculates the correlation matrix of the data in the matrix argument.
Returns
The correlation matrix for the specified matrix.
Argument
matrix
A matrix that contains the data. If the data has n rows and m columns, the result is an m-by-m matrix.
"Pairwise"
Uses the pairwise method for missing values rather than the row-wise method.
"Shrink"
Performs the Schafer-Strimmer shrinkage estimate.
<<Freq(vector)
A vector that specifies frequencies for the rows of the matrix argument.
<<Weight(vector)
A vector that specifies weights for the rows of the matrix argument.
Notes
By default, rows are discarded if they contain missing values. If the "Pairwise" option is specified, all pairs of nonmissing values are used in the correlation matrix calculation.
This function uses multithreading if available, so it is recommended for large problems with many rows.
When a column is constant, the correlations for it are 0, and the diagonal element is also 0.
Covariance(matrix, < <<"Pairwise">, < <<"Shrink">, < <<Freq(vector)>, < <<Weight(vector)>)
Description
Calculates the covariance matrix of the data in the matrix argument.
Returns
The covariance matrix for the specified matrix.
Argument
matrix
A matrix that contains the data. If the data has n rows and m columns, the result is an m-by-m matrix.
"Pairwise"
Uses the pairwise method for missing values rather than the row-wise method.
"Shrink"
Performs the Schafer-Strimmer shrinkage estimate.
<<Freq(vector)
A vector that specifies frequencies for the rows of the matrix argument.
<<Weight(vector)
A vector that specifies weights for the rows of the matrix argument.
Notes
By default, rows are discarded if they contain missing values. If the "Pairwise" option is specified, all pairs of nonmissing values are used in the covariance matrix calculation.
This function uses multithreading if available, so it is recommended for large problems with many rows.
Design(vector, < levelsList | <<levels, <<ElseMissing >)
Description
Creates a design matrix that contains a column of 1s and 0s for each unique value of a vector of values.
Returns
A design matrix with a column of 1s and 0s for each unique value of the argument or a list that contains the design matrix and a list of levels.
Argument
vector
A vector.
levelsList
An optional list or matrix argument that specifies the levels in the returned matrix.
<<levels
An optional argument that changes the return value to a list that contains the design matrix and a list of the levels.
<<ElseMissing
An optional argument that changes the handling of values in the vector argument that do not appear in the levelsList argument. If this argument is specified, missing values are placed in the design matrix. Otherwise, 0s are placed in the design matrix.
Notes
Missing values in the levelsList argument are not ignored. For example:
Show( Design ( ., [. 0 1] ),
Design( 0, [. 0 1] ),
Design( 1, [. 0 1] ),
Design( [0 0 1 . 1], [. 0 1] ),
Design( {0, 0, 1, ., 1}, [. 0 1] ) );
Design(., [. 0 1]) = [1 0 0];
Design(0, [. 0 1]) = [0 1 0];
Design(1, [. 0 1]) = [0 0 1];
Design([0 0 1 . 1], [. 0 1]) =
[ 0 1 0,
0 1 0,
0 0 1,
1 0 0,
0 0 1];
Design({0, 0, 1, ., 1}, [. 0 1]) =
[ 0 1 0,
0 1 0,
0 0 1,
1 0 0,
0 0 1];
Design Last(vector, < levelsList, <<ElseMissing >)
Description
Creates a design matrix that contains a column of 1s and 0s for all but the last of the unique values of the argument. The last level is coded as a row of 0s.
Returns
A full-rank design matrix or a list that contains the design matrix and a list of levels.
Arguments
vector
A vector.
levelsList
An optional list or matrix argument that specifies the levels in the returned matrix. If this argument is specified, the last level in this list or matrix is treated as the last level in the design matrix. Otherwise, the last level is defined as the largest value in the vector argument.
<<ElseMissing
An optional argument that changes the handling of values in the vector argument that do not appear in the levelsList argument. If this argument is specified, missing values are placed in the design matrix. Otherwise, 0s are placed in the design matrix.
Design Nom(vector, < levelsList | <<levels, <<ElseMissing >)
DesignF(vector, < levelsList | <<levels, <<ElseMissing >)
Description
Creates a design matrix that contains a column of 1s and 0s for all but the last of the unique values of the argument. The last level is coded as a row of -1s.
Returns
A full-rank design matrix or a list that contains the design matrix and a list of levels.
Argument
vector
A vector.
levelsList
An optional list or matrix argument that specifies the levels in the returned matrix. If this argument is specified, the last level in this list or matrix is treated as the last level in the design matrix. Otherwise, the last level is defined as the largest value in the vector argument.
<<levels
An optional argument that changes the return value to a list that contains the design matrix and a list of levels.
<<ElseMissing
An optional argument that changes the handling of values in the vector argument that do not appear in the levelsList argument. If this argument is specified, missing values are placed in the design matrix. Otherwise, 0s are placed in the design matrix.
Notes
Missing values in the levelsList argument are not ignored. For example:
Show( Design Nom( ., [. 0 1] ),
Design Nom( 0, [. 0 1] ),
Design Nom( 1, [. 0 1] ),
Design Nom( [0 0 1 . 1], [. 0 1] ),
Design Nom( {0, 0, 1, ., 1}, [. 0 1] ) );
Design Nom(., [. 0 1]) = [1 0];
Design Nom(0, [. 0 1]) = [0 1];
Design Nom(1, [. 0 1]) = [-1 -1];
Design Nom([0 0 1 . 1], [. 0 1]) = [0 1, 0 1, -1 -1, 1 0, -1 -1];
Design Nom({0, 0, 1, ., 1}, [. 0 1]) = [0 1, 0 1, -1 -1, 1 0, -1 -1];
Design Ord(vector, < levelsList | <<levels, <<ElseMissing >)
Description
Creates a design matrix that contains a column for all but the last of the unique values of the argument. The first level is coded as a row of 0s. Each subsequent (nth) level in the levelsList argument is coded as a row of (n-1) 1s and the rest 0s.
Returns
A full-rank design matrix or a list that contains the design matrix and a list of levels.
Argument
vector
A vector.
levelsList
An optional list or matrix argument that specifies the levels in the returned matrix.
<<levels
An optional argument that changes the return value to a list that contains the design matrix and a list of levels.
<<ElseMissing
An optional argument that changes the handling of values in the vector argument that do not appear in the levelsList argument. If this argument is specified, missing values are placed in the design matrix. Otherwise, 0s are placed in the design matrix.
Notes
Missing values in the levelsList argument are not ignored. For example:
Show( Design Ord( ., [. 0 1] ),
Design Ord( 0, [. 0 1] ),
Design Ord( 1, [. 0 1] ),
Design Ord( [0 0 1 . 1], [. 0 1] ),
Design Ord( {0, 0, 1, ., 1}, [. 0 1] ) );
Design Ord(., [. 0 1]) = [0 0];
Design Ord(0, [. 0 1]) = [1 0];
Design Ord(1, [. 0 1]) = [1 1];
Design Ord([0 0 1 . 1], [. 0 1]) = [1 0, 1 0, 1 1, 0 0, 1 1];
Design Ord({0, 0, 1, ., 1}, [. 0 1]) = [1 0, 1 0, 1 1, 0 0, 1 1];
Det(A)
Description
Determinant of a square matrix.
Returns
The determinant.
Argument
A
A square matrix.
Diag(A, <B>)
Description
Creates a diagonal matrix from a square matrix or a vector. If two matrices are provided, concatenates the matrices diagonally.
Returns
The matrix.
Argument
A
a matrix or a vector.
Direct Product(A, B)
Description
Direct (Kronecker) product of square matrices or scalars A[i,j]*B.
Returns
The product.
Arguments
A, B
Square matrices or scalars.
Distance(x1, x2, <scales>, <powers>)
Description
Produces a matrix of distances between rows of x1 and rows of x2.
Returns
A matrix.
Arguments
x1, x2
Two matrices.
scales
Optional argument to customize the scaling of the matrix.
powers
Optional argument to customize the powers of the matrix.
E Div(A, B)
A:/B
Returns
A matrix that contains the element-by-element division of two matrices.
Arguments
A, B
Two matrices. Both matrix elements must have the same dimensions.
E Max(A, B)
Returns
A matrix that contains the element-by-element maximum values of two or more matrices or scalar arguments.
Arguments
A, B
Two or more matrices or scalars. All matrix elements must have the same dimensions.
E Min(A, B)
Returns
A matrix that contains the element-by-element minimum values of two or more matrices or scalar arguments.
Arguments
A, B
Two or more matrices or scalars. All matrix elements must have the same dimensions.
E Mult(A, B)
A:*B
Description
Element-by-element multiplication of two matrices.
Returns
A matrix that contains the element-by-element multiplication of two or more matrices or scalar arguments.
Arguments
A, B
Two or more matrices or scalars. All matrix elements must have the same dimensions.
Eigen(A)
Description
Eigenvalue decomposition.
Returns
A list {M, E} such that E * Diag(M) * E = A'.
Argument
A
A symmetric matrix.
Estimate Bartlett Factor Score(dataRow, ManMeans, LatMeans, S, A)
Description
Estimates factor scores from a structural equation model (SEM) using Bartlett’s method.
Returns
A row vector of estimated factor scores based on the structural equation model.
Arguments
dataRow
A row vector of data values.
ManMeans
A vector of model-implied manifest variable means.
LatMeans
A vector of model-implied latent variable means.
S
The symmetric S matrix from a structural equation model.
A
The rectangular A matrix from a structural equation model.
See Also
“Model Options” in Multivariate Methods
Estimate Factor Score(dataRow, Covariance, ManMeans, LatMeans)
Description
Estimates factor scores from a structural equation model (SEM).
Returns
A row vector of estimated factor scores based on the structural equation model.
Arguments
dataRow
A row vector of data values.
Covariance
A model-implied variance-covariance matrix.
ManMeans
A vector of model-implied manifest variable means.
LatMeans
A vector of model-implied latent variable means.
Note
This function is used in the Save Factor Scores option in an Structural Equation Model report.
See Also
“Model Options” in Multivariate Methods
Fourier Basis Coef(x, Number Pairs, <Period=max(x)-min(x)+1>)
Description
Finds the matrix of Fourier basis coefficients for the data in the x argument.
Returns
The matrix of Fourier basis coefficients. This can be used as a design matrix in a linear model. The first column of the matrix contains an intercept term. The remaining columns contain pairs of basis coefficients, where pair i is defined as the sin() and cos() of i * (2 * π / Period) * x.
Arguments
x
A row or column vector that contains the data.
Number Pairs
The number of sin() and cos() pairs for the Fourier basis.
Period
The period for trigonometric functions that make up the Fourier basis.
Notes
This function is used in column formulas created by the Functional Data Explorer platform.
G Inverse(A)
Description
Generalized (Moore-Penrose) matrix inverse.
H Direct Product(A, B)
Description
Horizontal direct product of two square matrices of the same dimension or scalars.
Hough Line Transform(matrix, <NAngle(number)>, <NRadius(number)>)
Description
Takes a matrix of intensities and transforms it in a way that is useful for finding streaks in the matrix. Produces a matrix containing the Hough Line Transform with angles as columns and radiuses as rows.
Argument
matrix
A matrix that can be derived from the intensities of an image, but is more likely from a semiconductor wafer that may have defects across in a streak due to planarization machines.
NAngle(number)
Enter the number of the angle to obtain a different sized transform. The default is 180 degrees.
NRadius(number)
Enter the number of the radius to obtain a different sized transform. The default is sqrt(NRow*nRow+nCol*nCol).
Identity(n)
Description
Creates an n-by-n identity matrix with ones on the diagonal and zeros elsewhere.
Returns
The matrix.
Argument
n
An integer.
Index(i, j, <increment>)
i::j
Description
Creates a column matrix whose values range from i to j.
Returns
The matrix.
Arguments
i, j
Integers that define the range: i is the beginning of the range, j is the end.
increment
Optional argument to change the default increment, which is +1.
Inv()
See Inverse(A).
Inv Update(A, X, 1|-1)
Description
Efficiently update an X´X matrix.
Arguments
A
The matrix to be updated.
X
One or more rows to be added to or deleted from the matrix A.
1|-1
The third argument controls whether the row or rows defined in the second argument, X, are added to or deleted from the matrix A. 1 means to add the row or rows and -1 means to delete the row or rows.
Inverse(A)
Inv(A)
Description
Returns the matrix inverse. The matrix must be square non-singular.
Is Matrix(x)
Description
Returns 1 if the evaluated argument is a matrix, or 0 otherwise.
J(nrows, <ncols>, <value>)
Description
Creates a matrix of identical values.
Returns
The matrix.
Arguments
nrows
Number of rows in matrix. If ncols is not specified, nrows is also used as ncols.
ncols
Number of columns in matrix.
value
The value used to populate the matrix. If value is not specified, 1 is used.
KDTable(matrix)
Description
Returns a table created using the k-dimensional tree (k-d tree) algorithm. The table can be used to efficiently look up nearest neighbors. The k-dimensional tree is a data structure for searching points in a k-dimensional space. It works by partitioning the points into smaller subsets along each dimension and building a tree recursively. During search, the algorithm compares the query point to the partitioning values at each node and explores the relevant subtrees. It is useful for nearest neighbor search and other applications involving multi-dimensional data. For more information about how the k-d tree structure is computed, see Bentley (1975).
Returns
A KDTable object.
Argument
matrix
A matrix of k-dimensional points. The number of dimensions or points is not limited. Each column in the matrix represents a dimension to the data, and each row represents a data point.
Messages
<<Distance between rows(row1, row2)
Returns the distance between the two specified rows in the KDTable. The distance applies to removed and inserted rows as well.
<<K nearest rows(stop, <position>)
Returns a matrix. <position> is a point that is described as a row vector for the coordinate of a row, or as the number of a row. If <position> is not specified, returns the n nearest rows and distances to all rows. If <position> is specified, returns the n nearest rows and distances to either a point or a row. Stop is either n or {n, limit}. The limit parameter defines the number of rows that will be returned. It can be specified one of two ways: a number, like 5, returns the 5 nearest rows. A list, like {5,10}, returns up to 5 nearest rows, stopping when the distance of 10 is exceeded. When using a list as limit, the last row returned may have a distance greater than 10. Because the command continues until it finds the closest row beyond the stop distance, this point is also returned. This can be especially useful if there are no rows within the stop distance.
<<Remove rows(number | vector)
Remove either the row specified by number or the rows specified by vector. Returns the number of rows that were removed. Rows that were already removed are ignored.
<<Insert rows(number | vector)
Re-insert either the row specified by number or the rows specified by vector. Returns the number of rows that were inserted. Rows that were already inserted are ignored.
Notes
When rows are removed or inserted, the row indices do not change. You can remove and re-insert only rows that are in the KDTable object. If you need different rows, construct a new KDTable.
Least Squares Solve(y, X, < <<noIntercept, <<weights(OptionalWeightVector), <<method("Sweep"|"GInv")>)
Description
Computes least squares regression estimates for the assumed model y = X * beta + error.
Returns
A list that contains the matrix Beta=Inverse(X'X)X'y and the estimated variance matrix of Beta.
Optional Named Arguments
<<noIntercept
Specifies a no-intercept model.
<<weights(optional weight vector)
Specifies a vector of weights to perform weighted least squares.
<<method("Sweep" | "GInv")
Specifies the method for solving the normal equations. The default Sweep method is more computationally efficient, but you can also specify the generalized inverse ("GInv") method, which is more numerically stable.
Linear Regression(y, X, < <<noIntercept, <<printToLog, <<weight(OptionalWeightVector), <<freq(OptionalFreqVector)>)
Description
Fits a linear regression for the assumed model y = X * beta + error.
Returns
A list that contains a vector of the estimates, a vector of the standard error, and a list of diagnostics. The list of diagnostics contains vectors of the t statistics and p-values for the estimates, as well as the R-Square and adjusted R-Square values for the regression fit.
Optional Named Arguments
<<noIntercept
Excludes the intercept.
<<printToLog
Prints a summary of the fit to the log.
<<weight(vector)
Specifies a vector of weights to perform weighted least squares.
<<freq(vector)
Specifies a vector of frequencies for each row of y and X.
Example
n = 10;
x = J( n, 1, Random Normal() );
y = 1 + x * 3 + J( n, 1, Random Normal() );
{Estimates, Std_Error, Diagnostics} = Linear Regression( y, x, <<printToLog );
As Table( y || x );
Bivariate( Y( :Col1 ), X( :Col2 ), Fit Line( 1 ) );
Loc(A)
Loc(A, item)
Description
Returns a matrix of subscript positions where A is nonzero and nonmissing. For the two-argument function, Loc returns a matrix of positions where item is found within A. If the first argument is a list, the second argument is required.
For better performance and flexibility, use Where() instead. See Where(<dt>, clause) on page 221.
Argument
A
a matrix or a list
item
the item to be found within the matrix or list A
Loc Max(A)
Description
Returns the position of the maximum element in a matrix.
Returns
An integer that is the specified position.
Argument
A
a matrix
Loc Min(A)
Description
Returns the position of the minimum element in a matrix.
Returns
An integer that is the specified position.
Argument
A
a matrix
Loc NonMissing(matrix, ..., {list}, ...)
Description
Returns indices of nonmissing rows in matrices or lists. In lists, the function can also return indices of nonempty characters.
Returns
The new matrix or list.
Loc Sorted(A, B)
Description
Returns a column vector of subscript positions where the values of A have values less than or equal to the values in B based on a binary search. A must be a matrix sorted in ascending order without missing values.
Returns
The new matrix, which has the same dimensions as B. If a value in B is less than the first value in A, the returned subscript position for that value is 1.
Argument
A, B
matrices
Matrix({{x11, ..., x1m}, {x21, ..., 2m}, {...}, {xn1, ..., xnm}})
Matrix({x1, ..., xn})
Matrix(n, m)
Description
Constructs an n-by-m matrix. The following specification methods are available:
– If you specify a list of n lists that each contain m row values, the matrix is formed by vertically concatenating the evaluated lists. The list items must evaluate to numeric values or row vectors, and the dimensions of the items must be conformable.
– If you specify a single list of n items, the return value is an n-by-1 column vector. The items of the evaluated list must evaluate to numeric values.
– If you specify two integer arguments, the return value is a matrix of zeros that contains n rows and m columns.
Examples
Matrix({{1, 2, 3}, {4, [5 6]}, {7, 8, 9}});
[1 2 3, 4 5 6, 7 8 9]
Matrix({{[1 2 3], 4, 5, 6, 7, 8, 9}});
[1 2 3 4 5 6 7 8 9]
Matrix({2,3+7});
[2, 10]
Matrix(2,3);
[0 0 0, 0 0 0]
Matrix Mult(A, B)
C=A*B, ...
Description
Matrix multiplication.
Arguments
A, B, ...
Two or more matrices, which must be conformable (all matrices after the first one listed must have the same number of rows as the number of columns in the first matrix).
Notes
Matrix Mult() allows only two arguments, while using the * operator enables you to multiply several matrices.
Matrix Rank(A)
Description
Returns the rank of the matrix A.
Mode({list } or matrix)
Description
Selects the most frequent item from a numeric or character list or a numeric matrix. In the event of a tie, the lower value is selected. If multiple arguments are specified, a combination of numeric values and quoted character strings is acceptable.
Arguments
Specify either a list or a matrix.
Multivariate Normal Impute(yVec, meanYvec, symCovMat, colMin, colMax)
Description
Imputes missing values in yVec based on the mean and covariance.
Arguments
yVec
The vector of responses.
meanYvec
The vector of response means.
symCovMat
A symmetric matrix containing the response covariances. If the covariance matrix is not specified, then JMP imputes with means.
colMin
A vector of column minimums. Provides lower bounds for the imputations.
colMax
A vector of column maximums. Provides upper bounds for the imputations.
NChooseK Matrix(n, k)
Description
Returns a matrix of n things taken k at a time (n select k).
N Col(x)
N Cols(x)
Description
Returns the number of columns in either a data table or a matrix.
Argument
x
Can be a data table or a matrix.
Ortho(A, <Centered(1)>, <Scaled(1)>)
Description
Orthogonalizes the columns of matrix A using the Gram Schmidt method. Centered(1) makes the columns sum to zero. Scaled(1) makes them unit length.
Ortho Poly(vector, order)
Description
Returns orthogonal polynomials for a vector of indices representing spacings up to the order given.
P Spline Coef(x, Internal Knot Grid, <degree=3>)
Description
Finds the matrix of penalized basis spline (P-spline) coefficients for the data in the x argument.
Returns
The matrix of P-spline basis coefficients, which is the truncated power basis of the specified degree. The truncated power basis of degree p with knots k1 through kK is defined as follows:
where (x - k1)+ is the positive part of (x - k1) and is set to zero for negative values of (x - k1).
Arguments
x
A row or column vector that contains the data.
Internal Knot Grid
Either a single number that designates the number of desired knot points based on percentiles of x or a vector of values that designate the internal knot points.
degree
A number that indicates the degree of the P-splines. Defaults to 3.
Notes
This function is used in column formulas created by the Functional Data Explorer platform.
Parallel Assign({thread_local_var = global_var, ...}, matrix[a, b] = expression using a and b)
Description
Uses multiple threads to assign values to the matrix. Enables you to take advantage of multiple cores on a computer. The function has two arguments.
– The first argument is a list of assignment statements that copies global variables into each thread’s local variable list.
– The second argument is an assignment expression with a left-hand-side that is a matrix with one or two prototype indexes and a right hand side that can be any JSL expression using those indexes and the local variables from the list (and in JMP global: variables).
Example
The following example provides read access to the global namespace.
a = 42;
x = [1 2 3, 4 5 6, 7 8 9];
Show( Parallel Assign( {}, x[i, j] = global:a ) );
Show( x );
Parallel Assign({}, x[i,j] = global:a) = 1;
x =
[ 42 42 42,
42 42 42,
42 42 42];
Print Matrix(M, <named arguments>)
Description
Returns a quoted string that contains a well-formatted matrix. You can use the function, for example, to print the matrix to the log.
Argument
M
A matrix.
Optional Named Arguments
<<ignore locale(Boolean)
Set to false (0) to use the decimal separator for your locale. Set to true (1) to always use a period (.) as a separator. The default value is false (0).
<<decimal digits(n)
An integer that specifies the number of digits after the decimal separator to print.
<<style("style name")
Use one of three available styles: Parseable is a reformatted JSL matrix expression. Latex is formatted for LaTeX. If you specify Other, you must define the following three arguments.
<<separate("character")
Define the separator for concatenated entries.
<<line begin("character")
Define the beginning line character.
<<line end("character")
Define the ending line character.
QR(A)
Description
Returns the QR decomposition of A. Typical usage is {Q, R} = QR(A).
Random SVD(X, <nSingularValues=min(nRow, nCol)>, <nOver=10>, <nIter=2>)
Description
Computes the singular value decomposition (SVD) of matrix X using the randomized singular value decomposition. This decomposition can be faster than a traditional SVD, and it typically achieves an accurate approximation. It is particularly fast for large matrices when only a few singular values are desired. The method randomly projects the data into a low-dimensional space, performing the SVD in the low-dimensional space, and then computing an estimate of the SVD for the original data. The dimension of the computational space is equal to the number of singular values plus the number of oversampled columns.
Returns
Returns a list {U, M, V} such that U*diag(M)*V′ is equal to X.
Arguments
X
A matrix.
nSingularValues
The number of singular values to return. By default, this value is the minimum of the number of rows and number of columns in the matrix X.
nOver
The number of oversampled columns.
nIter
The number of power iterations.
Rank Index(vector)
Rank(vector)
Description
Returns a vector of indices that, used as a subscript to the original vector, sorts the vector by rank. Excludes missing values. Lists of numbers or quoted strings are supported in addition to matrices.
Ranking(vector)
Description
Returns a vector of ranks of the values of vector, low to high as 1 to n, ties arbitrary. Lists of numbers or quoted strings are supported in addition to matrices.
Ranking Tie(vector)
Description
Returns a vector of ranks of the values of vector, but ranks for ties are averaged. Lists of numbers or quoted strings are supported in addition to matrices.
Scoring Impute(rowWithMissing, VMat, colMeanVec, colStdDevVec)
Description
Provides streaming functionality for the Automated Data Imputation (ADI) algorithm.
Returns
Returns the row vector with the missing values imputed using the standard least squares estimation.
Arguments
rowwithMissing
A row vector that contains missing values.
VMat
A loading matrix that is produced by the ADI algorithm.
colMeanVec
A vector of the column means ignoring missing cells.
colStdDevVec
a vector of the column standard deviations ignoring missing cells.
Shape(A, nrow, <ncol>, < <<bycol>)
Description
Reshapes the matrix A across rows to the specified dimensions. Each value from the matrix A is placed into the reshaped matrix. By default, the values are placed row-by-row.
Returns
The reshaped matrix.
Arguments
A
A matrix.
nrow
The number of rows that the new matrix should have.
ncol
(Optional) The number of columns the new matrix should have.
<<bycol
(Optional) Specifies that the values be placed into the reshaped matrix column-by-column, instead of row-by-row.
Notes
If ncol is not specified, the number of columns is whatever is necessary to fit all of the original values of the matrix into the reshaped matrix.
If a missing value is specified for nrow, the number of rows is whatever is necessary to fit all of the original values of the matrix into the reshaped matrix.
If the new matrix is smaller than the original matrix, the extra values are discarded.
If the new matrix is larger than the original matrix, the values are repeated to fill the new matrix.
Examples
a = Matrix({ {1, 2, 3}, {4, 5, 6}, {7, 8, 9} });
[ 1 2 3,
4 5 6,
7 8 9]
Shape(a, 2);
[ 1 2 3 4 5,
6 7 8 9 1]
Shape(a, 2, 2);
[ 1 2,
3 4]
Shape(a, 4, 4);
[ 1 2 3 4,
5 6 7 8,
9 1 2 3,
4 5 6 7]
Shape(a, 4, 4, <<bycol);
[ 1 5 9 4,
2 6 1 5,
3 7 2 6,
4 8 3 7]
Solve(A, b)
Description
Solves a linear system. In other words, x=inverse(A)*b.
Sort Ascending(source)
Description
Returns a copy of a list or matrix source with the items in ascending order.
Sort Descending(source)
Description
Returns a copy of a list or matrix source with the items in descending order.
Sparse SVD(X, <nSingularValues=min(nRow, nCol)>, <tolerance=1e-10>)
Description
Computes the singular value decomposition (SVD) of matrix X using the implicitly restarted, partially reorthogonalized Lanczos method for sparse matrices.
Returns
Returns a list {U, M, V} such that U*diag(M)*V′ is equal to X.
Arguments
X
A matrix.
nSingularValues
The number of singular values to return. By default, this value is the minimum of the number of rows and number of columns in the matrix X.
tolerance
The tolerance for the convergence criterion.
Spline Coef(x, y, lambda)
Description
Returns a five column matrix of the form knots||a||b||c||d where knots is the unique values in x.
x is a vector of regressor variables, y is the vector of response variables, and lambda is the smoothing argument. Larger values for lambda result in smoother splines.
Spline Eval(x, coef)
Description
Evaluates the spline predictions using the coef matrix in the same form as returned by SplineCoef(), in other words, knots||a||b||c||d. The x argument can be a scalar or a matrix of values to predict. The number of columns of coef can be any number greater than 1 and each is used for the next higher power. The powers of x are centered at the knot values. For example, the calculation for coef of knots||a||b||c||d is j is such that knots[j] is the largest knot smaller than x.
xx = x-knots[j] is the centered x value:
result = a[j] + xx * (b[j] + xx * (c[j] + xx * d[j]))
The following line is equivalent:
result = a[j] + b[j] * xx + c[j] * xx ^ 2 + d[j] * xx ^ 3
Spline Smooth(x, y, lambda)
Description
Returns the smoothed predicted values from a spline fit.
x is a vector of regressor variables, y is the vector of response variables, and lambda is the smoothing argument. Larger values for lambda result in smoother splines.
SVD(A)
Description
Singular value decomposition.
Sweep(A, <indices>)
Description
Sweeps, or inverts a matrix a partition at a time.
Trace(A)
Description
The trace, or the sum of the diagonal elements of a square matrix.
Transpose(A)
Description
Transposes the rows and columns of the matrix A.
Returns
The transposed matrix.
Arguments
A
A matrix.
Equivalent Expression
A‘
V Concat(A, B, ...)
Description
Vertical concatenation of two or more matrices.
Returns
The new matrix.
Arguments
Two or more matrices.
V Concat To(A, B, ...)
Description
Vertical concatenation in place. This is an assignment operator.
Returns
The new matrix.
Arguments
Two or more matrices.
V Max(matrix)
Description
Returns a row vector containing the maximum of each column of matrix.
V Mean(matrix)
Description
Returns a row vector containing the mean of each column of matrix.
V Median(matrix)
Description
Returns a row vector containing the median of each column of matrix.
V Min(matrix)
Description
Returns a row vector containing the minimum of each column of matrix.
V Quantile(matrix, p)
Description
Returns a row vector containing the pth quantile of each column of matrix.
V Standardize(matrix)
Description
Returns a matrix column-standardized to mean = 0 and standard deviation = 1.
V Std(matrix)
Description
Returns a row vector containing the standard deviations of each column of matrix.
V Sum(matrix)
Description
Returns a row vector containing the sum of each column of matrix.
Varimax(matrix, <norm=1>)
Description
Performs a varimax rotation.
Returns
A list that contains the rotated matrix and the orthogonal rotation matrix.
Arguments
matrix
A matrix to be rotated.
norm
Specify 1 to perform a normalized rotation, and specify 0 to perform a non-normalized rotation. The default value is 1.
Vec Diag(A)
Description
Creates a vector from the diagonals of a square matrix A.
Returns
The new matrix.
Arguments
A
A square matrix.
Notes
Using a matrix that is not square results in an error.
Vec Quadratic(symmetric matrix, rectangular matrix)
Description
Constructs an n-by-m matrix. Used in calculation of hat values.
Returns
The new matrix.
Arguments
Two matrices. The first must be symmetric.
Equivalent Expression
Vec Diag(X*Sym*X‘)
VPTree(matrix)
Description
Returns a table using the vantage-point tree (VP tree) algorithm. The table can be used to efficiently look up nearest neighbors. The VP tree algorithm is particularly useful for wide data problems. The VP tree selects a random point as the vantage-point and partitions the remaining points based on their distance from it. The tree is built recursively and can be searched efficiently by checking distances and exploring relevant subtrees. By eliminating large portions of the search space, the vantage-point tree is useful for nearest neighbor search and other applications. For more information about the VP tree, see Uhlmann (1991).
Returns
A VPTree object.
Argument
matrix
A matrix of k-dimensional points. The number of dimensions or points is not limited. Each column in the matrix represents a dimension to the data, and each row represents a data point.
Messages
<<K nearest rows(stop, <position>)
Returns a matrix. <position> is a point that is described as a row vector for the coordinate of a row, or as the number of a row. If <position> is not specified, returns the n nearest rows and distances to all rows. If <position> is specified, returns the n nearest rows and distances to either a point or a row. Stop is either n or {n, limit}. The limit parameter defines the number of rows that will be returned. It can be specified one of two ways: a number, like 5, returns the 5 nearest rows. A list, like {5,10}, returns up to 5 nearest rows, stopping when the distance of 10 is exceeded. When using a list as limit, the last row returned may have a distance greater than 10. Because the command continues until it finds the closest row beyond the stop distance, this point is also returned. This can be especially useful if there are no rows within the stop distance.
Wavelet Basis Coef(x, grid, coeff, <wavelet = "Harr" | "Biorthogonal" | "Coiflet" | "Daubechies" | "Symlet">, <param = 0>)
Description
Finds the predictions for vector x for the specified Wavelet model.
Returns
A vector of predictions.
Arguments
x
A row or column vector that contains the data.
grid
A vector specifying the grid of the data.
coeff
A vector of wavelet coefficients.
wavelet
The name of the wavelet model.
param
An optional wavelet model parameter.
Notes
This function is used in column formulas created by the Functional Data Explorer platform.
Where(<dt>, clause)
Description
Filters and returns indices depending on the given clause. The clause can be a comparison function or a conditional statement. Columns, matrices, and lists can be mixed and matched within the same clause.
The indices returned by Where() are optimized for high performance on large lists, matrices, and columns.
Required Arguments
clause
A comparison function or conditional statement.
Optional Arguments
<dt>
Changes the current Data Table during the evaluation.
Examples
Names Default To Here( 1 );
xs = [10 20 30 . 50];
xs[Where( xs >= 20 )];
xs[Where( !Is Missing( xs ) )];
ys = {10, 20, "30", ., 50};
ys[Where( ys >= 20 )];