Goto Chapter: Top 1 2 3 4 5 Ind
Top of Book Previous Chapter Next Chapter

5 Internal Function Reference
5.1 Kernel Module Functions
5.1-1 LinBox.DETERMINANT
5.1-2 LinBox.RANK
5.1-3 LinBox.TRACE
5.1-4 LinBox.SOLVE
5.1-5 LinBox.TEST_INT_CONVERSION_INTERNAL
5.1-6 LinBox.TEST_VECTOR_CONVERSION_INTERNAL
5.1-7 LinBox.TEST_MATRIX_CONVERSION_INTERNAL
5.1-8 LinBox.MAX_GAP_SMALL_INT
5.1-9 LinBox.FIELD_DATA
5.1-10 LinBox.TEST_INT_CONVERSION
5.1-11 LinBox.TEST_VECTOR_CONVERSION
5.1-12 LinBox.TEST_MATRIX_CONVERSION

### 5 Internal Function Reference

These are functions that are used internally in the LinBox package. They should not be needed by users of the package, but may be useful to developers and are provided for completeness

#### 5.1 Kernel Module Functions

These functions are implemented directly in C or C++ in the kernel module.

##### 5.1-1 LinBox.DETERMINANT

`> LinBox.DETERMINANT`( M, field-id ) | ( function )

Kernel module function to calculate the determinant of a matrix. Called by the wrapper `LinBox.DeterminantMat` (3.1-1). The field-id parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.

##### 5.1-2 LinBox.RANK

`> LinBox.RANK`( M, field-id ) | ( function )

Kernel module function to calculate the rank of a matrix. Called by the wrapper `LinBox.RankMat` (3.1-2). The field-id parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.

##### 5.1-3 LinBox.TRACE

`> LinBox.TRACE`( M, field-id ) | ( function )

Kernel module function to calculate the determinant of a matrix. Called by the wrapper `LinBox.TraceMat` (3.1-3). The field-id parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field.

##### 5.1-4 LinBox.SOLVE

`> LinBox.SOLVE`( M, b, field-id ) | ( function )

Kernel module function to calculate the solution of a matrix. Called by the wrapper `LinBox.SolutionMat` (3.1-4). The field-id parameter should be 0 when the matrix and vector contains integers, or the size of the field if the matrix and vector are over a finite field (which must naturally be the same for both).

##### 5.1-5 LinBox.TEST_INT_CONVERSION_INTERNAL

`> LinBox.TEST_INT_CONVERSION_INTERNAL`( z ) | ( function )

Tests the GAP-LinBox and LinBox-GAP integer conversion. Returns the integer z (which may be large) after it has been converted into LinBox format and then back.

##### 5.1-6 LinBox.TEST_VECTOR_CONVERSION_INTERNAL

`> LinBox.TEST_VECTOR_CONVERSION_INTERNAL`( v, field-id ) | ( function )

Tests the GAP-LinBox and LinBox-GAP vector conversion. Returns the vector v after it has been converted into LinBox format and then back. The field-id parameter should be 0 for a vector of integers, or the size of the field if the vector is over a finite field. This function is called by `LinBox.TEST_VECTOR_CONVERSION` (5.1-11).

##### 5.1-7 LinBox.TEST_MATRIX_CONVERSION_INTERNAL

`> LinBox.TEST_MATRIX_CONVERSION_INTERNAL`( M, field-id ) | ( function )

Tests the GAP-LinBox and LinBox-GAP matrix conversion. Returns the matrix v after it has been converted into LinBox format and then back. The field-id parameter should be 0 for a matrix of integers, or the size of the field if the matrix is over a finite field. This function is called by `LinBox.TEST_MATRIX_CONVERSION` (5.1-12).

##### 5.1-8 LinBox.MAX_GAP_SMALL_INT

`> LinBox.MAX_GAP_SMALL_INT`( ) | ( function )

Kernel module function which returns the size of the largest integer that the LinBox kernel module thinks can be represented as a GAP small integer. This number is different on 32- or 64-bit machines, but LinBox tries to check with GAP when it compiles to find out which value to use.

      gap> z := LinBox.MAX_GAP_SMALL_INT();
      1152921504606846975
      gap> IsSmallIntRep(z);
      true
      gap> IsSmallIntRep(z+1);

##### 5.1-9 LinBox.FIELD_DATA

`> LinBox.FIELD_DATA`( M ) | ( function )

Checks that the field of the matrix M is one that is accepted by the kernel module, and if so returns data on the field for the kernel module to use. if the field is not compatible, then an error is thrown.

The field data is a plain record with three elements: `.field` is the field of the matrix (using `DefaultFieldOfMatrix` (Reference: DefaultFieldOfMatrix)); `id` is the field id read by the kernel module, which is zero for an integer (or rationals) matrix, or the fieldsize otherwise; the last element `one` is the one of the field.

If the matrix is over the integers or the rationals, then zero is returned. It is assumed that the matrix is over the integers (since we can't cope with rationals), but we check that each element is an integer when we convert it in the kernel module and throw an error if it is not.

##### 5.1-10 LinBox.TEST_INT_CONVERSION

`> LinBox.TEST_INT_CONVERSION`( z ) | ( function )

Convert the integer z into the internal LinBox format and back again, returning the result.

##### 5.1-11 LinBox.TEST_VECTOR_CONVERSION

`> LinBox.TEST_VECTOR_CONVERSION`( v ) | ( function )

Convert the vector v into the internal LinBox format and back again, returning the result.

##### 5.1-12 LinBox.TEST_MATRIX_CONVERSION

`> LinBox.TEST_MATRIX_CONVERSION`( M ) | ( function )

Convert the matrix M into the internal LinBox format and back again, returning the result.

Top of Book Previous Chapter Next Chapter
Goto Chapter: Top 1 2 3 4 5 Ind

generated by GAPDoc2HTML