| #### 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-0-2, 2015, generated by texi2html.