#### D.3.2.6 diag_test

Procedure from library `linalg.lib` (see linalg_lib).

Usage:
  diag_test(A); A = const square matrix

Return:
  int, 1 if A is diagonalizable,
  0 if not
  -1 if no statement is possible, since A does not split.

Note:
  The test works only for split matrices, i.e if eigenvalues of A are in the ground field.
  Does not work with parameters (uses factorize,gcd).

Example:

    LIB "linalg.lib";
    ring r=0,(x),dp;
    matrix A[4][4]=6,0,0,0,0,0,6,0,0,6,0,0,0,0,0,6;
    print(A);
    ==> 6,0,0,0,
    ==> 0,0,6,0,
    ==> 0,6,0,0,
    ==> 0,0,0,6
    diag_test(A);
    ==> 1

User manual for Singular version 4.4.1, 2025, generated by texi2html.