<s> """<STR_LIT>""" <EOL> from __future__ import division , print_function , absolute_import <EOL> import numpy as np <EOL> from numpy import array , matrix <EOL> from numpy . testing import ( TestCase , run_module_suite , assert_equal , assert_ , <EOL> assert_array_equal , assert_raises , assert_array_almost_equal_nulp ) <EOL> from scipy . sparse import csr_matrix , coo_matrix <EOL> from scipy . sparse import construct <EOL> from scipy . sparse . construct import rand as sprand <EOL> sparse_formats = [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] <EOL> def _sprandn ( m , n , density = <NUM_LIT> , format = "<STR_LIT>" , dtype = None , random_state = None ) : <EOL> if random_state is None : <EOL> random_state = np . random <EOL> elif isinstance ( random_state , ( int , np . integer ) ) : <EOL> random_state = np . random . RandomState ( random_state ) <EOL> data_rvs = random_state . randn <EOL> return construct . random ( m , n , density , format , dtype , <EOL> random_state , data_rvs ) <EOL> class TestConstructUtils ( TestCase ) : <EOL> def test_spdiags ( self ) : <EOL> diags1 = array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ] ) <EOL> diags2 = array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> , <NUM_LIT:10> ] ] ) <EOL> diags3 = array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> , <NUM_LIT:10> ] , <EOL> [ <NUM_LIT:11> , <NUM_LIT:12> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:15> ] ] ) <EOL> cases = [ ] <EOL> cases . append ( ( diags1 , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:1> , [ [ <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:0> ] , <NUM_LIT:1> , <NUM_LIT:1> , [ [ <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:0> ] , <NUM_LIT:2> , <NUM_LIT:1> , [ [ <NUM_LIT:1> ] , [ <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:0> ] , <NUM_LIT:1> , <NUM_LIT:2> , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:1> ] , <NUM_LIT:1> , <NUM_LIT:2> , [ [ <NUM_LIT:0> , <NUM_LIT:2> ] ] ) ) <EOL> cases . append ( ( diags1 , [ - <NUM_LIT:1> ] , <NUM_LIT:1> , <NUM_LIT:2> , [ [ <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:0> ] , <NUM_LIT:2> , <NUM_LIT:2> , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> ] ] ) ) <EOL> cases . append ( ( diags1 , [ - <NUM_LIT:1> ] , <NUM_LIT:2> , <NUM_LIT:2> , [ [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:3> ] , <NUM_LIT:2> , <NUM_LIT:2> , [ [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:0> ] , <NUM_LIT:3> , <NUM_LIT:4> , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:1> ] , <NUM_LIT:3> , <NUM_LIT:4> , [ [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> ] ] ) ) <EOL> cases . append ( ( diags1 , [ <NUM_LIT:2> ] , <NUM_LIT:3> , <NUM_LIT:5> , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:5> ] ] ) ) <EOL> cases . append ( ( diags2 , [ <NUM_LIT:0> , <NUM_LIT:2> ] , <NUM_LIT:3> , <NUM_LIT:3> , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:8> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( diags2 , [ - <NUM_LIT:1> , <NUM_LIT:0> ] , <NUM_LIT:3> , <NUM_LIT:4> , [ [ <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:7> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:8> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags2 , [ <NUM_LIT:2> , - <NUM_LIT:3> ] , <NUM_LIT:6> , <NUM_LIT:6> , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:7> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags3 , [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] , <NUM_LIT:6> , <NUM_LIT:6> , [ [ <NUM_LIT:6> , <NUM_LIT:12> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:7> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:8> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:9> , <NUM_LIT:15> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:10> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( diags3 , [ - <NUM_LIT:4> , <NUM_LIT:2> , - <NUM_LIT:1> ] , <NUM_LIT:6> , <NUM_LIT:5> , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:11> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:9> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:12> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:10> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:15> ] ] ) ) <EOL> for d , o , m , n , result in cases : <EOL> assert_equal ( construct . spdiags ( d , o , m , n ) . todense ( ) , result ) <EOL> def test_diags ( self ) : <EOL> a = array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> b = array ( [ <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> , <NUM_LIT:10> ] ) <EOL> c = array ( [ <NUM_LIT:11> , <NUM_LIT:12> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:15> ] ) <EOL> cases = [ ] <EOL> cases . append ( ( a [ : <NUM_LIT:1> ] , <NUM_LIT:0> , ( <NUM_LIT:1> , <NUM_LIT:1> ) , [ [ <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:1> , <NUM_LIT:1> ) , [ [ <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:2> , <NUM_LIT:1> ) , [ [ <NUM_LIT:1> ] , [ <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:1> , <NUM_LIT:2> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:1> ] , ( <NUM_LIT:1> , <NUM_LIT:2> ) , [ [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:2> , <NUM_LIT:2> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ - <NUM_LIT:1> ] , ( <NUM_LIT:2> , <NUM_LIT:2> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:3> , <NUM_LIT:4> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:1> ] , ( <NUM_LIT:3> , <NUM_LIT:4> ) , [ [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ - <NUM_LIT:2> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] ] , [ - <NUM_LIT:1> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:1> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:2> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] ] , [ <NUM_LIT:3> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:4> ] , ( <NUM_LIT:3> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ - <NUM_LIT:4> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] ] , [ - <NUM_LIT:3> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:2> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:1> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] ] , [ <NUM_LIT:1> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:2> ] , ( <NUM_LIT:5> , <NUM_LIT:3> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] , b [ : <NUM_LIT:1> ] ] , [ <NUM_LIT:0> , <NUM_LIT:2> ] , ( <NUM_LIT:3> , <NUM_LIT:3> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:6> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] , b [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:1> , <NUM_LIT:0> ] , ( <NUM_LIT:3> , <NUM_LIT:4> ) , [ [ <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:1> , <NUM_LIT:7> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:8> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:4> ] , b [ : <NUM_LIT:3> ] ] , [ <NUM_LIT:2> , - <NUM_LIT:3> ] , ( <NUM_LIT:6> , <NUM_LIT:6> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:7> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:4> ] , b , c [ : <NUM_LIT:4> ] ] , [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] , ( <NUM_LIT:5> , <NUM_LIT:5> ) , [ [ <NUM_LIT:6> , <NUM_LIT:11> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:7> , <NUM_LIT:12> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:8> , <NUM_LIT> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:9> , <NUM_LIT> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> , <NUM_LIT:10> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] , b [ : <NUM_LIT:3> ] , c ] , [ - <NUM_LIT:4> , <NUM_LIT:2> , - <NUM_LIT:1> ] , ( <NUM_LIT:6> , <NUM_LIT:5> ) , [ [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:11> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:7> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:12> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:8> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:15> ] ] ) ) <EOL> cases . append ( ( [ a ] , [ <NUM_LIT:0> ] , ( <NUM_LIT:1> , <NUM_LIT:1> ) , [ [ <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:3> ] , b ] , [ <NUM_LIT:0> , <NUM_LIT:2> ] , ( <NUM_LIT:3> , <NUM_LIT:3> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:6> ] , [ <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( np . array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> ] , [ <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] ] ) , [ <NUM_LIT:0> , - <NUM_LIT:1> ] , ( <NUM_LIT:3> , <NUM_LIT:3> ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:4> , <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:3> ] ] ) ) <EOL> cases . append ( ( [ <NUM_LIT:1> , - <NUM_LIT:2> , <NUM_LIT:1> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , - <NUM_LIT:1> ] , ( <NUM_LIT:3> , <NUM_LIT:3> ) , [ [ - <NUM_LIT:2> , <NUM_LIT:1> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:1> , - <NUM_LIT:2> , <NUM_LIT:1> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:1> , - <NUM_LIT:2> ] ] ) ) <EOL> for d , o , shape , result in cases : <EOL> try : <EOL> assert_equal ( construct . diags ( d , o , shape = shape ) . todense ( ) , <EOL> result ) <EOL> if shape [ <NUM_LIT:0> ] == shape [ <NUM_LIT:1> ] and hasattr ( d [ <NUM_LIT:0> ] , '<STR_LIT>' ) and len ( d [ <NUM_LIT:0> ] ) <= max ( shape ) : <EOL> assert_equal ( construct . diags ( d , o ) . todense ( ) , result ) <EOL> except : <EOL> print ( "<STR_LIT>" % ( d , o , shape , result ) ) <EOL> raise <EOL> def test_diags_default ( self ) : <EOL> a = array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> assert_equal ( construct . diags ( a ) . todense ( ) , np . diag ( a ) ) <EOL> def test_diags_default_bad ( self ) : <EOL> a = array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] , [ <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:6> ] ] ) <EOL> assert_raises ( ValueError , construct . diags , a ) <EOL> def test_diags_bad ( self ) : <EOL> a = array ( [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> ] ) <EOL> b = array ( [ <NUM_LIT:6> , <NUM_LIT:7> , <NUM_LIT:8> , <NUM_LIT:9> , <NUM_LIT:10> ] ) <EOL> c = array ( [ <NUM_LIT:11> , <NUM_LIT:12> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:15> ] ) <EOL> cases = [ ] <EOL> cases . append ( ( [ a [ : <NUM_LIT:0> ] ] , <NUM_LIT:0> , ( <NUM_LIT:1> , <NUM_LIT:1> ) ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:4> ] , b , c [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:1> ] , ( <NUM_LIT:5> , <NUM_LIT:5> ) ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] , c , b [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:4> , <NUM_LIT:2> , - <NUM_LIT:1> ] , ( <NUM_LIT:6> , <NUM_LIT:5> ) ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:2> ] , c , b [ : <NUM_LIT:3> ] ] , [ - <NUM_LIT:4> , <NUM_LIT:2> , - <NUM_LIT:1> ] , None ) ) <EOL> cases . append ( ( [ ] , [ - <NUM_LIT:4> , <NUM_LIT:2> , - <NUM_LIT:1> ] , None ) ) <EOL> cases . append ( ( [ <NUM_LIT:1> ] , [ - <NUM_LIT:4> ] , ( <NUM_LIT:4> , <NUM_LIT:4> ) ) ) <EOL> cases . append ( ( [ a [ : <NUM_LIT:0> ] ] , [ - <NUM_LIT:1> ] , ( <NUM_LIT:1> , <NUM_LIT:2> ) ) ) <EOL> cases . append ( ( [ a ] , <NUM_LIT:0> , None ) ) <EOL> for d , o , shape in cases : <EOL> try : <EOL> assert_raises ( ValueError , construct . diags , d , o , shape ) <EOL> except : <EOL> print ( "<STR_LIT>" % ( d , o , shape ) ) <EOL> raise <EOL> assert_raises ( TypeError , construct . diags , [ [ None ] ] , [ <NUM_LIT:0> ] ) <EOL> def test_diags_vs_diag ( self ) : <EOL> np . random . seed ( <NUM_LIT> ) <EOL> for n_diags in [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:5> , <NUM_LIT:10> ] : <EOL> n = <NUM_LIT:1> + n_diags // <NUM_LIT:2> + np . random . randint ( <NUM_LIT:0> , <NUM_LIT:10> ) <EOL> offsets = np . arange ( - n + <NUM_LIT:1> , n - <NUM_LIT:1> ) <EOL> np . random . shuffle ( offsets ) <EOL> offsets = offsets [ : n_diags ] <EOL> diagonals = [ np . random . rand ( n - abs ( q ) ) for q in offsets ] <EOL> mat = construct . diags ( diagonals , offsets ) <EOL> dense_mat = sum ( [ np . diag ( x , j ) for x , j in zip ( diagonals , offsets ) ] ) <EOL> assert_array_almost_equal_nulp ( mat . todense ( ) , dense_mat ) <EOL> if len ( offsets ) == <NUM_LIT:1> : <EOL> mat = construct . diags ( diagonals [ <NUM_LIT:0> ] , offsets [ <NUM_LIT:0> ] ) <EOL> dense_mat = np . diag ( diagonals [ <NUM_LIT:0> ] , offsets [ <NUM_LIT:0> ] ) <EOL> assert_array_almost_equal_nulp ( mat . todense ( ) , dense_mat ) <EOL> def test_diags_dtype ( self ) : <EOL> x = construct . diags ( [ <NUM_LIT> ] , [ <NUM_LIT:0> ] , shape = ( <NUM_LIT:2> , <NUM_LIT:2> ) , dtype = int ) <EOL> assert_equal ( x . dtype , int ) <EOL> assert_equal ( x . todense ( ) , [ [ <NUM_LIT:2> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:2> ] ] ) <EOL> def test_diags_one_diagonal ( self ) : <EOL> d = list ( range ( <NUM_LIT:5> ) ) <EOL> for k in range ( - <NUM_LIT:5> , <NUM_LIT:6> ) : <EOL> assert_equal ( construct . diags ( d , k ) . toarray ( ) , <EOL> construct . diags ( [ d ] , [ k ] ) . toarray ( ) ) <EOL> def test_identity ( self ) : <EOL> assert_equal ( construct . identity ( <NUM_LIT:1> ) . toarray ( ) , [ [ <NUM_LIT:1> ] ] ) <EOL> assert_equal ( construct . identity ( <NUM_LIT:2> ) . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) <EOL> I = construct . identity ( <NUM_LIT:3> , dtype = '<STR_LIT>' , format = '<STR_LIT>' ) <EOL> assert_equal ( I . dtype , np . dtype ( '<STR_LIT>' ) ) <EOL> assert_equal ( I . format , '<STR_LIT>' ) <EOL> for fmt in sparse_formats : <EOL> I = construct . identity ( <NUM_LIT:3> , format = fmt ) <EOL> assert_equal ( I . format , fmt ) <EOL> assert_equal ( I . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] ] ) <EOL> def test_eye ( self ) : <EOL> assert_equal ( construct . eye ( <NUM_LIT:1> , <NUM_LIT:1> ) . toarray ( ) , [ [ <NUM_LIT:1> ] ] ) <EOL> assert_equal ( construct . eye ( <NUM_LIT:2> , <NUM_LIT:3> ) . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] ] ) <EOL> assert_equal ( construct . eye ( <NUM_LIT:3> , <NUM_LIT:2> ) . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] , [ <NUM_LIT:0> , <NUM_LIT:0> ] ] ) <EOL> assert_equal ( construct . eye ( <NUM_LIT:3> , <NUM_LIT:3> ) . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] ] ) <EOL> assert_equal ( construct . eye ( <NUM_LIT:3> , <NUM_LIT:3> , dtype = '<STR_LIT>' ) . dtype , np . dtype ( '<STR_LIT>' ) ) <EOL> for m in [ <NUM_LIT:3> , <NUM_LIT:5> ] : <EOL> for n in [ <NUM_LIT:3> , <NUM_LIT:5> ] : <EOL> for k in range ( - <NUM_LIT:5> , <NUM_LIT:6> ) : <EOL> assert_equal ( construct . eye ( m , n , k = k ) . toarray ( ) , np . eye ( m , n , k = k ) ) <EOL> if m == n : <EOL> assert_equal ( construct . eye ( m , k = k ) . toarray ( ) , np . eye ( m , n , k = k ) ) <EOL> def test_eye_one ( self ) : <EOL> assert_equal ( construct . eye ( <NUM_LIT:1> ) . toarray ( ) , [ [ <NUM_LIT:1> ] ] ) <EOL> assert_equal ( construct . eye ( <NUM_LIT:2> ) . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> ] ] ) <EOL> I = construct . eye ( <NUM_LIT:3> , dtype = '<STR_LIT>' , format = '<STR_LIT>' ) <EOL> assert_equal ( I . dtype , np . dtype ( '<STR_LIT>' ) ) <EOL> assert_equal ( I . format , '<STR_LIT>' ) <EOL> for fmt in sparse_formats : <EOL> I = construct . eye ( <NUM_LIT:3> , format = fmt ) <EOL> assert_equal ( I . format , fmt ) <EOL> assert_equal ( I . toarray ( ) , [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:1> ] ] ) <EOL> def test_kron ( self ) : <EOL> cases = [ ] <EOL> cases . append ( array ( [ [ <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ - <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:4> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:10> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> ] , [ <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:2> ] , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:2> , - <NUM_LIT:6> ] , [ <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:5> , <NUM_LIT:4> ] , [ <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:6> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:5> , <NUM_LIT:4> , <NUM_LIT:4> ] , [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:6> , <NUM_LIT:0> , <NUM_LIT:8> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:8> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0.5> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT> ] , [ <NUM_LIT:0> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ] ] ) ) <EOL> for a in cases : <EOL> for b in cases : <EOL> result = construct . kron ( csr_matrix ( a ) , csr_matrix ( b ) ) . todense ( ) <EOL> expected = np . kron ( a , b ) <EOL> assert_array_equal ( result , expected ) <EOL> def test_kronsum ( self ) : <EOL> cases = [ ] <EOL> cases . append ( array ( [ [ <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ - <NUM_LIT:1> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:4> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:10> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:2> ] , [ <NUM_LIT:5> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:0> , <NUM_LIT:2> , - <NUM_LIT:6> ] , [ <NUM_LIT:8> , <NUM_LIT:0> , <NUM_LIT> ] , [ <NUM_LIT:0> , <NUM_LIT:3> , <NUM_LIT:0> ] ] ) ) <EOL> cases . append ( array ( [ [ <NUM_LIT:1> , <NUM_LIT:0> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:5> , - <NUM_LIT:1> ] , [ <NUM_LIT:4> , - <NUM_LIT:2> , <NUM_LIT:8> ] ] ) ) <EOL> for a in cases : <EOL> for b in cases : <EOL> result = construct . kronsum ( csr_matrix ( a ) , csr_matrix ( b ) ) . todense ( ) <EOL> expected = np . kron ( np . eye ( len ( b ) ) , a ) + np . kron ( b , np . eye ( len ( a ) ) ) <EOL> assert_array_equal ( result , expected ) <EOL> def test_vstack ( self ) : <EOL> A = coo_matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) <EOL> B = coo_matrix ( [ [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) <EOL> expected = matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , <EOL> [ <NUM_LIT:3> , <NUM_LIT:4> ] , <EOL> [ <NUM_LIT:5> , <NUM_LIT:6> ] ] ) <EOL> assert_equal ( construct . vstack ( [ A , B ] ) . todense ( ) , expected ) <EOL> assert_equal ( construct . vstack ( [ A , B ] , dtype = np . float32 ) . dtype , np . float32 ) <EOL> assert_equal ( construct . vstack ( [ A . tocsr ( ) , B . tocsr ( ) ] ) . todense ( ) , <EOL> expected ) <EOL> assert_equal ( construct . vstack ( [ A . tocsr ( ) , B . tocsr ( ) ] , dtype = np . float32 ) . dtype , <EOL> np . float32 ) <EOL> def test_hstack ( self ) : <EOL> A = coo_matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) <EOL> B = coo_matrix ( [ [ <NUM_LIT:5> ] , [ <NUM_LIT:6> ] ] ) <EOL> expected = matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:6> ] ] ) <EOL> assert_equal ( construct . hstack ( [ A , B ] ) . todense ( ) , expected ) <EOL> assert_equal ( construct . hstack ( [ A , B ] , dtype = np . float32 ) . dtype , np . float32 ) <EOL> assert_equal ( construct . hstack ( [ A . tocsc ( ) , B . tocsc ( ) ] ) . todense ( ) , <EOL> expected ) <EOL> assert_equal ( construct . hstack ( [ A . tocsc ( ) , B . tocsc ( ) ] , dtype = np . float32 ) . dtype , <EOL> np . float32 ) <EOL> def test_bmat ( self ) : <EOL> A = coo_matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) <EOL> B = coo_matrix ( [ [ <NUM_LIT:5> ] , [ <NUM_LIT:6> ] ] ) <EOL> C = coo_matrix ( [ [ <NUM_LIT:7> ] ] ) <EOL> D = coo_matrix ( ( <NUM_LIT:0> , <NUM_LIT:0> ) ) <EOL> expected = matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:6> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:7> ] ] ) <EOL> assert_equal ( construct . bmat ( [ [ A , B ] , [ None , C ] ] ) . todense ( ) , expected ) <EOL> expected = matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:7> ] ] ) <EOL> assert_equal ( construct . bmat ( [ [ A , None ] , [ None , C ] ] ) . todense ( ) , expected ) <EOL> expected = matrix ( [ [ <NUM_LIT:0> , <NUM_LIT:5> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:6> ] , <EOL> [ <NUM_LIT:7> , <NUM_LIT:0> ] ] ) <EOL> assert_equal ( construct . bmat ( [ [ None , B ] , [ C , None ] ] ) . todense ( ) , expected ) <EOL> expected = matrix ( np . empty ( ( <NUM_LIT:0> , <NUM_LIT:0> ) ) ) <EOL> assert_equal ( construct . bmat ( [ [ None , None ] ] ) . todense ( ) , expected ) <EOL> assert_equal ( construct . bmat ( [ [ None , D ] , [ D , None ] ] ) . todense ( ) , expected ) <EOL> expected = matrix ( [ [ <NUM_LIT:7> ] ] ) <EOL> assert_equal ( construct . bmat ( [ [ None , D ] , [ C , None ] ] ) . todense ( ) , expected ) <EOL> assert_raises ( ValueError , construct . bmat , [ [ A ] , [ B ] ] ) <EOL> assert_raises ( ValueError , construct . bmat , [ [ A , C ] ] ) <EOL> def test_block_diag_basic ( self ) : <EOL> """<STR_LIT>""" <EOL> A = coo_matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> ] , [ <NUM_LIT:3> , <NUM_LIT:4> ] ] ) <EOL> B = coo_matrix ( [ [ <NUM_LIT:5> ] , [ <NUM_LIT:6> ] ] ) <EOL> C = coo_matrix ( [ [ <NUM_LIT:7> ] ] ) <EOL> expected = matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:3> , <NUM_LIT:4> , <NUM_LIT:0> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:5> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:6> , <NUM_LIT:0> ] , <EOL> [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:7> ] ] ) <EOL> assert_equal ( construct . block_diag ( ( A , B , C ) ) . todense ( ) , expected ) <EOL> def test_block_diag_scalar_1d_args ( self ) : <EOL> """<STR_LIT>""" <EOL> assert_array_equal ( construct . block_diag ( [ [ <NUM_LIT:2> , <NUM_LIT:3> ] , <NUM_LIT:4> ] ) . toarray ( ) , <EOL> [ [ <NUM_LIT:2> , <NUM_LIT:3> , <NUM_LIT:0> ] , [ <NUM_LIT:0> , <NUM_LIT:0> , <NUM_LIT:4> ] ] ) <EOL> def test_block_diag_1 ( self ) : <EOL> """<STR_LIT>""" <EOL> assert_equal ( construct . block_diag ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) . todense ( ) , <EOL> matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> assert_equal ( construct . block_diag ( [ [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ] ) . todense ( ) , <EOL> matrix ( [ [ <NUM_LIT:1> , <NUM_LIT:0> ] ] ) ) <EOL> assert_equal ( construct . block_diag ( [ [ [ <NUM_LIT:1> ] , [ <NUM_LIT:0> ] ] ] ) . todense ( ) , <EOL> matrix ( [ [ <NUM_LIT:1> ] , [ <NUM_LIT:0> ] ] ) ) <EOL> assert_equal ( construct . block_diag ( [ <NUM_LIT:1> ] ) . todense ( ) , <EOL> matrix ( [ [ <NUM_LIT:1> ] ] ) ) <EOL> def test_random_sampling ( self ) : <EOL> for f in sprand , _sprandn : <EOL> for t in [ np . float32 , np . float64 , np . longdouble ] : <EOL> x = f ( <NUM_LIT:5> , <NUM_LIT:10> , density = <NUM_LIT:0.1> , dtype = t ) <EOL> assert_equal ( x . dtype , t ) <EOL> assert_equal ( x . shape , ( <NUM_LIT:5> , <NUM_LIT:10> ) ) <EOL> assert_equal ( x . nonzero ( ) [ <NUM_LIT:0> ] . size , <NUM_LIT:5> ) <EOL> x1 = f ( <NUM_LIT:5> , <NUM_LIT:10> , density = <NUM_LIT:0.1> , random_state = <NUM_LIT> ) <EOL> assert_equal ( x1 . dtype , np . double ) <EOL> x2 = f ( <NUM_LIT:5> , <NUM_LIT:10> , density = <NUM_LIT:0.1> , random_state = np . random . RandomState ( <NUM_LIT> ) ) <EOL> assert_array_equal ( x1 . data , x2 . data ) <EOL> assert_array_equal ( x1 . row , x2 . row ) <EOL> assert_array_equal ( x1 . col , x2 . col ) <EOL> for density in [ <NUM_LIT:0.0> , <NUM_LIT:0.1> , <NUM_LIT:0.5> , <NUM_LIT:1.0> ] : <EOL> x = f ( <NUM_LIT:5> , <NUM_LIT:10> , density = density ) <EOL> assert_equal ( x . nnz , int ( density * np . prod ( x . shape ) ) ) <EOL> for fmt in [ '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' ] : <EOL> x = f ( <NUM_LIT:5> , <NUM_LIT:10> , format = fmt ) <EOL> assert_equal ( x . format , fmt ) <EOL> assert_raises ( ValueError , lambda : f ( <NUM_LIT:5> , <NUM_LIT:10> , <NUM_LIT> ) ) <EOL> assert_raises ( ValueError , lambda : f ( <NUM_LIT:5> , <NUM_LIT:10> , - <NUM_LIT:0.1> ) ) <EOL> def test_rand ( self ) : <EOL> for random_state in None , <NUM_LIT> , np . random . RandomState ( ) : <EOL> x = sprand ( <NUM_LIT:10> , <NUM_LIT:20> , density = <NUM_LIT:0.5> , dtype = np . float64 , <EOL> random_state = random_state ) <EOL> assert_ ( np . all ( np . less_equal ( <NUM_LIT:0> , x . data ) ) ) <EOL> assert_ ( np . all ( np . less_equal ( x . data , <NUM_LIT:1> ) ) ) <EOL> def test_randn ( self ) : <EOL> for random_state in None , <NUM_LIT> , np . random . RandomState ( ) : <EOL> x = _sprandn ( <NUM_LIT:10> , <NUM_LIT:20> , density = <NUM_LIT:0.5> , dtype = np . float64 , <EOL> random_state = random_state ) <EOL> assert_ ( np . any ( np . less ( x . data , <NUM_LIT:0> ) ) ) <EOL> assert_ ( np . any ( np . less ( <NUM_LIT:1> , x . data ) ) ) <EOL> def test_random_accept_str_dtype ( self ) : <EOL> a = construct . random ( <NUM_LIT:10> , <NUM_LIT:10> , dtype = '<STR_LIT:d>' ) <EOL> if __name__ == "<STR_LIT:__main__>" : <EOL> run_module_suite ( ) </s>
