def rosser1_test(): #*****************************************************************************80 # ## ROSSER1_TEST tests ROSSER1. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 10 February 2015 # # Author: # # John Burkardt # from r8mat_print import r8mat_print print '' print 'ROSSER1_TEST' print ' ROSSER1 computes the ROSSER1 matrix.' n = 8 a = rosser1() r8mat_print(n, n, a, ' ROSSER1 matrix:') print '' print 'ROSSER1_TEST' print ' Normal end of execution.' return
def rosser1_test ( ): #*****************************************************************************80 # ## ROSSER1_TEST tests ROSSER1. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 10 February 2015 # # Author: # # John Burkardt # from r8mat_print import r8mat_print print '' print 'ROSSER1_TEST' print ' ROSSER1 computes the ROSSER1 matrix.' n = 8 a = rosser1 ( ) r8mat_print ( n, n, a, ' ROSSER1 matrix:' ) print '' print 'ROSSER1_TEST' print ' Normal end of execution.' return
def rosser1_determinant_test ( ): #*****************************************************************************80 # ## ROSSER1_DETERMINANT_TEST tests ROSSER1_DETERMINANT. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 23 February 2015 # # Author: # # John Burkardt # from rosser1 import rosser1 from r8mat_print import r8mat_print print '' print 'ROSSER1_DETERMINANT_TEST' print ' ROSSER1_DETERMINANT computes the ROSSER1 determinant.' seed = 123456789 m = 8 n = m a = rosser1 ( ) r8mat_print ( n, n, a, ' ROSSER1 matrix:' ) value = rosser1_determinant ( ) print ' Value = %g' % ( value ) print '' print 'ROSSER1_DETERMINANT_TEST' print ' Normal end of execution.' return
def rosser1_determinant_test(): #*****************************************************************************80 # ## ROSSER1_DETERMINANT_TEST tests ROSSER1_DETERMINANT. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 23 February 2015 # # Author: # # John Burkardt # from rosser1 import rosser1 from r8mat_print import r8mat_print print '' print 'ROSSER1_DETERMINANT_TEST' print ' ROSSER1_DETERMINANT computes the ROSSER1 determinant.' seed = 123456789 m = 8 n = m a = rosser1() r8mat_print(n, n, a, ' ROSSER1 matrix:') value = rosser1_determinant() print ' Value = %g' % (value) print '' print 'ROSSER1_DETERMINANT_TEST' print ' Normal end of execution.' return
def test_null_right(): #*****************************************************************************80 # ## TEST_NULL_RIGHT tests right null vectors. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 12 March 2015 # # Author: # # John Burkardt # from a123 import a123 from a123 import a123_null_right from archimedes import archimedes from archimedes import archimedes_null_right from cheby_diff1 import cheby_diff1 from cheby_diff1 import cheby_diff1_null_right from creation import creation from creation import creation_null_right from dif1 import dif1 from dif1 import dif1_null_right from dif1cyclic import dif1cyclic from dif1cyclic import dif1cyclic_null_right from dif2cyclic import dif2cyclic from dif2cyclic import dif2cyclic_null_right from fibonacci1 import fibonacci1 from fibonacci1 import fibonacci1_null_right from hamming import hamming from hamming import hamming_null_right from line_adj import line_adj from line_adj import line_adj_null_right from moler2 import moler2 from moler2 import moler2_null_right from neumann import neumann from neumann import neumann_null_right from one import one from one import one_null_right from r8_uniform_ab import r8_uniform_ab from r8mat_is_null_right import r8mat_is_null_right from r8mat_norm_fro import r8mat_norm_fro from r8vec_norm_l2 import r8vec_norm_l2 from ring_adj import ring_adj from ring_adj import ring_adj_null_right from rosser1 import rosser1 from rosser1 import rosser1_null_right from zero import zero from zero import zero_null_right print '' print 'TEST_NULL_RIGHT' print ' A = a test matrix of order M by N' print ' x = an N vector, candidate for a right null vector.' print '' print ' ||A|| = Frobenius norm of A.' print ' ||x|| = L2 norm of x.' print ' ||A*x||/||x|| = L2 norm of A*x over L2 norm of x.' print '' print ' Title M N ', print '||A|| ||x|| ||A*x||/||x||' print '' # # A123 # title = 'A123' m = 3 n = 3 a = a123() x = a123_null_right() error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ARCHIMEDES # title = 'ARCHIMEDES' m = 7 n = 8 a = archimedes() x = archimedes_null_right() error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CHEBY_DIFF1 # title = 'CHEBY_DIFF1' m = 5 n = m a = cheby_diff1(n) x = cheby_diff1_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CREATION # title = 'CREATION' m = 5 n = m a = creation(m, n) x = creation_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1 # Only has null vectors for N odd. # title = 'DIF1' m = 5 n = m a = dif1(m, n) x = dif1_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1CYCLIC # title = 'DIF1CYCLIC' m = 5 n = m a = dif1cyclic(n) x = dif1cyclic_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF2CYCLIC # title = 'DIF2CYCLIC' m = 5 n = m a = dif2cyclic(n) x = dif2cyclic_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # FIBONACCI1 # title = 'FIBONACCI1' m = 5 n = m r8_lo = -5.0 r8_hi = +5.0 seed = 123456789 f1, seed = r8_uniform_ab(r8_lo, r8_hi, seed) f2, seed = r8_uniform_ab(r8_lo, r8_hi, seed) a = fibonacci1(n, f1, f2) x = fibonacci1_null_right(m, n, f1, f2) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # HAMMING # title = 'HAMMING' m = 5 n = (2**m) - 1 a = hamming(m, n) x = hamming_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # LINE_ADJ # title = 'LINE_ADJ' m = 7 n = m a = line_adj(n) x = line_adj_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # MOLER2 # title = 'MOLER2' m = 5 n = 5 a = moler2() x = moler2_null_right() error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # NEUMANN # title = 'NEUMANN' row_num = 5 col_num = 5 m = row_num * col_num n = row_num * col_num a = neumann(row_num, col_num) x = neumann_null_right(row_num, col_num) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ONE # title = 'ONE' m = 5 n = 5 a = one(m, n) x = one_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # RING_ADJ # N must be a multiple of 4 for there to be a null vector. # title = 'RING_ADJ' m = 12 n = 12 a = ring_adj(m, n) x = ring_adj_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ROSSER1 # title = 'ROSSER1' m = 8 n = 8 a = rosser1() x = rosser1_null_right() error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ZERO # title = 'ZERO' m = 5 n = 5 a = zero(m, n) x = zero_null_right(m, n) error_l2 = r8mat_is_null_right(m, n, a, x) norm_a_frobenius = r8mat_norm_fro(m, n, a) norm_x_l2 = r8vec_norm_l2(n, x) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # Terminate. # print '' print 'TEST_NULL_RIGHT:' print ' Normal end of execution.' return
def test_null_right ( ): #*****************************************************************************80 # ## TEST_NULL_RIGHT tests right null vectors. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 12 March 2015 # # Author: # # John Burkardt # from a123 import a123 from a123 import a123_null_right from archimedes import archimedes from archimedes import archimedes_null_right from cheby_diff1 import cheby_diff1 from cheby_diff1 import cheby_diff1_null_right from creation import creation from creation import creation_null_right from dif1 import dif1 from dif1 import dif1_null_right from dif1cyclic import dif1cyclic from dif1cyclic import dif1cyclic_null_right from dif2cyclic import dif2cyclic from dif2cyclic import dif2cyclic_null_right from fibonacci1 import fibonacci1 from fibonacci1 import fibonacci1_null_right from hamming import hamming from hamming import hamming_null_right from line_adj import line_adj from line_adj import line_adj_null_right from moler2 import moler2 from moler2 import moler2_null_right from neumann import neumann from neumann import neumann_null_right from one import one from one import one_null_right from r8_uniform_ab import r8_uniform_ab from r8mat_is_null_right import r8mat_is_null_right from r8mat_norm_fro import r8mat_norm_fro from r8vec_norm_l2 import r8vec_norm_l2 from ring_adj import ring_adj from ring_adj import ring_adj_null_right from rosser1 import rosser1 from rosser1 import rosser1_null_right from zero import zero from zero import zero_null_right print '' print 'TEST_NULL_RIGHT' print ' A = a test matrix of order M by N' print ' x = an N vector, candidate for a right null vector.' print '' print ' ||A|| = Frobenius norm of A.' print ' ||x|| = L2 norm of x.' print ' ||A*x||/||x|| = L2 norm of A*x over L2 norm of x.' print '' print ' Title M N ', print '||A|| ||x|| ||A*x||/||x||' print '' # # A123 # title = 'A123' m = 3 n = 3 a = a123 ( ) x = a123_null_right ( ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ARCHIMEDES # title = 'ARCHIMEDES' m = 7 n = 8 a = archimedes ( ) x = archimedes_null_right ( ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CHEBY_DIFF1 # title = 'CHEBY_DIFF1' m = 5 n = m a = cheby_diff1 ( n ) x = cheby_diff1_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CREATION # title = 'CREATION' m = 5 n = m a = creation ( m, n ) x = creation_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1 # Only has null vectors for N odd. # title = 'DIF1' m = 5 n = m a = dif1 ( m, n ) x = dif1_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1CYCLIC # title = 'DIF1CYCLIC' m = 5 n = m a = dif1cyclic ( n ) x = dif1cyclic_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF2CYCLIC # title = 'DIF2CYCLIC' m = 5 n = m a = dif2cyclic ( n ) x = dif2cyclic_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # FIBONACCI1 # title = 'FIBONACCI1' m = 5 n = m r8_lo = -5.0 r8_hi = +5.0 seed = 123456789 f1, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) f2, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) a = fibonacci1 ( n, f1, f2 ) x = fibonacci1_null_right ( m, n, f1, f2 ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # HAMMING # title = 'HAMMING' m = 5 n = ( 2 ** m ) - 1 a = hamming ( m, n ) x = hamming_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # LINE_ADJ # title = 'LINE_ADJ' m = 7 n = m a = line_adj ( n ) x = line_adj_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # MOLER2 # title = 'MOLER2' m = 5 n = 5 a = moler2 ( ) x = moler2_null_right ( ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # NEUMANN # title = 'NEUMANN' row_num = 5 col_num = 5 m = row_num * col_num n = row_num * col_num a = neumann ( row_num, col_num ) x = neumann_null_right ( row_num, col_num ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ONE # title = 'ONE' m = 5 n = 5 a = one ( m, n ) x = one_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # RING_ADJ # N must be a multiple of 4 for there to be a null vector. # title = 'RING_ADJ' m = 12 n = 12 a = ring_adj ( m, n ) x = ring_adj_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ROSSER1 # title = 'ROSSER1' m = 8 n = 8 a = rosser1 ( ) x = rosser1_null_right ( ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ZERO # title = 'ZERO' m = 5 n = 5 a = zero ( m, n ) x = zero_null_right ( m, n ) error_l2 = r8mat_is_null_right ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( n, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # Terminate. # print '' print 'TEST_NULL_RIGHT:' print ' Normal end of execution.' return
def test_null_left ( ): #*****************************************************************************80 # ## TEST_NULL_LEFT tests left null vectors. # # Licensing: # # This code is distributed under the GNU LGPL license. # # Modified: # # 17 March 2015 # # Author: # # John Burkardt # from a123 import a123 from a123 import a123_null_left from cheby_diff1 import cheby_diff1 from cheby_diff1 import cheby_diff1_null_left from creation import creation from creation import creation_null_left from dif1 import dif1 from dif1 import dif1_null_left from dif1cyclic import dif1cyclic from dif1cyclic import dif1cyclic_null_left from dif2cyclic import dif2cyclic from dif2cyclic import dif2cyclic_null_left from eberlein import eberlein from eberlein import eberlein_null_left from fibonacci1 import fibonacci1 from fibonacci1 import fibonacci1_null_left from lauchli import lauchli from lauchli import lauchli_null_left from line_adj import line_adj from line_adj import line_adj_null_left from moler2 import moler2 from moler2 import moler2_null_left from one import one from one import one_null_left from r8_uniform_ab import r8_uniform_ab from r8mat_is_null_left import r8mat_is_null_left from r8mat_norm_fro import r8mat_norm_fro from r8vec_norm_l2 import r8vec_norm_l2 from ring_adj import ring_adj from ring_adj import ring_adj_null_left from rosser1 import rosser1 from rosser1 import rosser1_null_left from zero import zero from zero import zero_null_left print '' print 'TEST_NULL_LEFT' print ' A = a test matrix of order M by N' print ' x = an M vector, candidate for a left null vector.' print '' print ' ||A|| = Frobenius norm of A.' print ' ||x|| = L2 norm of x.' print ' ||A''*x||/||x|| = L2 norm of A\'*x over L2 norm of x.' print '' print ' Title M N ', print '||A|| ||x|| ||A\'*x||/||x||' print '' # # A123 # title = 'A123' m = 3 n = 3 a = a123 ( ) x = a123_null_left ( ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CHEBY_DIFF1 # title = 'CHEBY_DIFF1' m = 5 n = m a = cheby_diff1 ( n ) x = cheby_diff1_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # CREATION # title = 'CREATION' m = 5 n = m a = creation ( m, n ) x = creation_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1 # title = 'DIF1' m = 5 n = 5 a = dif1 ( m, n ) x = dif1_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF1CYCLIC # title = 'DIF1CYCLIC' m = 5 n = m a = dif1cyclic ( n ) x = dif1cyclic_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # DIF2CYCLIC # title = 'DIF2CYCLIC' m = 5 n = 5 a = dif2cyclic ( n ) x = dif2cyclic_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # EBERLEIN # title = 'EBERLEIN' m = 5 n = 5 r8_lo = -5.0 r8_hi = +5.0 seed = 123456789 alpha, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) a = eberlein ( alpha, n ) x = eberlein_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # FIBONACCI1 # title = 'FIBONACCI1' m = 5 n = m r8_lo = -5.0 r8_hi = +5.0 seed = 123456789 f1, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) f2, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) a = fibonacci1 ( n, f1, f2 ) x = fibonacci1_null_left ( m, n, f1, f2 ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # LAUCHLI # title = 'LAUCHLI' m = 6 n = m - 1 r8_lo = -5.0 r8_hi = +5.0 seed = 123456789 alpha, seed = r8_uniform_ab ( r8_lo, r8_hi, seed ) a = lauchli ( alpha, m, n ) x = lauchli_null_left ( alpha, m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # LINE_ADJ # title = 'LINE_ADJ' m = 7 n = m a = line_adj ( n ) x = line_adj_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # MOLER2 # title = 'MOLER2' m = 5 n = m a = moler2 ( ) x = moler2_null_left ( ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ONE # title = 'ONE' m = 5 n = 5 a = one ( m, n ) x = one_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # RING_ADJ # N must be a multiple of 4 for there to be a null vector. # title = 'RING_ADJ' m = 12 n = 12 a = ring_adj ( m, n ) x = ring_adj_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ROSSER1 # title = 'ROSSER1' m = 8 n = 8 a = rosser1 ( ) x = rosser1_null_left ( ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # ZERO # title = 'ZERO' m = 5 n = 5 a = zero ( m, n ) x = zero_null_left ( m, n ) error_l2 = r8mat_is_null_left ( m, n, a, x ) norm_a_frobenius = r8mat_norm_fro ( m, n, a ) norm_x_l2 = r8vec_norm_l2 ( m, x ) print ' %-20s %4d %4d %14g %14g %10.2g' \ % ( title, m, n, norm_a_frobenius, norm_x_l2, error_l2 ) # # Terminate. # print '' print 'TEST_NULL_LEFT:' print ' Normal end of execution.' return