Satimage
Dictionary of Numerics
Home The dictionaries Dictionary of Numerics  
Linear algebra
FFT and convolution
Image files
3D array handling
Linear algebra
real vectors and real matrices must be provided as "array of real" and "matrix" (see the Satimage.osax). Complex vectors and matrices must be provided as list of 2 arrays of real or 2 matrices.

Lapack result n : for complex data, each term list of two terms {real,imag}

properties

eigenvalues array of real : Eigenvalues E

eigenvectors matrix : Eigenvectors

right eigenvectors matrix : Right Eigenvectors

left eigenvectors matrix : Left Eigenvectors

uppermatrix matrix : upper matrix from LU decomposition

lowermatrix matrix : lower matrix from LU decomposition

permutation vector matrix : Permutation vector

determinant real : determinant



transpose v : transpose a matrix. Provide a list of two matrices to transpose a complex matrix

transpose matrix : the matrix

[adjoint boolean] : For complex matrix only: request the adjoint of the direct parameter. Default: true

matrix : the transposed matrix

multmatrix v : matrix x matrix, vector x matrix, matrix x vector, vector x vector (scalar product). Here vector stands for array of real. Provide a list of two matrices to define a complex matrix

multmatrix anything : array of real or matrix

with anything : array of real or matrix

anything : real, array of real or matrix

invertmatrix v : invert a matrix

invertmatrix matrix : a matrix or a list of two matrices {A_real,A_imag}

[positive boolean] : false: general matrix, true: positive symmetric or Hermitian matrix. default: false

→ record : return the inverse matrix (with ipiv). Determinant is always calculated

solve linear system v : Solve X for the linear system AX=B

solve linear system matrix : a matrix or a list of two matrices {A_real,A_imag}

RHS array of real : B as array of real or a matrix representing the vectors in columns {B1,B2, ...} (for complex a list of two arrays of real or a list of two matrices)

[symmetry boolean] : false: general matrix, true: symmetric or Hermitian matrix. default: false

[positive boolean] : true for definite positive matrix. default: false

array of real : or a matrix if "RHS" is a matrix. Errors with small positive number n means minor n of A is not positive

compute eigenvalues v : compute eigenvalues and eigenvectors of a matrix

compute eigenvalues matrix : a square matrix

[eigenvects boolean] : true: compute the eigenvectors. default: false

[Vtype integer] : used when eigenvects are required for non symmetric matrices. 0:right, 1:left, 2:both eigenvects. default: 0

[symmetry boolean] : false: general matrix, true: symmetric or Hermitian matrix. default: false

[conquer boolean] : false: standard driver, true: use divide-and-conquer driver in case of symmetric inputs. default: true

[irange list of integer] : a list of two integers {i1,i2}: eigenvalues (eigenvectors) from i1 to i2 are computed

[erange list of real] : the lower VL and upper VU bounds of the interval to be searched for eigenvalues. VL < VU

[RHS matrix] : Solve the generalized problem with right hand side: Ax = lamba Bx. If symmetry is true, RHS has to be symmetric definite positive and Itype describes the following cases. Itype=1: Ax = lamba Bx, Itype=2: ABx = lambda x, Itype=3: BAx = lambda x

[Itype integer] : see descrition of "RHS", default: 1

→ record : {eigenvalues:array of real or a list of 2 arrays of real, eigenvectors (or right eigenvectors and left eigenvectors if Vtype=2): matrix or a list of 2 matrices}

LUdecomposition v : returns the A=PLU decomposition or the Cholesky decomposition (A=U**TU) of a matrix A. P is a permutation matrix, L a lower triangular matrix and U an upper triangular matrix

LUdecomposition matrix : you can provide a list of two matrices to define a complex matrix

[positive boolean] : false: general matrix, compute LU decomposition. True: compute Chowlesky decomposition; in this case the matrix A has to be positive symmetric or Hermitian. Default: false

Lapack result : {uppermatrix:matrix, lowermatrix:matrix, permutation vector:array of real, determinant:real}. lowermatrix and permutation vector are not provided in case of Chowlesky decomposition. If you have provided a complex matrix, the results are lists of two matrices {real, imaginary}

pivot v : Apply the permutation defined by the permutation vector of the result of LUdecomposition

pivot array of real : the permutation vector as returned by LUdecomposition

[to anything] : matrix or array of real

anything

compute determinant v : determinant of a matrix

compute determinant matrix : a square matrix. You can provide a list of two matrices to define a complex matrix

[positive boolean] : false: general matrix, true: positive symmetric or Hermitian matrix. default: false

→ real : or a list of 2 reals {re(det), im(det)}

FFT and convolution

fft1d v : normalized, general fast Fourier transform. This is a general interface allowing grouped and n-dimensional fft. Time is of order Nlog(N) but is better when the size of vectors is a product of powers of small prime numbers

fft1d array of real : or a list {real part, imaginary part} of 2 arrays of real

[inverse boolean] : default false, if true the inverse fft

[lot integer] : the number of vectors to transform

[vector size integer] : the number of elements of each vector

[vector step integer] : the distance between elements in a vector

[vector offset integer] : the distance between vectors

array of real : {real part, imaginary part} of the resulting fft

fft2d v : 2d fast Fourier transform

fft2d matrix : or a list {real part, imaginary part} of 2 matrices

[inverse boolean] : default false, if true the inverse fft

matrix : {real part, imaginary part} of the resulting fft

filterarray v : performs convolution. result is r(i)=sum over j of (s(i-j)f(j))

filterarray array of real : the signal s (size ns)

using array of real : the filter f (size nf)

correlation boolean : calculate correlation instead of convolution

array of real : the result r. its size is nr=ns-nf+1

convolve v : a function f by a function g. Returns the sum over j of f(i-j)*g(j). If not circular f is padded with n 0's outside its definition set

convolve array of real : the function f: an array of real of size n

by array of real : the function g: an array of real of size m. If m≠n, either f or g is padded with 0's

[circular boolean] : the functions f and g are periodized with period max(n,m). Default: true

array of real : if circular size of the result is max(n,m), else 2*max(n,m)-1

correlate v : returns the sum over j of (f(i+j)-<f>)*(g(j)-<g>)

correlate array of real : the signal (size n)

to array of real : another signal of size n

[circular boolean] : the signals are periodized with period n. Default: true

[normalized boolean] : if normalized the result of "correlate x to x" is smaller than 1 and takes the value 1 at index 1 if circular, and at index n if not circular. Default: true

array of real : if circular size of the result is n, else 2*n-1 and the origin (i=0) is at index n

interpolate v

interpolate [list of array of real] : {xs,ys}

at array of real : the new xs

[period real]

[linear boolean] : linear interpolation vs. spline. Default false.

[boundary conditions list of real] : {dy1,dyn}

array of real : the new ys

Image files
utilities for image processing.

imagefile bounds v : return the bounds of a bitmap image (JPEG, TIFF etc.)

imagefile bounds alias

bounding rectangle

convert imagefile v : return the array of the gray levels of a bitmap image (JPEG, TIFF etc.)

convert imagefile alias

[selected rectangle bounding rectangle]

matrix

create grayimagefile v : convert matrix values into 256 levels then save it as a gray bitmap image (PNG, JPEG, TIFF etc.)

create grayimagefile matrix

in file specification : destination file. Its extension specifies the image format

[inverted boolean] : inverse image levels. Default false

[minimum real] : matrix values equal or greater than this value are set to 255. Default: maximum of the matrix values

[maximum real] : matrix values equal or lower than this value are set to 0. Default: minimum of the matrix values

[resolution integer] : image resolution. Default: 72dpi

alias

particles v : find particles in an image

particles matrix : the image as a matrix containing the grey levels

threshold real

[data boolean] : get xdata and ydata info in the result record

[minimum real] : minimum area

[maximum real] : maximum area

→ record : info on particles

3D array handling
commands to handle 3D arrays. "open3D" loads a 3D array in memory and returns an ID number. You refer to a 3D array either with its ID or its name

Array3DRef n : a reference to an opened 3D array


open3D v : Loads a 3D array and returns an ID for it. The memory must be released with "close3D"

open3D [string] : the name of the 3D array

dimensions list of integer : the 3 dimensions {nx, ny, nz} of the array. nx, ny and, nz are either an integer or an array of real altogether defining the size and the scale. If a dimension is an integer the scale is assumed to be {0, 1, 2, ...}

field array of real : an array of real (or a list of 3 arrays of real defining a vector field) with nz as leading dimension. The value for {ix, iy, iz} must be at offset ix+nx*iy+nx*ny*iz

Array3DRef : ID to the 3D array

close3D v : release the memory associated to a opened 3D array

close3D Array3DRef : a reference to an opened 3D array (or its name)

info3D v

info3D Array3DRef : a reference to an opened 3D array (or its name)

→ record : the dimensions and scales

contents3D v

contents3D Array3DRef : a reference to an opened 3D array (or its name)

array of real : the data

list3D v

list3D

[as anything] : list3D as string returns the names of the opened 3D arrays instead of their references

→ list of Array3DRef : the references of the opened 3D arrays

rename3D v : rename an opened 3D array.

rename3D Array3DRef : a reference to an opened 3D array (or its name)

into string : the new name

extract3D v : Extract a subset from a 3D array

extract3D Array3DRef : a reference to an opened 3D array (or its name)

start list of integer : the 3 1-based offsets

length list of integer : the 3 lengths

[field index integer] : if the 3D array is a vector field, a number between 1 and 3. Default 1

array of real

isosurface v : computes an isosurface for a 3D field

isosurface Array3DRef : a reference to an opened 3D array (or its name)

at real : the isosurface value

[field index integer] : if the 3D array is a vector field, a number between 1 and 3. Default 1

array of real : the triangle list as an array of real that defines the isosurface

streamline v : Computes a streamline for an opened vector field

streamline Array3DRef : a reference to an opened 3D array (or its name)

starting at list of real : a point {x, y, z}

[resolution real] : Default 1. Smaller value increases the number of points in the streamline

[direction integer] : Default 1. Set to -1 to compute the streamline along opposite direction

array of real : the coordinates of the streamline's points {x1,y1,z1,...,xn,yn,zn}