record mtx

DescriptionHierarchyFieldsMethodsProperties

Unit

Declaration

type mtx = record

Description

mtx: abstract matrix data type

TODO a pointer to the relevant discussion in the GSL and elsewhere and explain in detail the data structure

All elements of the matrix are stored in a memory area pointed to by mtx.e; (e[0] is not used as Fortran and Scilab math indexing from 1 to n rather than C style) e[1] is the first element of the matrix i.e. (1,1). The fields e.dl and e.dc are the offset to add to the index of e[i] to access the next element within the same row or column. This enables to use several mtx records pointing to the same memory area but with different indexing schemes. For instance a transposed matrix can be done by swaping dl and dc values. This simple setup enables to handle compact sub matrices in a fairly efficient and simple way. See for instance the documentation of the GNU Scientific Library.

Overview

Fields

smx: boolean;
nam: string;
lgn: longint;
col: longint;
max: longint;
dl: longint;
dc: longint;
t: boolean;
e: ˆdouble;
dyn: boolean;
mat: Pmatrix;
vec: Pvector;

Description

Fields

smx: boolean;

slice flag: True if the record is a slice; False plain matrix.

nam: string;

matrix name; may be an empty string

lgn: longint;

number of rows (ligne in french)

col: longint;

number of columns

max: longint;

maximum number within the current allocated block

dl: longint;

index offset for adjacent elements of the same row

dc: longint;

index offset for adjacent elements of the same column

t: boolean;

transposition flag

e: ˆdouble;

pointer to the top left (first) element of the matrix

dyn: boolean;

true if matrix is stored in dynamic memory and can be reallocated

mat: Pmatrix;

stubb to use GSL matrix of doubles

vec: Pvector;

stubb to use GSL vectors of doubles


Generated by PasDoc 0.11.0 on 2010-10-04 16:33:27