Matrex Functions Templates
sys.date.add
- adds a number (of days, hours, seconds...) to a date
- Input Matrices (Min: 2 Max: 2):
date DATE the matrix of dates to add the periods toperiod NUMERIC the periods to add- Output Matrices (Min: 1 Max: 1):
out DATE the output matrix- Parameters:
unit TEXT the unit of the period to add
Choices: SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEAR
sys.date.compose
- composes dates matrix from year, month, day, hour, minute, second matrices
- Input Matrices (Min: 3 Max: 6):
year NUMERIC the matrix containing the year valuesmonth NUMERIC the matrix containing the month valuesday NUMERIC the matrix containing the day valueshour NUMERIC the matrix containing the hour valuesminute NUMERIC the matrix containing the minute valuessecond NUMERIC the matrix containing the second values- Output Matrices (Min: 1 Max: 1):
out DATE the return matrix containing the calculated dates
sys.date.extract
- to extract a field value (year, month, ... second) from a date. Specify which field
you want to extract using the unit parameter - Input Matrices (Min: 1 Max: 1):
dates DATE the dates to extract the field from- Output Matrices (Min: 1 Max: 1):
out NUMERIC the value of the extracted field- Parameters:
unit TEXT the unit (year, month..., second) that you want to extract from the date
Choices: SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEAR
sys.date.fill
- Fills the output matrix with the now, today, tomorrow value or other
The size of the output matrix is the same is given as parameters
- Output Matrices (Min: 1 Max: 1):
out DATE the result matrix, containing the dates- Parameters:
type TEXT the type of value to fill the matrix with
Choices: TODAY,NOW,YESTERDAY,TOMORROWsizeX NUMERIC the width of the output matrixsizeY NUMERIC the height of the output matrix
sys.date.fillas
- Fills the output matrix with the now, today, tomorrow value or other
The size of the output matrix is the same as the one of the input matrix - Input Matrices (Min: 1 Max: 1):
givesSize ANY gives the size of the output matrix- Output Matrices (Min: 1 Max: 1):
out DATE the matrix to fill with dates- Parameters:
type TEXT the type of the value to fill the matrix with
Choices: NOW,TODAY,YESTERDAY,TOMORROW
sys.date.format
- formats a matrix of dates to a matrix of texts using the java.text.SimpleDateFormat formatter
- Input Matrices (Min: 1 Max: 1):
in DATE the dates to format- Output Matrices (Min: 1 Max: 1):
out TEXT the formatted dates- Parameters:
pattern TEXT Pattern for java.text.SimpleDateFormat
sys.date.frommilliseconds
- converts a matrix of milliseconds to a matrix of dates
- Input Matrices (Min: 1 Max: 1):
ms NUMERIC the milliseconds matrix- Output Matrices (Min: 1 Max: 1):
out DATE the dates matrix
sys.date.interval
- builds a date interval, i.e. a vector of dates from some parameters
- Output Matrices (Min: 1 Max: 1):
out DATE the interval vector- Parameters:
start DATE the first date of the arrayunit TEXT the unit for each step, (DAY, MONTH...)
Choices: SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEARunitsNumber NUMERIC the number of units for each step.
You can have for example steps of 2 daysstepsNumber NUMERIC the number of steps, i.e. the number of elements of the final vector
sys.date.intervalas
- builds a date/time interval with the size of another matrix
- Input Matrices (Min: 1 Max: 1):
getSizeFrom ANY the matrix to make the interval the same size of- Output Matrices (Min: 1 Max: 1):
interval DATE the generated interval- Parameters:
start DATE the start of the interval (the first date of the array)unit TEXT The unit for each step (MONTH, DAY...)
Choices: SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEARunitsNumber NUMERIC the number of units for each step.
You can have for example steps of 2 dayswhichSize TEXT which size of the input matrix (X or Y) to get as Y size of the array
Choices: x,y
sys.date.removetime
- For each date in the input matrix, removes the time part of a date/time, leaving only the date part.
- Input Matrices (Min: 1 Max: 1):
datetime DATE the date/time matrix- Output Matrices (Min: 1 Max: 1):
date DATE only the date part of the items in the 'datetime' matrix
sys.date.subtract
- Subtracts the dates of the matrix 'what' from the dates of the matrix 'from'.
res[x,y] = from[x,y] - what[x,y].
The result is expressed in the time unit expressed by the 'unit' parameter (minutes, seconds...) - Input Matrices (Min: 2 Max: 2):
from DATE matrix with the dates to be subtracted fromwhat DATE The matrix with the dates to be subtracted- Output Matrices (Min: 1 Max: 1):
res NUMERIC the result matrix, containing the time difference between the dates in the 'unit' unit.- Parameters:
unit TEXT The unit of time in which the subtraction result is expressed
Choices: SECOND,MINUTE,HOUR,DAY,WEEK,MONTH,YEAR
sys.date.tomilliseconds
- transforms a matrix of dates to a matrix of the number of milliseconds from January 1, 1970 00:00:00 GMT (java.sql.Timestamp)
- Input Matrices (Min: 1 Max: 1):
in DATE the matrix of dates- Output Matrices (Min: 1 Max: 1):
out NUMERIC the milliseconds for the in dates
sys.db.query
- queries the database and transforms the result columns in matrices (arrays)
- Output Matrices (Min: 1 Max: 64):
column ANY a column in the result of the query- Parameters:
driver TEXT driver class nameurl TEXT database urluser TEXT database userpassword TEXT database passwordsql TEXT query sql
sys.db.update
- To update tables in the database, inserting, updating or deleting rows, using update queries.
The query parameters are of the form ":" like in:
"insert into marketprice (ask, bid) vaiues (:ask, :bid)"
The input matrices give the values for the query parameters. They must be vectors of the same length.
The function loop on these vectors, calling the query with all the elements with index 0, then with all the elements with index 1 and so on.
So, for our example query suppose we have two input matrices with values:
ask: 10, 20, 40
bid: 15, 30, 60
The function executes the following queries:
insert into marketprice (ask, bid) vaiues (10, 15)
insert into marketprice (ask, bid) vaiues (20, 30)
insert into marketprice (ask, bid) vaiues (40, 60)
To make it possible to do the classical operation "update row if it exists, otherwise insert a new one", the function accepts a list of queries.
For each row, if the first query does not succeed (error or no row updated), it tries the second query, if it exists, the third and so on.
- Input Matrices (Min: 0 Max: 64):
fieldvalue ANY a vector of values. Each of them is a parameter used to insert a new row in the database or update/delete rows in the databases.- Parameters:
driver TEXT jdbc driver class nameurl TEXT jdbc database urluser TEXT user to access the databasepassword TEXT password to access the databasequery1 TEXT The first query in the list of the queries to update the database. E.g. "insert into marketprice (ask, bid) vaiues (:ask, :bid)" where ask and bid are names of input matrices.query2 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery3 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery4 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery5 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery6 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery7 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optionalquery8 TEXT Query to update the database. Executed if the previous query in the list did not succeed (error or no rows changed). See query1 for more information.
Optional
sys.generation.duplicate
- The output matrix is a copy of the input one. Changes in the input matrix are reflected in the output one.
Used for example to "rename" the matrix, when a function (isql?) requires specific names. - Input Matrices (Min: 1 Max: 1):
toCopy ANY The matrix to copy- Output Matrices (Min: 1 Max: 1):
copy ANY the copy of toCopy
sys.generation.fill
- fills the matrix with the same value in each cell
- Output Matrices (Min: 1 Max: 1):
result ANY the matrix filled with the value- Parameters:
sizeX NUMERIC the x size of the matrixsizeY NUMERIC The y size of the matrixvalue TEXT the value of the matrix (converted to the matrix type)
sys.generation.fillas
- fills the output matrix with the parameter value. The output matrix has the same size as the input matrix.
- Input Matrices (Min: 1 Max: 1):
input ANY the input matrix (only needed to calculate the size of the output matrix)- Output Matrices (Min: 1 Max: 1):
result ANY the matrix filled with the given value- Parameters:
value TEXT the value to fill the matrix with (as a string)
sys.generation.gen
- builds a matrix from a string.
The string passed as parameter must contain a CSV text of the form "a,b|c,d" where ',' is the columns separator and '|' is the line separator.
Used to get easy small matrices when working with the expression parser. - Output Matrices (Min: 1 Max: 1):
out ANY the output matrix containing the CSV text values.- Parameters:
csvtext TEXT the CSV text of the form "a,b|c,d"columnSeparator TEXT it is normally , but you can use something else.
Optional
Choices: ,,;lineSeparator TEXT separator of the lines in the CSV text. It none is given '|' is used.
Optional
Choices: |,#,%
sys.generation.interval
- Creates an interval array starting from start, with step step and size
- Output Matrices (Min: 1 Max: 1):
interval NUMERIC the vector that represents the interval- Parameters:
start NUMERIC the first number of the arraystep NUMERIC the step (the number to sum to go from one item of the array to the next)size NUMERIC the number of points in the interval
sys.generation.intervalas
- builds a numeric interval with the size of another matrix
- Input Matrices (Min: 1 Max: 1):
getSizeFrom ANY the matrix to make the interval the same size of- Output Matrices (Min: 1 Max: 1):
interval NUMERIC the generated interval- Parameters:
start NUMERIC the first item of the intervalstep NUMERIC the step of the interval (distance between two near items of the array)whichSize TEXT Get the X or Y size of the input matrix as Y size of the interval?
Choices: x,y
sys.generation.random
- creates N matrices filled with random values
- Output Matrices (Min: 1 Max: 1):
random NUMERIC a random matrix- Parameters:
sizeX NUMERIC the x size of the final matrixsizeY NUMERIC the y size of the final matrix
sys.generation.randomas
- generates a matrix with random values 0..1 of the same size of the input matrix
- Input Matrices (Min: 1 Max: 1):
in ANY the matrix that gives the size of the generated matrix- Output Matrices (Min: 1 Max: 1):
out NUMERIC the matrix filled with random numbers 0..1
sys.generation.tile
- tiles the output matrix with x * y copies of the input matrix
- Input Matrices (Min: 1 Max: 1):
in ANY the matrix to use to tile out- Output Matrices (Min: 1 Max: 1):
out ANY the matrix result of the tiling- Parameters:
x NUMERIC the number of times the input matrix is replicated in the x axisy NUMERIC the number of times the input matrix is replicated in the y axis
sys.generation.tileas
- tiles the output matrix with x * y copies of the input matrix, where x and y are the size of the "as" input matrix
- Input Matrices (Min: 2 Max: 2):
in ANY the matrix to use to tile outas ANY the matrix the size of will be the the x,y times the in matrix is tiled- Output Matrices (Min: 1 Max: 1):
out ANY the result of the tiling
sys.import.csv
- import CSV or SDV files
- Output Matrices (Min: 1 Max: 64):
field ANY a field in each line of the file- Parameters:
path TEXT the path of the filename to readseparator TEXT the character which divides the fields in a line (, or ;)
Choices: ,,;
sys.logical.and
- calculates the logical and of the two matrices element by element
- Input Matrices (Min: 2 Max: 2):
a BOOLEAN the first and operandb BOOLEAN The second and operand- Output Matrices (Min: 1 Max: 1):
out BOOLEAN the and result
sys.logical.if
- Calculates the if(condition, then, else) element by element of the matrices condition, then, else
- Input Matrices (Min: 3 Max: 3):
condition BOOLEAN the if conditionthen ANY the matrix containing the values to return if the condition is trueelse ANY the matrix containing the values to return if the condition is false- Output Matrices (Min: 1 Max: 1):
out ANY the if result
sys.logical.not
- returns the NOT of each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
in BOOLEAN input matrix- Output Matrices (Min: 1 Max: 1):
not BOOLEAN matrix containing the items of in, NOT-ed
sys.logical.or
- Calculates the logical or element by element of the two matrices
- Input Matrices (Min: 2 Max: 2):
a BOOLEAN the first or operandb BOOLEAN The second or operand- Output Matrices (Min: 1 Max: 1):
out BOOLEAN the or result
sys.mathstat.analysis.interpolator
- Evaluates a function created interpolating some points.
The interpolation can be done using one of 3 different alogorithms (spline, neville, divided difference). - Input Matrices (Min: 3 Max: 3):
pointsX NUMERIC the points to interpolate (x values)pointsY NUMERIC the points to interpolate (y values)evaluateX NUMERIC the functions built with the interpolation is evaluated with these values, producing the output.- Output Matrices (Min: 1 Max: 1):
out NUMERIC the output of the interpolated function evaluation- Parameters:
type TEXT The algorithm used to interpolate the points.
Choices: SPLINE,NEVILLE,DIVIDED_DIFFERENCE
sys.mathstat.by.arithmeticmeanby
- aggregates (in this case calculates the arithmetic mean) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.geometricmeanby
- aggregates (in this case calculates the geometric mean) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.maxby
- aggregates (in this case finds the max value) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.minby
- aggregates (in this case finds the minimum value) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.productby
- aggregates (in this case calculates the product) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.sumby
- aggregates (in this case sums) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.by.varianceby
- aggregates (in this case calculates the variance) the 'values' matrices [2..64] by the keys found in the first column of the 'keys' matrix
- Input Matrices (Min: 2 Max: 64):
keys ANY the matrix containing in the first column the keys by which to aggregate the values of the other matrices.values NUMERIC the values to be aggregated by the keys in the keys matrix- Output Matrices (Min: 2 Max: 64):
keys ANY the key input matrix with the keys sorted and uniquevalues NUMERIC the values aggregated by the keys in the keys matrix
sys.mathstat.distributions.binomial
- calculates the probability functions of the binomial distribution
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC the probability function matrix- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFtrials NUMERIC the number of trialsprobabilityOfSuccess NUMERIC the probability of success
sys.mathstat.distributions.chisquared
- calculates the probability functions of a chi-squared distribution
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input- Output Matrices (Min: 1 Max: 1):
y NUMERIC the chi squared distribution probability function for each point of the input- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFdegreesOfFreedom NUMERIC the degrees of freedom of the chi-squared distribution
sys.mathstat.distributions.exponential
- calculates the density functions of the exponential distribution
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input values- Output Matrices (Min: 1 Max: 1):
y NUMERIC the output values- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFmean NUMERIC the mean of the exponential distribution
sys.mathstat.distributions.hypergeometric
- calculates the probability functions of the hypergeometric distribution
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC the probability function of the hypergeometric distribution- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFpopulationSize NUMERIC the population sizenumberOfSuccesses NUMERIC the number of successes in the populationsampleSize NUMERIC the sample size
sys.mathstat.distributions.normal
- calculates the probability functions of the normal distribution
- Input Matrices (Min: 1 Max: 1):
input NUMERIC the points on the x axis for which the cumulative probability is calculated- Output Matrices (Min: 1 Max: 1):
cumulative_probability NUMERIC the cumulative probability- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFmean NUMERIC the mean parameterstandardDeviation NUMERIC the standard deviation
sys.mathstat.distributions.poisson
- calculates the density functions of the poisson distribution
- Input Matrices (Min: 1 Max: 1):
x NUMERIC input values of the function- Output Matrices (Min: 1 Max: 1):
y NUMERIC result of the function- Parameters:
type TEXT type of the density function calculated.
PDF - probability density function
CDF - cumulative density function
Choices: PDF,CDFmean NUMERIC the mean of the distribution
sys.mathstat.optimization.cost.powell
- calculates the powell cost function. Works for vectors that have size that is multiple of 4
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the vector to calculate the cost of. It must have size that is multiple of 4- Output Matrices (Min: 1 Max: 1):
cost NUMERIC the calculated cost
sys.mathstat.optimization.cost.rosenbrock
- Calculates the Rosenbrock cost function for direct search optimizations.
Rosenbrock is applied to vectors of size 2. - Input Matrices (Min: 1 Max: 1):
x NUMERIC the vector of size 2 to calculate the cost of- Output Matrices (Min: 1 Max: 1):
cost NUMERIC the calculated cost
sys.mathstat.optimization.neldermead
- Nelder-Mead direct search method.
- Input Matrices (Min: 3 Max: 3):
vertexA NUMERIC the initial vertexvertexB NUMERIC the final vertexcost NUMERIC the cost of the last evaluation of the solver, calculated by an external function- Output Matrices (Min: 2 Max: 2):
evaluation NUMERIC the last evaluation of the solver. It is the result of the optimization if terminated is truefinalValues NUMERIC The values to which the solver converged. This matrix has value only when the optimization has terminated- Parameters:
maxEvaluations NUMERIC the maximum number of evaluations (times the cost function is called)threshold NUMERIC when the difference of the cost of the last calculated vertices is less than this threshold, the algorithm has converged.rho NUMERIC
Optionalkhi NUMERIC
Optionalgamma NUMERIC
Optionalsigma NUMERIC
Optional
sys.mathstat.transform.fct
- Calculates the Fast Cosine Transformation (FCT) for transformation of one-dimensional data sets.
Uses the FCT implementation in the Apache Common-Math library.
For reference: http://documents.wolfram.com/v5/Add-onsLinks/StandardPackages/LinearAlgebra/FourierTrig.html
Input and output are real numbers vectors. - Input Matrices (Min: 1 Max: 1):
in NUMERIC The input vector. The number of elements must be power of 2 + 1 (e.g. 3, 5, 9,...)- Output Matrices (Min: 1 Max: 1):
out NUMERIC the output vector- Parameters:
type TEXT TRANSFORM: F_n = (1/2) [f_0 + (-1)^n f_N] + \Sigma_{k=0}^{N-1} f_k \cos(\pi nk/N)
TRANSFORM2: F_n = \sqrt{1/2N} [f_0 + (-1)^n f_N] + \sqrt{2/N} \Sigma_{k=0}^{N-1} f_k \cos(\pi nk/N)
INVERSE: f_k = (1/N) [F_0 + (-1)^k F_N] + (2/N) \Sigma_{n=0}^{N-1} F_n \cos(\pi nk/N)
INVERSE2: f_k = \sqrt{1/2N} [F_0 + (-1)^k F_N] + \sqrt{2/N} \Sigma_{n=0}^{N-1} F_n \cos(\pi nk/N)
Choices: TRANSFORM,TRANSFORM2,INVERSE,INVERSE2
sys.mathstat.transform.fft
- Calculates the Fast Fourier Transformation (FFT) for transformation of one-dimensional data sets.
Uses the FFT implementation in the Apache Common-Math library.
For reference: http://mathworld.wolfram.com/FastFourierTransform.html
The input can be either a real vector or a complex vector (broken in a real and an imaginary vectors).
The output is always a complex vector (broken in a real and an imaginary vectors).
- Input Matrices (Min: 1 Max: 2):
inReal NUMERIC The real array (length must be power of 2) to be transformedinImaginary NUMERIC The imaginary array (length must be power of 2) to be transformed. It is optional, meaning that the input can be real.- Output Matrices (Min: 2 Max: 2):
outReal NUMERIC The output is always a complex number. This is the real part.outImaginary NUMERIC The output is always a complex number. This is the imaginary part.- Parameters:
type TEXT TRANSFORM: y_n = \Sigma_{k=0}^{N-1} e^{-2 \pi i nk/N} x_k
TRANSFORM2: y_n = (1/\sqrt{N}) \Sigma_{k=0}^{N-1} e^{-2 \pi i nk/N} x_k
Choices: TRANSFORM,TRANSFORM2,INVERSE,INVERSE2
sys.mathstat.transform.fst
- Calculates the Fast Sine Transformation (FST) for transformation of one-dimensional data sets.
Uses the FST implementation in the Apache Common-Math library.
For reference: http://documents.wolfram.com/v5/Add-onsLinks/StandardPackages/LinearAlgebra/FourierTrig.html
Input and output are real numbers vectors. - Input Matrices (Min: 1 Max: 1):
in NUMERIC the input vector. Must have a number of elements that is power of 2- Output Matrices (Min: 1 Max: 1):
out NUMERIC the output vector- Parameters:
type TEXT TRANSFORM: F_n = \Sigma_{k=0}^{N-1} f_k \sin(\pi nk/N)
TRANSFORM2: F_n = \sqrt{2/N} \Sigma_{k=0}^{N-1} f_k \sin(\pi nk/N)
INVERSE: f_k = (2/N) \Sigma_{n=0}^{N-1} F_n \sin(\pi nk/N)
INVERSE2: f_k = \sqrt{2/N} \Sigma_{n=0}^{N-1} F_n \sin(\pi nk/N)
Choices: TRANSFORM,TRANSFORM2,INVERSE,INVERSE2
sys.mathstat.arithmeticmean
- Calculates the arithmetic means of the columns of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC an array which contains the arithmetic mean of each column of the matrix x
sys.mathstat.geometricmean
- calculates the geometric means of the columns of the input matrix
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
mean NUMERIC the vector of geometric means
sys.mathstat.iterativesum
- sums iteratively all the items of the input matrix by column
So, if you have the vector [1,2,3] as input, the output will be [1,3,6] - Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC a matrix every item of which is the sum of the same item and the previous items of the x matrix, by column
sys.mathstat.max
- Calculates the maximum element of each column of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC an array containing the maximums of the items of each column of the x matrix
sys.mathstat.min
- Calculates the minimum element of each column of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC an array containing the minimums of the item of each column of the x matrix
sys.mathstat.product
- Calculates the product of all numbers in each column of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC an array that contains the product of the item of each column of x
sys.mathstat.sum
- sum the values in the columns of the matrix
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
sum NUMERIC a vector which is the sum of the columns of the matrix
sys.mathstat.variance
- calculates the variance of each column of the matrix
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
variance NUMERIC a vector containing the variances of the columns of the matrix
sys.matrix.determinant
- the matrix determinant
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
determinant NUMERIC calculates the matrix determinant
sys.matrix.identity
- builds an identity matrix of the given size
- Input Matrices (Min: 1 Max: 1):
size NUMERIC size of the identity matrix (must be 1x1)- Output Matrices (Min: 1 Max: 1):
identity NUMERIC the identity matrix
sys.matrix.identityas
- builds an indentity matrix (1 in the diagonal, 0 everywhere else) using the size of the original matrix
- Input Matrices (Min: 1 Max: 1):
size ANY The matrix that has the same x or y size of the output identity matrix- Output Matrices (Min: 1 Max: 1):
identity NUMERIC The identity matrix- Parameters:
which TEXT Use the size of the x or y axis of the original matrix as size of the identity matrix?
Choices: x,y
sys.matrix.inverse
- calculates the matrix inverse
- Input Matrices (Min: 1 Max: 1):
toInvert NUMERIC the matrix to invert- Output Matrices (Min: 1 Max: 1):
inverted NUMERIC the result of the inversion
sys.matrix.norm
- the maximum absolute row sum norm of the matrix
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
norm NUMERIC the matrix norm
sys.matrix.qrdecomposition
- Calculates the QR-decomposition of a matrix. In the QR-decomposition of a matrix A consists of two matrices Q and R that satisfy: A = QR, Q is orthogonal (QTQ = I), and R is upper triangular.
Uses the common-math library
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the matrix to decompose- Output Matrices (Min: 2 Max: 2):
q NUMERIC the q matrixr NUMERIC the r matrix
sys.matrix.solve
- Returns a matrix of (column) solution vectors for linear systems.
- Input Matrices (Min: 2 Max: 2):
coefficient NUMERIC coefficient matrixconstant NUMERIC constant vectors- Output Matrices (Min: 1 Max: 1):
solution NUMERIC the result of the solve method
sys.matrix.times
- matrix multiplication
- Input Matrices (Min: 2 Max: 2):
mat1 NUMERIC matrix to multiplymat2 NUMERIC matrix to multiply- Output Matrices (Min: 1 Max: 1):
result NUMERIC multiplication result
sys.matrix.transpose
- Transposes the input numerical matrix
- Input Matrices (Min: 1 Max: 1):
totranspose NUMERIC the matrix to transpose- Output Matrices (Min: 1 Max: 1):
transposed NUMERIC the transposed matrix
sys.sql.isql
- SQL select in memory, that works on matrices 1xN (vectorial matrices). Use SQL to filter, sort, group values on matrices. Matrices are grouped in tables (equivalent to database tables), of which they become columns. More in the "internalsql.pdf" document. Example:
select price.ticker as ticker, sum(price.fix) as sumfix from [ticker, fix] as price group by price.ticker - Input Matrices (Min: 0 Max: 64):
input ANY input vectorial matrix that becomes a column of a table in the query- Output Matrices (Min: 0 Max: 64):
output ANY The output matrices (as... in the select clause)- Parameters:
sql TEXT the sql select query
sys.standard.minmax.max
- Returns the maximum of the numbers in the same position of a set of matrices
r[x][y] = max (m0[x][y],m1[x][y]...) - Input Matrices (Min: 1 Max: 64):
matrix NUMERIC one of the matrices in the set from which this function extracts the manimum- Output Matrices (Min: 1 Max: 1):
max NUMERIC The matrix each element of which is the maximum of the elements in the same position of the input matrices
sys.standard.minmax.min
- Returns the minimum of the numbers in the same position of a set of matrices
r[x][y] = min (m0[x][y],m1[x][y]...) - Input Matrices (Min: 1 Max: 64):
matrix NUMERIC one of the matrices in the set from which this function extracts the minimum.- Output Matrices (Min: 1 Max: 1):
min NUMERIC The matrix each element of which is the minimum of the elements in the same position of the input matrices
sys.standard.minmax.nthmax
- Returns the nth maximum (0-based) of the numbers in the same position of a set of matrices
r[x][y] = maxN (m1[x][y],m2[x][y]...) where N is m0[x][y] (the first input matrix) - Input Matrices (Min: 2 Max: 64):
n NUMERIC Defines what is the n when we choose the nth maximum number for the items in the same [x,y] of all input matricesmatrix NUMERIC one of the matrices in the set from which this function extracts the nth minimum.- Output Matrices (Min: 1 Max: 1):
nthmax NUMERIC The matrix each element of which is the nth maximum of the elements in the same position of the input matrices
sys.standard.minmax.nthmin
- Returns the nth minimum (0-based) of the numbers in the same position of a set of matrices
r[x][y] = minN (m1[x][y],m2[x][y]...) where N is m0[x][y] (the first input matrix) - Input Matrices (Min: 2 Max: 64):
n NUMERIC Defines what is the n when we choose the nth minimum number for the items in the same [x,y] of all input matricesmatrix NUMERIC one of the matrices in the set from which this function extracts the nth minimum.- Output Matrices (Min: 1 Max: 1):
nthmin NUMERIC The matrix each element of which is the nth minimum of the elements in the same position of the input matrices
sys.standard.test.iseven
- Checks if the numbers in the input matrix are even (N%2=0). The decimal part of the number is not considered.
- Input Matrices (Min: 1 Max: 1):
numbers NUMERIC the numbers to check for being even- Output Matrices (Min: 1 Max: 1):
iseven BOOLEAN for each text in 'numbers' tells if it is even.
sys.standard.test.isodd
- Checks if the numbers in the input matrix are odd (N%1=0). The decimal part of the number is not considered.
- Input Matrices (Min: 1 Max: 1):
numbers NUMERIC the numbers to check for being odd- Output Matrices (Min: 1 Max: 1):
isodd BOOLEAN for each text in 'numbers' tells if it is odd.
sys.standard.trigonometric.acos
- calculates the acos function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC acos(x)
sys.standard.trigonometric.acosh
- calculates the acosh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC acosh(x)
sys.standard.trigonometric.asin
- calculates the asin function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC asin(x)
sys.standard.trigonometric.asinh
- calculates the asinh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC asinh(x)
sys.standard.trigonometric.atan
- calculates the atan function for each item of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC atan(x)
sys.standard.trigonometric.atanh
- calculates the atanh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC atanh(x)
sys.standard.trigonometric.cos
- calculates the cos function for each item of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the matrix to get the cosinus of- Output Matrices (Min: 1 Max: 1):
cosinus NUMERIC the cosinus of x
sys.standard.trigonometric.cosh
- calculates the cosh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC cosh(x)
sys.standard.trigonometric.sin
- calculates the sin function for each item of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the matrix to get the sinus of- Output Matrices (Min: 1 Max: 1):
sinus NUMERIC the sinus of x
sys.standard.trigonometric.sinh
- calculates the sinh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC sinh(x)
sys.standard.trigonometric.tan
- calculates the tangent function for each item of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the matrix to get the tangent of- Output Matrices (Min: 1 Max: 1):
tangent NUMERIC the tangent of x
sys.standard.trigonometric.tanh
- calculates the tanh function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC tanh(x)
sys.standard.abs
- abs(x) absolute value of each element of the matrix
- Input Matrices (Min: 1 Max: 1):
toabs NUMERIC the matrix to get the absolute value of- Output Matrices (Min: 1 Max: 1):
result NUMERIC the absolute value of the matrix
sys.standard.binarybyblock
- Given the matrix 'byBlocks', which has width and/or height that is multiple than the matrix 'whole',
applies a function (plus, minus...) to to each block of 'byBlock' that has the same size as 'whole'
E.g.
byBlock a b c d whole A B Result a+A b+B c+A d+B
e f g h C D e+C e+D g+C h+D
i j k l i+A j+B k+A l+B
m n o p m+C n+D o+C p+D - Input Matrices (Min: 2 Max: 2):
byBlock NUMERIC to divide in blocks of the same size as 'whole'whole NUMERIC to consider as it is- Output Matrices (Min: 1 Max: 1):
result NUMERIC same size as byBlock- Parameters:
type TEXT the binary function to apply to each cell of the block and the matrix
Choices: plus,minus,times,divide,poworder TEXT matrix x is divided by blocks, x is consider as it is. The order of the parameters for functions like 'minus' and 'divide' is then important.
Choices: f(x,y),f(y,x)
sys.standard.ceil
- calculates the ceil (the smallest integer number > x) function for each element of the input matrix.
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC ceil(x)
sys.standard.changebase
- Converts the numbers in the 'numbers' matrix to a different base (e.g. from base 10 (decimal) to base 16 (hexadecimal)).
out[x,y] = changebase(numbers[x,y], frombase, tobase)
E.g.
changebase([F, A] , 16, 10) => [15, 10] - Input Matrices (Min: 1 Max: 1):
numbers TEXT The numbers in the original base. They have to be written as texts, since the numbers written in some base (e.g. 16) contain letters.- Output Matrices (Min: 1 Max: 1):
out TEXT the numbers converted to the final base. This matrix must be textual for the same reason as for 'numbers'- Parameters:
basefrom NUMERIC the original base of the numbersbaseto NUMERIC the base to which the numbers have to be converted
sys.standard.closesteven
- Finds the closest even integer (up or down) to each number of the matrix
res[x,y] = closest(val[x, y]) - Input Matrices (Min: 1 Max: 1):
x NUMERIC the matrix to get the 'closest even' of- Output Matrices (Min: 1 Max: 1):
res NUMERIC the matrix composed by the closest even numbers- Parameters:
direction TEXT the direction used to search for the next even number. DOWN means that it searches for a smaller number, UP for a bigger number
Choices: UP,DOWN
sys.standard.closestodd
- Finds the closest odd integer (up or down) to each number of the matrix
res[x,y] = closest(val[x, y]) - Input Matrices (Min: 1 Max: 1):
x NUMERIC the matrix to get the 'closest odd' of- Output Matrices (Min: 1 Max: 1):
res NUMERIC the matrix composed by the closest odd numbers- Parameters:
direction TEXT the direction used to search for the next even number. DOWN means that it searches for a smaller number, UP for a bigger number
Choices: UP,DOWN
sys.standard.constant
- Fills the result matrix with the given constant (pi, e...)
- Output Matrices (Min: 1 Max: 1):
result NUMERIC the result matrix containing the given costant- Parameters:
constant TEXT the constant that to fill the result matrix with
Choices: PI,EsizeX NUMERIC the x size of the result matrix (width)sizeY NUMERIC The y size of the result matrix (height)
sys.standard.constantas
- Fills the result matrix with the given constant (pi, e...). The result matrix has the same size as the input matrix.
- Input Matrices (Min: 1 Max: 1):
size ANY uses the size of this matrix as size of the result matrix- Output Matrices (Min: 1 Max: 1):
constant NUMERIC the result matrix- Parameters:
constant TEXT the constant that to fill the result matrix with
Choices: PI,E
sys.standard.degrees
- convert each element of the input matrix from radians to degrees
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the matrix of radians to convert- Output Matrices (Min: 1 Max: 1):
out NUMERIC the degrees of each element of the input matrix
sys.standard.div
- integer division, element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC to divideb NUMERIC to divide for- Output Matrices (Min: 1 Max: 1):
out NUMERIC division result
sys.standard.divide
- divides the matrix 'what' by the matrix 'by' element by element
- Input Matrices (Min: 2 Max: 2):
what NUMERIC the matrix to divideby NUMERIC the matrix to divide by- Output Matrices (Min: 1 Max: 1):
result NUMERIC the division result
sys.standard.equal
- for each cell of the two input matrices (which need to have the same size) tells if the value is equal.
- Input Matrices (Min: 2 Max: 2):
a NUMERIC matrix to compareb NUMERIC matrix to compare- Output Matrices (Min: 1 Max: 1):
isequal BOOLEAN contains a boolean value for each pair of values , which tells if the two values are equal
sys.standard.exp
- calculates the exponential function for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
toexp NUMERIC the number to get the exponential of- Output Matrices (Min: 1 Max: 1):
result NUMERIC the result of the exponential
sys.standard.factorial
- Calculates the factorial (n!) of the input matrix. The input values will be truncated to integers.
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
fact NUMERIC the factorial for each input value
sys.standard.factorial2
- Calculates the double factorial (n!!) of the input matrix. The input values will be truncated to integers.
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
fact2 NUMERIC the double factorial for each input value
sys.standard.floor
- calculates the floor function (the greatest integer number < x) for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC floor(x)
sys.standard.gcd
- for each pair of numbers in the two input matrices calculates the greatest common divisor
res[x, y] = gcd(a[x,y], b[x,y]) - Input Matrices (Min: 2 Max: 2):
a NUMERIC the matrix to calculate the gcd for together with bb NUMERIC the matrix to calculate the gcd for together with a- Output Matrices (Min: 1 Max: 1):
res NUMERIC the gcd of the numbers in a and b
sys.standard.lcm
- for each pair of numbers in the two input matrices calculates the lowest common multiplier
res[x, y] = lcm(a[x,y], b[x,y])
- Input Matrices (Min: 2 Max: 2):
a NUMERIC the matrix to calculate the lcm for together with bb NUMERIC the matrix to calculate the lcm for together with a- Output Matrices (Min: 1 Max: 1):
res NUMERIC the lcm of the numbers in a and b
sys.standard.less
- verifies a < b element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC the first matrix to compareb NUMERIC the second matrix to compare- Output Matrices (Min: 1 Max: 1):
result BOOLEAN true if a < b
sys.standard.lesseq
- verifies a <= b element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC the first matrix to compareb NUMERIC the second matrix to compare- Output Matrices (Min: 1 Max: 1):
result BOOLEAN true if a <= b
sys.standard.log
- calculates the logarithm for each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
tolog NUMERIC the number to get the logarithm of- Output Matrices (Min: 1 Max: 1):
result NUMERIC the logarithm
sys.standard.logbase
- Calculates the logarithm of a in base b, for each items of a and b
l[x,y] = log(a[x,y], b[x,y]) - Input Matrices (Min: 2 Max: 2):
x NUMERIC the value to get the logarithm ofbase NUMERIC the logarithm's base- Output Matrices (Min: 1 Max: 1):
y NUMERIC the calculated logarithm
sys.standard.minus
- subtracts the two matrices element by element
- Input Matrices (Min: 2 Max: 2):
difffrom NUMERIC the number to remove fromdiffwhat NUMERIC the number to remove- Output Matrices (Min: 1 Max: 1):
result NUMERIC the difference
sys.standard.minus1
- calculates the opposite of each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
original NUMERIC original matrix- Output Matrices (Min: 1 Max: 1):
minus NUMERIC opposite of the original
sys.standard.mod
- integer module: a mod b, a % b element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC to modb NUMERIC to mod with- Output Matrices (Min: 1 Max: 1):
out NUMERIC the result of the module operation
sys.standard.more
- verifies a > b element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC the first matrix to compareb NUMERIC the second matrix to compare- Output Matrices (Min: 1 Max: 1):
result BOOLEAN true if > b is true
sys.standard.moreeq
- verifies a >= b element by element
- Input Matrices (Min: 2 Max: 2):
a NUMERIC the first matrix to compareb NUMERIC the second matrix to compare- Output Matrices (Min: 1 Max: 1):
result BOOLEAN true if a >= b
sys.standard.plus
- sums the two matrices element by element (must be the same size)
- Input Matrices (Min: 2 Max: 2):
addendum1 NUMERIC the first sum addendumaddendum2 NUMERIC the second sum addendum- Output Matrices (Min: 1 Max: 1):
result NUMERIC the sum result
sys.standard.pow
- pow(x, y) power of by y
- Input Matrices (Min: 2 Max: 2):
x NUMERIC the matrix to get the power ofy NUMERIC the matrix to use as power- Output Matrices (Min: 1 Max: 1):
result NUMERIC the result matrix
sys.standard.radians
- converts each element of the input matrix from degrees to radians
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the matrix of numbers expressed as degrees- Output Matrices (Min: 1 Max: 1):
out NUMERIC the matrix of numbers converted to radians
sys.standard.round
- calculates the round function for each element of the input matrix.
- Input Matrices (Min: 1 Max: 1):
x NUMERIC the input matrix- Output Matrices (Min: 1 Max: 1):
y NUMERIC round(x)
sys.standard.sign
- for each element in the matrix, give -1 for a negative number, 1 for positive, 0 for 0.
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the matrix to calculate the signum of- Output Matrices (Min: 1 Max: 1):
out NUMERIC the signum of the input matrix
sys.standard.sqrt
- calculates the square root of each element of the input matrix
- Input Matrices (Min: 1 Max: 1):
input NUMERIC to get the square root of- Output Matrices (Min: 1 Max: 1):
result NUMERIC the square root
sys.standard.times
- multiplies the matrices element by element
- Input Matrices (Min: 2 Max: 2):
mat1 NUMERIC the first matrix to multiplymat2 NUMERIC the second matrix to multiply- Output Matrices (Min: 1 Max: 1):
result NUMERIC the multiplication result
sys.standard.trunc
- truncates each number in the matrix to its closest integer value
- Input Matrices (Min: 1 Max: 1):
in NUMERIC the (real) numbers to truncate- Output Matrices (Min: 1 Max: 1):
out NUMERIC the integer values result of the truncation
sys.string.chars.charstocodes
- Converts a matrix of chars to their equivalent codes (ascii, unicode).
e.g. ["a", "b"] -> [97, 98]
- Input Matrices (Min: 1 Max: 1):
chars TEXT a matrix with as items single characters- Output Matrices (Min: 1 Max: 1):
codes NUMERIC Contains the (ascii, unicode) codes for the characters in the 'chars' matrix.
sys.string.chars.charstostring
- Each column of the input matrix is a text, one character for each cell.
For example: 'd', 'o', 'g'.
This functions builds the related strings:
'd','o','g' => "dog".
The result matrix is actually a vector (one column), containing for each element the string built from the column with the same position in the input matrix:
Out[y] = string(Input.Column[x])
- Input Matrices (Min: 1 Max: 1):
chars TEXT Each column contains the characters of a text- Output Matrices (Min: 1 Max: 1):
strings TEXT A vector (only one column). Each item is a string built with the characters in the column with the same position in the 'chars' matrix - Parameters:
trimmableChar TEXT The function removes this character if found at the end of one of the result strings.
Optional
sys.string.chars.codestochars
- Converts a matrix of codes (ascii, unicode) to a matrix of chars
e.g. [97, 98] -> ["a", "b"]
- Input Matrices (Min: 1 Max: 1):
codes NUMERIC a matrix with as items ascii/unicode codes (numbers)- Output Matrices (Min: 1 Max: 1):
chars TEXT Contains characters for the ascii/unicode codes in the 'codes' matrix.
sys.string.chars.codestostring
- Each column of the input matrix is a text expressed in (ascii/unicode) codes, one code for each cell.
For example: [100, 111, 103].
This functions builds the related strings:
[100, 111, 103] => "dog".
The result matrix is actually a vector (one column), containing for each cell the string built from the column with the same position in the input matrix:
Out[y] = string(Input.Column[x])
- Input Matrices (Min: 1 Max: 1):
codes NUMERIC Each column contains the (ascii/unicode) codes of a text- Output Matrices (Min: 1 Max: 1):
strings TEXT A vector (only one column). Each item is a string built with the (ascii/unicode) in the column with the same position in the 'codes' matrix - Parameters:
trimmablecode NUMERIC The function removes the character with this code if found at the end of one of the result strings.)
Optional
sys.string.chars.stringtochars
- Converts each string in the input vector to the sequence of its letters.
Out.Column[x] = chars(In.value[y])
Since not all strings have the same lenght, there will be "holes" in the final
matrix. These will be filled with the parameter character or, if it is not given, with space - Input Matrices (Min: 1 Max: 1):
stringvector TEXT a vector of strings (only the first column has values)- Output Matrices (Min: 1 Max: 1):
chars TEXT One column for each string in the input matrix, containing the characters of the string.- Parameters:
defaultchar TEXT The character used to fill the "holes" in the output matrix, where the string is not long enough to cover all the items of the column.
Optional
sys.string.chars.stringtocodes
- Converts each string in the input vector to the sequence of codes (ascii/unicode) of its letters.
Out.Column[x] = codes(In.value[y])
Since not all strings have the same lenght, there will be "wholes" in the final
matrix. These will be filled with the parameter code or, if it is not given, with -1 - Input Matrices (Min: 1 Max: 1):
stringvector TEXT a vector of strings (only the first column has values)- Output Matrices (Min: 1 Max: 1):
codes NUMERIC One column for each string in the input matrix, containing the (ascii/unicode) codes of the string.- Parameters:
defaultCode NUMERIC The (ascii/unicode) code used to fill the "holes" in the output matrix, where the string is not long enough to cover all cells of the column
Optional
sys.string.regex.find
- Matches the strings in the input matrix with the given regex pattern, returning the first found subsequence
out[x,y] = findregex(in[x,y]) - Input Matrices (Min: 1 Max: 1):
in TEXT the matrix containing the text to be matched with the regex pattern- Output Matrices (Min: 1 Max: 1):
out TEXT contains the texts found in the 'in' matrix, using the regex pattern.- Parameters:
pattern TEXT the regular expression pattern to match agains each string in the input matrix
sys.string.regex.replace
- For each string in the input matrix, Replaces the part matched by the given regex pattern with the replacement string
out[x,y] = replaceregex(in[x,y], replacement[x,y], pattern) - Input Matrices (Min: 2 Max: 2):
in TEXT the matrix containing the texts which get partially replaced using the pattern.replacement TEXT the texts used to replace the part of the 'in' texts matched by the pattern- Output Matrices (Min: 1 Max: 1):
out TEXT the result of the replacement in the 'in' texts.- Parameters:
pattern TEXT the regular expression pattern to match agains each string in the input matrix
sys.string.test.isboolean
- Checks if the text values in the input matrix are parsable as boolean.
It parses the texts using the Matrex default boolean format. - Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to parse- Output Matrices (Min: 1 Max: 1):
isboolean BOOLEAN for each text in 'texts' tels if it can be parsed as a boolean value.
sys.string.test.isdate
- Checks if the text values in the input matrix are parsable as dates.
It parses the texts using the Matrex default dates format.
- Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to parse- Output Matrices (Min: 1 Max: 1):
isdate BOOLEAN for each text in 'texts' tels if it can be parsed as a date
sys.string.test.isinteger
- Checks if the text values in the input matrix are parsable as integer numbers.
- Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to parse- Output Matrices (Min: 1 Max: 1):
isinteger BOOLEAN for each text in 'texts' tels if it can be parsed as an integer value.
sys.string.test.isnumeric
- Checks if the text values in the input matrix are parsable as numeric values.
It parses the texts using the Matrex default numeric format. - Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to parse- Output Matrices (Min: 1 Max: 1):
isnumeric BOOLEAN for each text in 'texts' tels if it can be parsed as a numeric value.
sys.string.cat
- concatenates the texts of two or more matrices element by element
- Input Matrices (Min: 1 Max: 64):
text TEXT the text to concatenate- Output Matrices (Min: 1 Max: 1):
result TEXT the concatenation result
sys.string.compare
- Compare the strings of two matrices lexicographically, element by element. (See the java function compareTo)
- Input Matrices (Min: 2 Max: 2):
a TEXT the first matrix with the texts to compareb TEXT the second matrix with the texts to compare- Output Matrices (Min: 1 Max: 1):
out NUMERIC the comparison result
sys.string.equals
- tells if the strings in the two matrices are the same element by element
- Input Matrices (Min: 2 Max: 2):
a TEXT the first matrix to compareb TEXT the second matrix to compare- Output Matrices (Min: 1 Max: 1):
out BOOLEAN each element is true if the related elements in a and b are equal
sys.string.equalsignorecase
- tells if the strings in the two matrices are the same element by element, when compared ignoring the letters case.
- Input Matrices (Min: 2 Max: 2):
a TEXT the first matrix to compareb TEXT the second matrix to compare- Output Matrices (Min: 1 Max: 1):
out BOOLEAN (each element is true if the related elements in a and b are equal ignoring the case.
sys.string.find
- In each string of the 'text' matrix finds the related string in the 'tofind' matrix.
It returns the 0 based position of the first occurence of the 'tofind' string in the 'text' string, -1 if not found.
out[x,y] = find(text[x,y], tofind[x,y])
E.g.:
find([house, scary], [use,car]) -> [2,1]
- Input Matrices (Min: 2 Max: 2):
text TEXT the matrix containing the strings that will be searched for the strings in 'tofind'tofind TEXT The strings that will be searched in the related strings in 'text'- Output Matrices (Min: 1 Max: 1):
index NUMERIC for pair of strings in 'text' and 'tofind', the position of the 'tofind' string in the 'text' string.
sys.string.len
- returns a matrix containing the lengths of all the strings in the input matrix.
len[x,y] = lenght(strings[x,y]) - Input Matrices (Min: 1 Max: 1):
strings TEXT the strings to get the length of- Output Matrices (Min: 1 Max: 1):
len NUMERIC contains the length of each string in the 'string' matrix
sys.string.lowercase
- convert all the strings of the input matrix to lowercase
- Input Matrices (Min: 1 Max: 1):
in TEXT the matrix to convert to lowercase- Output Matrices (Min: 1 Max: 1):
out TEXT the lowercase matrix
sys.string.repeat
- repeats each text in the text matrix by the number of times in the times matrix
result[x,y] = text[x,y] * times[x,y]
E.g. [dog, cat] * [3, 2] -> [dogdogdog, catcat]
- Input Matrices (Min: 2 Max: 2):
text TEXT the texts to repeattimes NUMERIC the times in which the texts have to be repeated- Output Matrices (Min: 1 Max: 1):
out TEXT cell by cell, the texts in the 'texts' matrix, repeated by the times in the 'times' matrix.
sys.string.replace
- Replaces a sequence of characters in the input text with another text.
The sequence to replace is defined by the matrices 'from' and 'until', where 'from' is the index of the first characted to be replaced, 'until' is the index of the character after the last one to be replaced.
The text used as replacement are in the 'replacement' matrix.
Out[x,y] = replace(In[x,y], From[x,y], Until[x,y], Replacement[x,y]) - Input Matrices (Min: 4 Max: 4):
in TEXT the matrix containing the texts that get partially replaced.replacement TEXT the texts used to replace the selected characters in the 'in' texts.from NUMERIC the index of the first characted to be replaceduntil NUMERIC the index of the first character not being replaced (the last characted replaced has index = 'until'-1)- Output Matrices (Min: 1 Max: 1):
out TEXT The texts used to replace the selected characters in the 'in' matrix
sys.string.substring
- for each string in the matrix, calculates its substring using the String.substring function in java.
String.substring(begin) if the end parameter is not given
String.substring(begin,end) otherwise
The calculation terminates with an error and does not give a result if the parameters are out of the bounds of the original string. - Input Matrices (Min: 1 Max: 1):
in TEXT the input matrix containing the strings to substring- Output Matrices (Min: 1 Max: 1):
out TEXT the result of the substring operation- Parameters:
begin NUMERIC the start of the substring (0-based)end NUMERIC the end of the substring, excluded (0-based). If not entered, the whole string is considered
Optional
sys.string.substringby
- for each string in the "in" matrix, calculates its substring using the String.substring function in java.
It used the "begin" and optionally the "end" matrices to determine which part of the string to extract.
If "end" is not set, the substring contains all the characters of the original string starting from the index defined in "begin".
The calculation terminates with an error and does not give a result if the indices are out of the bounds of the original string. - Input Matrices (Min: 2 Max: 3):
in TEXT Contains the strings to extract the substrings frombegin NUMERIC for each string in the "in" matrix, contains the zero-based index, in the string, of the first character of the extracted substringend NUMERIC for each string in the "in" matrix, contains the zero-based index, in the string, of the first character not in extracted substring (last + 1)- Output Matrices (Min: 1 Max: 1):
out TEXT for each string in the "in" matrix, contains the substing extracted from it
sys.string.trim
- trims all the strings in the input matrix string by string
- Input Matrices (Min: 1 Max: 1):
in TEXT the matrix with the strings to trim- Output Matrices (Min: 1 Max: 1):
out TEXT trimmed strings
sys.string.trimleft
- left-trims every text in the matrix: removes all spaces at the start of each text.
- Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to trim- Output Matrices (Min: 1 Max: 1):
trimmed TEXT the trimmed texts
sys.string.trimright
- right-trims every text in the matrix: removes all spaces at the end of each text.
- Input Matrices (Min: 1 Max: 1):
texts TEXT the texts to trim- Output Matrices (Min: 1 Max: 1):
trimmed TEXT the trimmed texts
sys.string.uppercase
- convert all the strings in the input matrix to uppercase
- Input Matrices (Min: 1 Max: 1):
in TEXT the matrix to uppercase- Output Matrices (Min: 1 Max: 1):
out TEXT the uppercased matrix
sys.string.uppercasefirst
- For all the strings in the input matrix, changes the case of the first letter to uppercase.
out[x,y] = uppercasefirst(in[x,y]) - Input Matrices (Min: 1 Max: 1):
strings TEXT the strings that get their first letter changed to uppercase- Output Matrices (Min: 1 Max: 1):
out TEXT the uppercased strings
sys.util.at
- to get the values in matrixItem that have coordinates x,y, where x and y are in the matrices matrixX and matrixY. If matrixX is not given, then 0 is assumed as x coordinate, which works fine for vectors
- Input Matrices (Min: 2 Max: 3):
items ANY the matrix containing the items to copy to the output matrixy NUMERIC the y coordinatesx NUMERIC the x coordinate- Output Matrices (Min: 1 Max: 1):
out ANY the output matrix containing the values items(x,y)
sys.util.convertunit
- Converts the values in the input matrix from a measurement unit to another.
out[x,y]=convertunit(in[x,y],unitfrom, unitto)
Availabe units grouped by type:
angstrom
foot
inch
meter
mile
nautical_league
yard
fluid_ounce
gallon
liter
pint_uk
pint_us
quart
horsepower
watt
gauss
tesla
day
hour
minute
second
year
atomic_mass
kilogram
ounce
pound
dyne
newton
pound_force
atmosphere
mercury_mm
pascal
calorie
electronvolt
horsepower_hour
joule
pound_foot
watt_hour - Input Matrices (Min: 1 Max: 1):
in NUMERIC the values in the original measurement unit- Output Matrices (Min: 1 Max: 1):
out NUMERIC the values in the 'in' matrix converted to the final measurement unit.- Parameters:
unitfrom TEXT the original measurement unit
Choices: angstrom,atmosphere,atomic_mass,calorie,day,dyne,electronvolt,fluid_ounce,foot,gallon,gauss,horsepower,horsepower_hour,hour,inch,joule,kilogram,liter,mercury_mm,meter,mile,minute,nautical_league,newton,ounce,pascal,pint_uk,pint_us,pound,pound_foot,pound_force,quart,second,tesla,watt,watt_hour,yard,yearunitto TEXT the final measurement unit
Choices: angstrom,atmosphere,atomic_mass,calorie,day,dyne,electronvolt,fluid_ounce,foot,gallon,gauss,horsepower,horsepower_hour,hour,inch,joule,kilogram,liter,mercury_mm,meter,mile,minute,nautical_league,newton,ounce,pascal,pint_uk,pint_us,pound,pound_foot,pound_force,quart,second,tesla,watt,watt_hour,yard,year
sys.util.fromstring
- transforms a string matrix to the result matrix (with a fixed type)
- Input Matrices (Min: 1 Max: 1):
stringmatrix TEXT the matrix containing strings- Output Matrices (Min: 1 Max: 1):
typedmatrix ANY the converted matrix (decides the type)
sys.util.hbreak
- breaks the matrix in smaller matrices horizontally. It produces matrices made with the columns of the original one.
- Input Matrices (Min: 2 Max: 3):
toBreak ANY the matrix to breakstartX NUMERIC the array of columns where the small matrices startwidth NUMERIC the array of sizes of the small matrices. If not given an array of 1 is assumed.- Output Matrices (Min: 1 Max: 64):
result ANY the matrix resulted from the breaking
sys.util.hglue
- merges two or more matrices with the same horizontal size in one big matrix. The columns of the input matrices become the columns of the final matrix.
- Input Matrices (Min: 1 Max: 64):
toglue ANY matrix to glue- Output Matrices (Min: 1 Max: 1):
glued ANY the final matrix
sys.util.lookup
- finds the matrix 'what' items in the matrix 'where', and returns two position matrices, x and y
- Input Matrices (Min: 2 Max: 2):
where ANY matrix where to find the itemswhat ANY matrix containing the items to find- Output Matrices (Min: 2 Max: 2):
x NUMERIC the x cohordinates of the positionsy NUMERIC the y cohordinates of the positions
sys.util.queue
- adds the matrix "toAdd" at the end of the matrix "queue".
- Input Matrices (Min: 1 Max: 1):
toAdd ANY the matrix to attach to the end of the "queue" matrix- Output Matrices (Min: 1 Max: 1):
queue ANY the matrix that is expanded with the matrix "toAdd"- Parameters:
side TEXT the side of the "queue" matrix to attach the "toAdd" matrix to
Choices: BOTTOM,RIGHT,TOP,LEFT
sys.util.size
- Returns the size of a set of matrices as an sizeX vector and an sizeY vector
- Input Matrices (Min: 1 Max: 64):
in ANY the matrix to get the size of- Output Matrices (Min: 2 Max: 2):
sizeX NUMERIC the x size of each matrix as a vectorsizeY NUMERIC the x size of each matrix as a vector
sys.util.sort
- sorts all the input matrices by the first column of the first matrix
- Input Matrices (Min: 1 Max: 64):
matrixKey ANY The matrix whose first column is used as key to sort all the input matrices. matrixValue ANY matrix that is sorted by the first column of matrixKey- Output Matrices (Min: 1 Max: 64):
sortedKey ANY the key matrix sortedsortedValue ANY the matrix resulted by the sort of the matrix with the same index in the input
sys.util.tostring
- converts a typed matrix into a string matrix
- Input Matrices (Min: 1 Max: 1):
typedmatrix ANY the matrix to convert- Output Matrices (Min: 1 Max: 1):
stringmatrix TEXT the final matrix with all text elements
sys.util.transpose
- transposes a matrix of any type
- Input Matrices (Min: 1 Max: 1):
totranspose ANY the matrix to transpose- Output Matrices (Min: 1 Max: 1):
transposed ANY the input matrix transposed
sys.util.vbreak
- breaks the matrix in smaller matrices vertically. It produces matrices made with the rows of the original one.
- Input Matrices (Min: 2 Max: 3):
toBreak ANY the matrix to breakstartY NUMERIC the array of the positions in which the small matrices startheight NUMERIC the array of the heights of the small matrices. If not given an array of 1 is assumed.- Output Matrices (Min: 1 Max: 64):
result ANY the result of the breaking
sys.util.vglue
- merges together matrices with the same width to a big matrix. The rows of the input matrices become the rows of the final matrix.
- Input Matrices (Min: 1 Max: 64):
toglue ANY the matrix to merge- Output Matrices (Min: 1 Max: 1):
glued ANY the merged matrix