INVERSE - matrix inversion
This procedure computes C = inverse(A), where A and C are matrices.
Usage
The INVERSE stored procedure has the following syntax:
- INVERSE(matrixA,matrixC)
- Parameters
- matrixA
- The name of input matrix A.
- matrixC
- The name of output matrix C.
Examples
CALL nzm..CREATE_RANDOM_MATRIX('A6K', 6000, 6000);
CALL nzm..GEMM_LARGE('A6K', FALSE,'A6K', TRUE,'L6K');
CALL nzm..INVERSE('L6K','I6K');
CALL nzm..INVERSE_SMALL('L6K', 'S6K');
CALL nzm..DELETE_MATRIX('A6K' );
CALL nzm..DELETE_MATRIX('L6K' );
CALL nzm..DELETE_MATRIX('I6K' );
CALL nzm..DELETE_MATRIX('S6K' );
CALL nzm..CREATE_RANDOM_MATRIX('A5K', 5000, 5000);
CALL nzm..GEMM_LARGE('A5K', FALSE,'A5K', TRUE,'L5K');
CALL nzm..INVERSE('L5K', 'I5K');
CALL nzm..INVERSE_SMALL('L5K', 'S5K');
CALL nzm..DELETE_MATRIX('A5K' );
CALL nzm..DELETE_MATRIX('L5K' );
CALL nzm..DELETE_MATRIX('I5K' );
CALL nzm..DELETE_MATRIX('S5K' );
CALL nzm..CREATE_RANDOM_MATRIX('A4K', 4000, 4000);
CALL nzm..GEMM_LARGE('A4K', FALSE,'A4K', TRUE,'L4K');
CALL nzm..INVERSE('L4K', 'I4K');
CALL nzm..INVERSE_SMALL('L4K', 'S4K');
CALL nzm..DELETE_MATRIX('A4K' );
CALL nzm..DELETE_MATRIX('L4K' );
CALL nzm..DELETE_MATRIX('I4K' );
CALL nzm..DELETE_MATRIX('S4K' );
CALL nzm..CREATE_RANDOM_MATRIX('A3K', 3000, 3000);
CALL nzm..GEMM_LARGE('A3K', FALSE,'A3K', TRUE,'L3K');
CALL nzm..INVERSE('L3K', 'I3K');
CALL nzm..INVERSE_SMALL('L3K', 'S3K');
CALL nzm..DELETE_MATRIX('A2K' );
CALL nzm..DELETE_MATRIX('L2K' );
CALL nzm..DELETE_MATRIX('I2K' );
CALL nzm..DELETE_MATRIX('S2K' );
CALL nzm..CREATE_RANDOM_MATRIX('A2K', 2000,2000);
CALL nzm..GEMM_LARGE('A2K', FALSE,'A2K', TRUE,'L2K');
CALL nzm..INVERSE('L2K', 'I2K');
CALL nzm..INVERSE_SMALL('L2K', 'S2K');
CALL nzm..DELETE_MATRIX('A2K' );
CALL nzm..DELETE_MATRIX('L2K' );
CALL nzm..DELETE_MATRIX('I2K' );
CALL nzm..DELETE_MATRIX('S2K' );
CALL nzm..CREATE_RANDOM_MATRIX('A15K', 1500, 1500);
CALL nzm..GEMM_LARGE('A15K', FALSE,'A15K', TRUE,'L15K');
CALL nzm..INVERSE('L15K', 'I15K');
CALL nzm..INVERSE_SMALL('L15K', 'S15K');
CALL nzm..DELETE_MATRIX('A15K' );
CALL nzm..DELETE_MATRIX('L15K' );
CALL nzm..DELETE_MATRIX('I15K' );
CALL nzm..DELETE_MATRIX('S15K' );
CALL nzm..CREATE_RANDOM_MATRIX('A1K', 1000, 1000);
CALL nzm..GEMM_LARGE('A1K',FALSE,'A1K', TRUE,'L1K');
CALL nzm..INVERSE('L1K', 'I1K');
CALL nzm..INVERSE_SMALL('L1K', 'S1K');
CALL nzm..DELETE_MATRIX('A1K' );
CALL nzm..DELETE_MATRIX('L1K' );
CALL nzm..DELETE_MATRIX('I1K' );
CALL nzm..DELETE_MATRIX('S1K' );
CALL nzm..CREATE_RANDOM_MATRIX('A05K', 500, 500);
CALL nzm..GEMM_LARGE('A05K', FALSE,'A05K', TRUE,'L05K');
CALL nzm..INVERSE('L05K', 'I05K');
CALL nzm..INVERSE_SMALL('L05K', 'S05K');
CALL nzm..DELETE_MATRIX('A05K' );
CALL nzm..DELETE_MATRIX('L05K' );
CALL nzm..DELETE_MATRIX('I05K' );
CALL nzm..DELETE_MATRIX('S05K' );
CALL nzm..CREATE_RANDOM_MATRIX('A25K', 250, 250);
CALL nzm..GEMM_LARGE('A25K', FALSE,'A25K', TRUE,'L25K');
CALL nzm..INVERSE('L25K', 'I25K');
CALL nzm..INVERSE_SMALL('L25K', 'S25K');
CALL nzm..DELETE_MATRIX('A25K' );
CALL nzm..DELETE_MATRIX('L25K' );
CALL nzm..DELETE_MATRIX('I25K' );
CALL nzm..DELETE_MATRIX('S25K' );
CALL nzm..CREATE_RANDOM_MATRIX('A10K', 100, 100);
CALL nzm..GEMM_LARGE('A10K', FALSE,'A10K', TRUE,'L10K');
CALL nzm..INVERSE('L10K', 'I10K');
CALL nzm..INVERSE_SMALL('L10K', 'S10K');
CALL nzm..DELETE_MATRIX('A10K' );
CALL nzm..DELETE_MATRIX('L10K' );
CALL nzm..DELETE_MATRIX('I10K' );
CALL nzm..DELETE_MATRIX('S10K' );
CALL nzm..CREATE_RANDOM_MATRIX('A10K', 10, 10);
CALL nzm..GEMM_LARGE('A10K', FALSE,'A10K', TRUE,'L10K');
CALL nzm..INVERSE('L10K', 'I10K');
CALL nzm..INVERSE_SMALL('L10K', 'S10K');
CALL nzm..DELETE_MATRIX('A10K' );
CALL nzm..DELETE_MATRIX('L10K' );
CALL nzm..DELETE_MATRIX('I10K' );
CALL nzm..DELETE_MATRIX('S10K' );
CREATE_ONES_MATRIX
--------------------
t
(1 row)
INVERSE
---------
t
(1 row)
PRINT
--------------------------------------------------------------------------------------------------
-- matrix: B --
0.11111111111111, 0.11111111111111, 0.11111111111111
0.11111111111111, 0.11111111111111, 0.11111111111111
0.11111111111111, 0.11111111111111, 0.11111111111111
(1 row)
DELETE_MATRIX
---------------
t
(1 row)
DELETE_MATRIX
---------------
t
(1 row)