1#!perl 2 3use strict; 4use warnings; 5 6use Math::Matrix; 7use Test::More tests => 10; 8 9my ($x, $y); 10$x = Math::Matrix -> new([[ 3, -1, 5 ], 11 [ 4, 0, 2 ], 12 [ 2, 6, -5 ]]); 13 14$y = $x -> cofactor(0, 0); 15cmp_ok($y, '==', -12, 'cofactor(0, 0)'); 16 17$y = $x -> cofactor(0, 1); 18cmp_ok($y, '==', 24, 'cofactor(0, 1)'); 19 20$y = $x -> cofactor(0, 2); 21cmp_ok($y, '==', 24, 'cofactor(0, 2)'); 22 23$y = $x -> cofactor(1, 0); 24cmp_ok($y, '==', 25, 'cofactor(1, 0)'); 25 26$y = $x -> cofactor(1, 1); 27cmp_ok($y, '==', -25, 'cofactor(1, 1)'); 28 29$y = $x -> cofactor(1, 2); 30cmp_ok($y, '==', -20, 'cofactor(1, 2)'); 31 32$y = $x -> cofactor(2, 0); 33cmp_ok($y, '==', -2, 'cofactor(2, 0)'); 34 35$y = $x -> cofactor(2, 1); 36cmp_ok($y, '==', 14, 'cofactor(2, 1)'); 37 38$y = $x -> cofactor(2, 2); 39cmp_ok($y, '==', 4, 'cofactor(2, 2)'); 40 41# Verify that $x is unmodified. 42 43is_deeply([ @$x ], [[ 3, -1, 5 ], 44 [ 4, 0, 2 ], 45 [ 2, 6, -5 ]], '$x is unmodified'); 46