def california_migration_backwards ( ): #*****************************************************************************80 # ## california_migration_backwards() goes "backward" in time. # # Licensing: # # This code is distributed under the MIT license. # # Modified: # # 19 January 2025 # # Author: # # John Burkardt # import numpy as np print ( '' ) print ( 'california_migration_backwards():' ) print ( ' Go "backwards" in time using np.linalg.solve()' ) A = np.array ( [ \ [ 0.70, 0.10 ], \ [ 0.30, 0.90 ] ] ) m = 21 pop = np.zeros ( [ m, 2 ] ) year = np.linspace ( 1980, 1960, m ) print ( '' ) print ( ' Year California US:' ) print ( '' ) for i in range ( 0, m ): if ( i == 0 ): pop[i,:] = np.array ( [ 44998940, 135001060 ] ) else: pop[i,:] = np.linalg.solve ( A, pop[i-1,:] ) print ( ' %4d %9.0f %9.0f %9.0f' \ % ( year[i], pop[i,0], pop[i,1], pop[i,0] + pop[i,1] ) ) return if ( __name__ == "__main__" ): california_migration_backwards ( )