Hello all,

I am currently studying if it is worth migrating my project from Scilab to Julia, and I have the following remarks/questions. The code that is actually executed is automatically generated and the most time consuming tasks consist in (large) sparse matrix updating where the terms of the matrix are updated at each step of an optimization algorithm. Hence, typically code is of the kind

function solve_weight_1(v,x1_input)
#
# Weight 1 cumomers
#
@inbounds M1.nzval=[-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
...
] (800 lines for a 231*231 sparse matrix)


The code is produced during an assembly (like assembly in the finite element method), driven by the structure of a metabolic network. Since the structure of the network is completely arbitrary, adhoc code generation seems the best solution.

I am a bit puzzled because once the functions are compiled they run very fast, typically for the attached function runs in 0.000979136 s, but the first run/compilation takes 4.754678495 seconds.

julia> include("solve_weight_1.jl");

julia> @time out=solve_weight_1(v,x1_input);
elapsed time: 4.754678495 seconds (18975668 bytes allocated)

julia> @time out=solve_weight_1(v,x1_input);
elapsed time: 0.000979136 seconds (86520 bytes allocated)

How compilation time can it be improved ? There are plenty other functions like this one in the generated code and most of the time the code is rarely run more than a few times. Typically, the compilation of the while stuff takes 40 seconds but the optimization process only takes 1 second...

Thanks in advance for help

Stéphane




function solve_weight_1(v,x1_input)
#
# Weight 1 cumomers
#
@inbounds M1.nzval=[-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
v[63]
v[103]
v[18]
-(v[18]+v[63]+v[103])
v[63]
v[18]
v[103]
-(v[39]+v[41]+v[124])
v[124]
v[41]
v[39]
-(v[39]+v[41]+v[124])
v[124]
v[41]
v[39]
-(v[39]+v[41]+v[124])
v[124]
v[41]
v[39]
-(v[39]+v[41]+v[124])
v[124]
v[41]
v[39]
-(v[39]+v[41]+v[124])
v[124]
v[41]
v[39]
-(v[16]+v[61]+v[85]+v[101])
v[61]
v[16]
v[101]
-(v[16]+v[61]+v[85]+v[101])
v[61]
v[16]
v[101]
-(v[37]+v[122])
v[122]
-(v[37]+v[122])
v[122]
-(v[37]+v[122])
v[122]
-(v[68]+v[153])
v[153]
-(v[68]+v[153])
v[153]
-(v[68]+v[153])
v[153]
-(v[68]+v[153])
v[153]
-(v[68]+v[153])
v[153]
-(v[68]+v[153])
v[153]
-(v[83]+v[168])
v[168]
-(v[83]+v[168])
v[168]
-(v[83]+v[168])
v[168]
-(v[83]+v[168])
v[168]
-(v[71]+v[156])
v[156]
-(v[71]+v[156])
v[156]
-(v[71]+v[156])
v[156]
-(v[71]+v[156])
v[156]
v[149]
-(v[64]+v[149])
v[64]
v[149]
-(v[64]+v[149])
v[64]
v[149]
-(v[64]+v[149])
v[64]
v[149]
-(v[64]+v[149])
v[64]
v[149]
-(v[64]+v[149])
v[64]
v[147]
-(v[41]+v[62]+v[147])
v[41]
v[147]
-(v[41]+v[62]+v[147])
v[41]
-(v[49]+v[129])
v[49]
v[129]
-(v[49]+v[129])
v[49]
v[129]
-(v[49]+v[129])
v[49]
v[129]
-(v[49]+v[129])
v[49]
v[129]
v[82]
v[70]
-(v[70]+v[74]+v[75]+v[77]+v[78]+v[80]+v[82]+v[155])
v[74]+v[75]
v[80]
v[155]
v[78]
v[82]
v[70]
-(v[70]+v[74]+v[75]+v[77]+v[78]+v[80]+v[82]+v[155])
v[75]
v[74]
v[80]
v[155]
v[78]
v[82]
v[70]
-(v[70]+v[74]+v[75]+v[77]+v[78]+v[80]+v[82]+v[155])
v[75]
v[74]
v[80]
v[155]
v[78]
v[82]
v[70]
-(v[70]+v[74]+v[75]+v[77]+v[78]+v[80]+v[82]+v[155])
v[75]
v[74]
v[80]
v[155]
v[78]
-(v[49]+v[50]+v[57]+v[134])
v[50]
v[49]
v[134]
-(v[49]+v[50]+v[57]+v[134])
v[50]
v[49]
v[134]
-(v[49]+v[50]+v[57]+v[134])
v[50]
v[49]
v[134]
-(v[27]+v[28]+v[112])
v[112]
v[28]
-(v[27]+v[28]+v[112])
v[112]
v[28]
-(v[27]+v[28]+v[112])
v[112]
v[28]
v[38]
v[38]
v[36]
-(v[36]+v[38]+v[38]+v[72]+v[74]+v[75]+v[121])
v[72]
v[74]
v[75]
v[121]
v[38]
v[38]
v[36]
-(v[36]+v[38]+v[38]+v[72]+v[74]+v[75]+v[121])
v[72]
v[74]
v[75]
v[121]
v[38]
v[36]
-(v[36]+v[38]+v[38]+v[72]+v[74]+v[75]+v[121])
v[38]+v[72]+v[74]
v[75]
v[121]
-(v[45]+v[47]+v[58]+v[130])
v[45]
v[130]
v[58]
-(v[45]+v[47]+v[58]+v[130])
v[45]
v[130]
v[58]
-(v[45]+v[47]+v[58]+v[130])
v[45]
v[130]
v[58]
-(v[45]+v[47]+v[58]+v[130])
v[45]
v[130]
v[58]
-(v[45]+v[47]+v[58]+v[130])
v[45]
v[130]
v[58]
v[104]
v[127]
v[67]
v[161]
v[124]+v[158]+v[160]
-(v[22]+v[67]+v[84]+v[96]+v[101]+v[103]+v[104]+v[109]+v[124]+v[127]+v[137]+v[138]+v[140]+v[141]+v[146]+v[158]+v[160]+v[161])
v[137]+v[138]+v[140]+v[141]
v[96]
v[103]
v[109]
v[22]
v[101]
v[146]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[51]
v[52]
v[58]
v[54]
v[55]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[51]
v[52]
v[58]
v[54]
v[55]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[51]+v[52]
v[58]
v[54]+v[55]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[52]
v[51]
v[58]
v[55]
v[54]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[52]
v[51]
v[58]
v[55]
v[54]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[51]+v[52]
v[58]
v[54]+v[55]
v[51]+v[52]+v[54]+v[55]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[136]
v[58]
v[136]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[51]+v[52]
v[58]
v[54]+v[55]
v[136]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[51]+v[52]
v[58]
v[54]+v[55]
v[136]
-(v[51]+v[52]+v[54]+v[55]+v[58]+v[136])
v[51]+v[52]
v[58]
v[54]+v[55]
-(v[31]+v[116])
v[116]
-(v[31]+v[116])
v[116]
-(v[31]+v[116])
v[116]
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[135]
v[50]
-(v[50]+v[135])
v[43]
-(v[14]+v[43]+v[98])
v[14]
v[98]
v[43]
-(v[14]+v[43]+v[98])
v[14]
v[98]
v[43]
-(v[14]+v[43]+v[98])
v[14]
v[98]
v[43]
-(v[14]+v[43]+v[98])
v[14]
v[98]
-(v[45]+v[80]+v[86]+v[118])
v[45]
v[80]
v[118]
v[100]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[98]
v[89]
v[100]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[98]
v[89]
v[100]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[98]
v[89]
v[100]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[89]
v[98]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[89]
v[100]
v[98]
-(v[4]+v[25]+v[89]+v[98]+v[100])
v[4]
v[89]
v[100]
v[98]
v[90]
-(v[5]+v[90])
v[5]
v[90]
-(v[5]+v[90])
v[5]
v[90]
-(v[5]+v[90])
v[5]
v[90]
-(v[5]+v[90])
v[5]
v[90]
-(v[5]+v[90])
v[5]
v[90]
-(v[5]+v[90])
v[5]
v[12]
v[91]
v[91]
-(v[6]+v[12]+v[34]+v[91]+v[91]+v[97]+v[99]+v[100])
v[97]
v[6]
v[99]+v[100]
v[12]
v[91]
v[91]
-(v[6]+v[12]+v[34]+v[91]+v[91]+v[97]+v[99]+v[100])
v[97]
v[6]
v[99]+v[100]
v[12]
v[91]
v[91]
-(v[6]+v[12]+v[34]+v[91]+v[91]+v[97]+v[99]+v[100])
v[97]
v[6]
v[99]+v[100]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[3]
-(v[3]+v[9]+v[24]+v[87]+v[88])
v[9]
v[67]
v[150]
-(v[65]+v[66]+v[67]+v[150])
v[67]
v[150]
-(v[65]+v[66]+v[67]+v[150])
v[67]
v[150]
-(v[65]+v[66]+v[67]+v[150])
v[67]
v[150]
-(v[65]+v[66]+v[67]+v[150])
v[67]
v[150]
-(v[65]+v[66]+v[67]+v[150])
-(v[33]+v[118])
v[118]
-(v[33]+v[118])
v[118]
v[11]
v[95]
-(v[10]+v[11]+v[95])
v[10]
v[11]
v[95]
-(v[10]+v[11]+v[95])
v[10]
v[11]
v[95]
-(v[10]+v[11]+v[95])
v[10]
v[95]
-(v[10]+v[11]+v[95])
v[11]
v[10]
v[95]
-(v[10]+v[11]+v[95])
v[11]
v[10]
v[10]
v[95]
-(v[10]+v[11]+v[95])
v[11]
v[131]
-(v[46]+v[131])
v[131]
-(v[46]+v[131])
v[131]
-(v[46]+v[131])
v[131]
-(v[46]+v[131])
v[131]
-(v[46]+v[131])
v[131]
-(v[46]+v[131])
v[17]
v[102]
-(v[17]+v[102])
v[17]
v[102]
-(v[17]+v[102])
v[17]
-(v[17]+v[102])
v[102]
v[17]
-(v[17]+v[102])
v[102]
v[17]
-(v[17]+v[102])
v[102]
v[17]
-(v[17]+v[102])
v[102]
v[158]
-(v[73]+v[158])
-(v[73]+v[158])
v[158]
-(v[73]+v[158])
v[158]
v[158]
-(v[73]+v[158])
-(v[73]+v[158])
v[158]
-(v[73]+v[158])
v[158]
v[127]
-(v[42]+v[127])
v[127]
-(v[42]+v[127])
v[127]
-(v[42]+v[127])
v[127]
-(v[42]+v[127])
v[127]
-(v[42]+v[127])
v[127]
-(v[42]+v[127])
v[161]
v[160]
-(v[76]+v[160]+v[161])
v[161]
v[160]
-(v[76]+v[160]+v[161])
v[160]+v[161]
-(v[76]+v[160]+v[161])
v[160]
v[161]
-(v[76]+v[160]+v[161])
v[160]
v[161]
-(v[76]+v[160]+v[161])
v[160]
v[161]
-(v[76]+v[160]+v[161])
v[23]
-(v[21]+v[23]+v[105]+v[106])
v[21]
v[105]
v[106]
-(v[21]+v[23]+v[105]+v[106])
v[21]
v[23]
v[105]
v[106]
-(v[21]+v[23]+v[105]+v[106])
v[21]
v[23]
v[106]
v[105]
-(v[21]+v[23]+v[105]+v[106])
v[21]
v[23]
v[106]
v[105]
v[166]
-(v[81]+v[166])
v[166]
-(v[81]+v[166])
v[166]
-(v[81]+v[166])
v[166]
-(v[81]+v[166])
v[166]
-(v[81]+v[166])
v[69]
v[108]
v[16]
v[107]
-(v[16]+v[69]+v[107]+v[108])
v[69]
v[16]
v[107]
-(v[16]+v[69]+v[107]+v[108])
v[108]
v[69]
v[16]
v[107]
-(v[16]+v[69]+v[107]+v[108])
v[108]
v[69]
v[16]
v[107]
-(v[16]+v[69]+v[107]+v[108])
v[108]
v[48]
v[22]
-(v[8]+v[22]+v[48]+v[93])
v[93]
v[8]
v[48]
v[22]
-(v[8]+v[22]+v[48]+v[93])
v[93]
v[8]
v[48]
v[22]
-(v[8]+v[22]+v[48]+v[93])
v[93]
v[8]
v[26]
v[92]
v[7]
-(v[7]+v[26]+v[92])
v[26]
v[92]
v[7]
-(v[7]+v[26]+v[92])
v[26]
v[92]
v[7]
-(v[7]+v[26]+v[92])
v[137]
v[138]
-(v[53]+v[137]+v[138])
v[137]
v[138]
-(v[53]+v[137]+v[138])
v[137]+v[138]
-(v[53]+v[137]+v[138])
v[138]
v[137]
-(v[53]+v[137]+v[138])
v[138]
v[137]
-(v[53]+v[137]+v[138])
v[137]+v[138]
-(v[53]+v[137]+v[138])
v[137]+v[138]
-(v[53]+v[137]+v[138])
v[137]+v[138]
-(v[53]+v[137]+v[138])
v[137]+v[138]
-(v[53]+v[137]+v[138])
v[15]
v[35]
v[97]
v[109]
v[94]
-(v[15]+v[35]+v[94]+v[97]+v[109]+v[146])
v[146]
v[15]
v[35]
v[97]
v[109]
v[94]
-(v[15]+v[35]+v[94]+v[97]+v[109]+v[146])
v[146]
v[35]
v[15]
v[97]
v[109]
v[94]
-(v[15]+v[35]+v[94]+v[97]+v[109]+v[146])
v[146]
v[60]
v[144]
-(v[60]+v[144])
v[144]
v[60]
-(v[60]+v[144])
v[144]
v[60]
-(v[60]+v[144])
v[144]
v[60]
-(v[60]+v[144])
v[44]
v[13]+v[14]
v[96]
-(v[13]+v[13]+v[14]+v[44]+v[96])
v[13]
v[44]
v[13]+v[14]
v[96]
-(v[13]+v[13]+v[14]+v[44]+v[96])
v[13]
v[44]
v[13]+v[14]
v[96]
-(v[13]+v[13]+v[14]+v[44]+v[96])
v[13]
v[44]
v[14]
v[96]
-(v[13]+v[13]+v[14]+v[44]+v[96])
v[13]
v[13]
v[44]
v[14]
v[96]
-(v[13]+v[13]+v[14]+v[44]+v[96])
v[13]
v[13]
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[12]
v[99]
-(v[12]+v[99])
v[114]
v[30]
v[32]
-(v[29]+v[30]+v[32]+v[114])
v[114]
v[30]
v[32]
-(v[29]+v[30]+v[32]+v[114])
v[114]
v[30]
v[32]
-(v[29]+v[30]+v[32]+v[114])
v[104]
v[19]
v[20]
-(v[19]+v[20]+v[104])
v[104]
v[19]
v[20]
-(v[19]+v[20]+v[104])
v[104]
v[20]
v[19]
-(v[19]+v[20]+v[104])
v[104]
v[20]
v[19]
-(v[19]+v[20]+v[104])
v[164]
v[72]
-(v[72]+v[79]+v[164])
v[164]
v[72]
-(v[72]+v[79]+v[164])
v[164]
v[72]
-(v[72]+v[79]+v[164])
v[164]
v[72]
-(v[72]+v[79]+v[164])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[144]
-(v[59]+v[144])
v[140]
v[141]
-(v[56]+v[140]+v[141])
v[140]
v[141]
-(v[56]+v[140]+v[141])
v[140]+v[141]
-(v[56]+v[140]+v[141])
v[141]
v[140]
-(v[56]+v[140]+v[141])
v[141]
v[140]
-(v[56]+v[140]+v[141])
v[140]+v[141]
-(v[56]+v[140]+v[141])
v[140]+v[141]
-(v[56]+v[140]+v[141])
v[140]+v[141]
-(v[56]+v[140]+v[141])
v[140]+v[141]
-(v[56]+v[140]+v[141])
v[125]
-(v[40]+v[125])
v[125]
-(v[40]+v[125])
v[125]
-(v[40]+v[125])
v[125]
-(v[40]+v[125])
v[125]
-(v[40]+v[125])]
@inbounds b1.nzval=[v[1].*x1_input[1]+v[2].*x1_input[7]
v[1].*x1_input[2]+v[2].*x1_input[8]
v[1].*x1_input[3]+v[2].*x1_input[9]
v[1].*x1_input[4]+v[2].*x1_input[10]
v[1].*x1_input[5]+v[2].*x1_input[11]
v[1].*x1_input[6]+v[2].*x1_input[12]]
M1_handle=umf_lufact(M1)
x1=umf_lusolve(M1_handle,-b1)
@inbounds dg1_dv.nzval=[x1_input[1]
x1_input[2]
x1_input[3]
x1_input[4]
x1_input[5]
x1_input[6]
x1_input[7]
x1_input[8]
x1_input[9]
x1_input[10]
x1_input[11]
x1_input[12]
x1[100]
x1[101]
x1[102]
x1[103]
x1[104]
x1[105]
-x1[100]
-x1[101]
-x1[102]
-x1[103]
-x1[104]
-x1[105]
-x1[85]
-x1[86]
-x1[87]
-x1[88]
-x1[89]
-x1[90]
x1[85]
x1[86]
x1[87]
x1[88]
x1[89]
x1[90]
-x1[91]
-x1[92]
-x1[93]
-x1[94]
-x1[95]
-x1[96]
x1[96]+x1[91]
x1[95]+x1[92]
x1[94]+x1[93]
-x1[97]
-x1[98]
-x1[99]
x1[97]
x1[98]
x1[99]
x1[165]
x1[166]
x1[167]
-x1[165]
-x1[166]
-x1[167]
-x1[162]
-x1[163]
-x1[164]
x1[162]
x1[163]
x1[164]
-x1[100]
-x1[101]
-x1[102]
-x1[103]
-x1[104]
-x1[105]
x1[100]
x1[101]
x1[102]
x1[103]
x1[104]
x1[105]
x1[118]
-x1[113]
-x1[114]
-x1[115]
-x1[116]
-x1[117]
-x1[118]
x1[113]
x1[114]
x1[115]
x1[116]
x1[117]
x1[113]
x1[114]
x1[115]
-x1[113]
-x1[114]
-x1[115]
-x1[116]
-x1[117]
-x1[118]
x1[116]
x1[117]
x1[118]
x1[189]
x1[190]
x1[191]
x1[192]
x1[97]
x1[98]
x1[99]
x1[193]
x1[194]
x1[195]
-x1[97]
-x1[98]
-x1[99]
-x1[189]
-x1[190]
-x1[191]
-x1[192]
-x1[193]
-x1[194]
-x1[195]
x1[184]
x1[185]
x1[186]
-x1[184]-x1[184]
-x1[185]-x1[185]
-x1[186]-x1[186]
-x1[187]-x1[187]
-x1[188]-x1[188]
x1[184]
x1[185]
x1[186]
x1[187]
x1[188]
x1[187]
x1[188]
-x1[80]
-x1[81]
-x1[82]
-x1[83]
x1[80]
x1[81]
x1[82]
x1[83]
x1[187]
x1[188]
x1[184]
x1[185]
x1[186]
-x1[184]
-x1[185]
-x1[186]
-x1[187]
-x1[188]
x1[177]
x1[178]
x1[179]
-x1[177]
-x1[178]
-x1[179]
-x1[11]
-x1[12]
x1[12]
x1[11]
x1[161]
x1[160]
x1[159]
x1[158]
-x1[158]
-x1[159]
-x1[160]
-x1[161]
x1[125]
x1[126]
x1[128]
x1[129]
x1[130]
x1[127]
-x1[125]
-x1[126]
-x1[127]
-x1[128]
-x1[129]
-x1[130]
-x1[1]
-x1[2]
-x1[3]
-x1[4]
-x1[5]
x1[5]
x1[1]
x1[2]
x1[3]
x1[4]
x1[199]
x1[200]
x1[201]
x1[202]
-x1[199]
-x1[200]
-x1[201]
-x1[202]
x1[202]
x1[201]
x1[200]
x1[199]
-x1[199]
-x1[200]
-x1[201]
-x1[202]
-x1[149]
-x1[150]
-x1[151]
-x1[152]
x1[149]
x1[150]
x1[151]
x1[152]
-x1[59]
x1[59]
x1[162]
x1[163]
x1[164]
-x1[162]
-x1[163]
-x1[164]
x1[149]
-x1[149]
-x1[150]
-x1[151]
-x1[152]
x1[150]
x1[151]
x1[152]
-x1[100]
-x1[101]
-x1[102]
-x1[103]
-x1[104]
-x1[105]
-x1[85]
-x1[86]
-x1[87]
-x1[88]
-x1[89]
-x1[90]
x1[165]
x1[166]
x1[167]
-x1[165]
-x1[166]
-x1[167]
-x1[48]
-x1[49]
-x1[50]
-x1[48]
-x1[49]
-x1[50]
x1[48]
x1[49]
x1[50]
-x1[196]
-x1[197]
-x1[198]
x1[196]
x1[197]
x1[198]
-x1[196]
-x1[197]
-x1[198]
-x1[70]
-x1[71]
-x1[72]
x1[196]
x1[197]
x1[198]
-x1[196]
-x1[197]
-x1[198]
-x1[111]
-x1[112]
-x1[97]
-x1[98]
-x1[99]
x1[177]
x1[178]
x1[179]
-x1[177]
-x1[178]
-x1[179]
x1[51]
x1[52]
x1[53]
-x1[51]
-x1[52]
-x1[53]
-x1[13]
-x1[14]
-x1[15]
x1[51]
x1[51]
x1[52]
x1[52]
x1[53]
-x1[51]-x1[51]
-x1[52]-x1[52]
-x1[53]-x1[53]
x1[53]
-x1[6]
-x1[7]
-x1[8]
-x1[9]
-x1[10]
x1[6]
x1[7]
x1[8]
x1[9]
x1[10]
-x1[227]
-x1[228]
-x1[229]
-x1[230]
-x1[231]
-x1[6]
-x1[7]
-x1[8]
-x1[9]
-x1[10]
-x1[35]
-x1[36]
x1[10]
x1[6]
x1[7]
x1[8]
x1[9]
x1[35]
x1[36]
-x1[137]
-x1[138]
-x1[139]
-x1[140]
-x1[141]
-x1[142]
x1[80]
x1[81]
x1[82]
x1[83]
-x1[80]
-x1[81]
-x1[82]
-x1[83]
x1[184]
x1[185]
x1[186]
x1[187]
x1[188]
-x1[184]
-x1[185]
-x1[186]
-x1[187]
-x1[188]
-x1[54]
-x1[55]
-x1[56]
-x1[57]
-x1[58]
-x1[84]
x1[84]
x1[58]
x1[57]
x1[56]
x1[55]
x1[54]
-x1[119]
-x1[120]
-x1[121]
-x1[122]
-x1[123]
-x1[124]
-x1[54]
-x1[55]
-x1[56]
-x1[57]
-x1[58]
x1[162]
x1[163]
x1[164]
-x1[162]
-x1[163]
-x1[164]
-x1[37]
-x1[38]
-x1[39]
-x1[40]
-x1[45]
-x1[46]
-x1[47]
x1[37]
x1[38]
x1[39]
x1[40]
x1[45]
x1[46]
x1[47]
-x1[45]
-x1[46]
-x1[47]
x1[73]
x1[74]
x1[75]
x1[76]
x1[77]
x1[78]
x1[79]
x1[45]
x1[46]
x1[47]
-x1[73]
-x1[74]
-x1[75]
-x1[76]
-x1[77]
-x1[78]
-x1[79]
x1[66]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[60]
x1[61]
x1[62]
x1[63]
x1[64]
x1[65]
x1[67]
x1[68]
x1[69]
x1[66]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[64]
x1[63]
x1[62]
x1[61]
x1[60]
x1[65]
x1[67]
x1[68]
x1[69]
-x1[168]
-x1[169]
-x1[170]
-x1[171]
-x1[172]
-x1[173]
-x1[174]
-x1[175]
-x1[176]
x1[66]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[60]
x1[61]
x1[62]
x1[63]
x1[64]
x1[65]
x1[67]
x1[68]
x1[69]
x1[66]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[64]
x1[63]
x1[62]
x1[61]
x1[60]
x1[65]
x1[67]
x1[68]
x1[69]
-x1[218]
-x1[219]
-x1[220]
-x1[221]
-x1[222]
-x1[223]
-x1[224]
-x1[225]
-x1[226]
-x1[45]
-x1[46]
-x1[47]
-x1[54]
-x1[55]
-x1[56]
-x1[57]
-x1[58]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[66]
x1[67]
x1[68]
x1[69]
x1[61]
x1[62]
x1[63]
x1[64]
x1[65]
x1[60]
x1[58]
x1[57]
x1[56]
x1[55]
x1[54]
-x1[207]
-x1[208]
-x1[209]
-x1[210]
-x1[211]
-x1[212]
-x1[213]
-x1[214]
-x1[215]
-x1[216]
-x1[217]
x1[180]
x1[181]
x1[182]
x1[183]
-x1[180]
-x1[181]
-x1[182]
-x1[183]
-x1[11]
-x1[12]
x1[11]
x1[12]
-x1[35]
-x1[36]
-x1[1]
-x1[2]
-x1[3]
-x1[4]
-x1[5]
x1[1]
x1[2]
x1[3]
x1[4]
x1[5]
-x1[30]
-x1[31]
-x1[32]
-x1[33]
-x1[34]
x1[30]
x1[31]
x1[32]
x1[33]
x1[34]
-x1[106]
-x1[107]
-x1[108]
-x1[109]
-x1[110]
-x1[106]
-x1[107]
-x1[108]
-x1[109]
-x1[110]
x1[59]
x1[106]
x1[107]
x1[108]
x1[109]
x1[110]
-x1[59]
-x1[106]
-x1[107]
-x1[108]
-x1[109]
-x1[110]
-x1[16]
-x1[17]
-x1[18]
-x1[19]
-x1[20]
-x1[21]
x1[158]
x1[159]
x1[160]
x1[161]
-x1[158]
-x1[159]
-x1[160]
-x1[161]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[26]
-x1[27]
-x1[28]
-x1[29]
-x1[51]
-x1[52]
-x1[53]
x1[53]
x1[51]
x1[203]
x1[204]
x1[52]
x1[205]
x1[206]
-x1[203]
-x1[204]
-x1[205]
-x1[206]
-x1[131]
-x1[132]
-x1[133]
-x1[134]
-x1[135]
-x1[136]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[51]
-x1[52]
-x1[53]
x1[53]
x1[52]
x1[51]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[51]
-x1[52]
-x1[53]
x1[44]
x1[43]
x1[42]
x1[41]
x1[51]
x1[52]
x1[53]
-x1[143]
-x1[144]
-x1[145]
-x1[146]
-x1[147]
-x1[148]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[203]
-x1[204]
-x1[205]
-x1[206]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[84]
x1[84]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[153]
-x1[154]
-x1[155]
-x1[156]
-x1[157]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
-x1[22]
-x1[23]
-x1[24]
-x1[25]
-x1[59]
-x1[11]
-x1[12]
-x1[84]
-x1[100]
-x1[101]
-x1[102]
-x1[103]
-x1[104]
-x1[105]
-x1[100]
-x1[101]
-x1[102]
-x1[103]
-x1[104]
-x1[105]
-x1[85]
-x1[86]
-x1[87]
-x1[88]
-x1[89]
-x1[90]
x1[85]
x1[86]
x1[87]
x1[88]
x1[89]
x1[90]
x1[91]
x1[92]
x1[93]
x1[94]
x1[95]
x1[96]
-x1[91]
-x1[92]
-x1[93]
-x1[94]
-x1[95]
-x1[96]
x1[97]
x1[98]
x1[99]
x1[99]
x1[98]
x1[97]
-x1[97]-x1[97]
-x1[98]-x1[98]
-x1[99]-x1[99]
x1[165]
x1[166]
x1[167]
-x1[165]
-x1[166]
-x1[167]
-x1[162]
-x1[163]
-x1[164]
x1[162]
x1[163]
x1[164]
x1[177]
x1[178]
x1[179]
-x1[177]
-x1[178]
-x1[179]
x1[113]
x1[114]
x1[115]
x1[116]
x1[117]
x1[118]
-x1[113]
-x1[114]
-x1[115]
-x1[116]
-x1[117]
-x1[118]
-x1[59]
x1[184]
x1[185]
x1[186]
x1[187]
x1[188]
x1[59]
-x1[184]
-x1[185]
-x1[186]
-x1[187]
-x1[188]
-x1[97]
-x1[98]
-x1[99]
x1[97]
x1[98]
x1[99]
x1[177]
x1[178]
x1[179]
-x1[177]
-x1[178]
-x1[179]
-x1[80]
-x1[81]
-x1[82]
-x1[83]
-x1[85]
-x1[86]
-x1[87]
-x1[88]
-x1[89]
-x1[90]
x1[85]
x1[86]
x1[87]
x1[80]
x1[81]
x1[82]
x1[83]
x1[88]
x1[89]
x1[90]
-x1[97]
-x1[98]
-x1[99]
x1[97]+x1[189]
x1[98]+x1[190]
x1[99]+x1[191]
x1[194]+x1[192]
x1[195]+x1[193]
-x1[189]
-x1[190]
-x1[191]
-x1[192]
-x1[193]
-x1[194]
-x1[195]
x1[85]
x1[86]
x1[87]
x1[88]
-x1[85]
-x1[86]
-x1[87]
-x1[88]
-x1[89]
-x1[90]
-x1[97]
-x1[98]
-x1[99]
x1[97]
x1[98]
x1[99]
x1[89]
x1[90]
-x1[11]
-x1[12]
-x1[59]
x1[11]
x1[12]
x1[59]
x1[126]
x1[125]
-x1[125]
-x1[126]
-x1[127]
-x1[128]
-x1[129]
-x1[130]
x1[130]
x1[129]
x1[128]
x1[127]
-x1[1]
-x1[2]
-x1[3]
-x1[4]
-x1[5]
-x1[59]
x1[1]
x1[2]
x1[59]
x1[3]
x1[4]
x1[5]
x1[199]
x1[200]
x1[201]
x1[202]
x1[59]
-x1[59]
-x1[199]
-x1[200]
-x1[201]
-x1[202]
-x1[149]
-x1[150]
-x1[151]
-x1[152]
x1[149]
x1[150]
x1[151]
x1[152]
-x1[149]
-x1[150]
-x1[151]
-x1[152]
x1[152]
x1[151]
x1[150]
x1[149]
x1[158]
x1[159]
x1[160]
x1[161]
-x1[158]
-x1[159]
-x1[160]
-x1[161]
x1[158]
-x1[158]
-x1[159]
-x1[160]
-x1[161]
x1[159]
x1[160]
x1[161]
-x1[59]
x1[59]
x1[177]
x1[178]
x1[179]
-x1[177]
-x1[178]
-x1[179]
-x1[48]
-x1[49]
-x1[50]
x1[48]
x1[49]
x1[50]
x1[196]
x1[197]
x1[198]
-x1[196]
-x1[197]
-x1[198]
-x1[70]
-x1[71]
-x1[72]
x1[70]
x1[71]
x1[72]
-x1[84]
-x1[111]
-x1[112]
x1[84]
x1[111]
x1[112]
-x1[51]
-x1[52]
-x1[53]
x1[51]
x1[52]
x1[53]
-x1[13]
-x1[14]
-x1[15]
x1[13]
x1[14]
x1[15]
-x1[6]
-x1[7]
-x1[8]
-x1[9]
-x1[10]
x1[6]+x1[7]
x1[9]+x1[8]
x1[10]+x1[59]
-x1[59]
x1[227]
x1[228]
x1[229]
x1[230]
x1[231]
-x1[227]
-x1[228]
-x1[229]
-x1[230]
-x1[231]
x1[137]
x1[138]
x1[139]
x1[140]
x1[59]
x1[141]
x1[142]
-x1[59]
-x1[137]
-x1[138]
-x1[139]
-x1[140]
-x1[141]
-x1[142]
-x1[37]
-x1[38]
-x1[39]
-x1[40]
x1[37]
x1[38]
x1[39]
x1[40]
-x1[54]
-x1[55]
-x1[56]
-x1[57]
-x1[58]
x1[54]
x1[55]
x1[56]
x1[57]
x1[58]
x1[124]
x1[123]
x1[122]
x1[121]
x1[120]
x1[119]
-x1[119]
-x1[120]
-x1[121]
-x1[122]
-x1[123]
-x1[124]
-x1[45]
-x1[46]
-x1[47]
x1[45]
x1[46]
x1[47]
x1[73]
x1[74]
x1[75]
x1[76]
x1[77]
x1[78]
x1[79]
-x1[73]
-x1[74]
-x1[75]
-x1[76]
-x1[77]
-x1[78]
-x1[79]
x1[67]
x1[68]
x1[69]
-x1[60]
-x1[61]
-x1[62]
-x1[63]
-x1[64]
-x1[65]
-x1[66]
-x1[67]
-x1[68]
-x1[69]
x1[60]
x1[61]
x1[62]
x1[63]
x1[64]
x1[65]
x1[66]
-x1[59]
x1[168]
x1[169]
x1[170]
x1[171]
x1[172]
x1[173]
x1[59]
x1[174]
x1[175]
x1[176]
-x1[168]
-x1[169]
-x1[170]
-x1[171]
-x1[172]
-x1[173]
-x1[174]
-x1[175]
-x1[176]
-x1[59]
x1[172]
x1[171]
x1[170]
x1[169]
x1[168]
x1[173]
x1[59]
x1[174]
x1[175]
x1[176]
-x1[168]
-x1[169]
-x1[170]
-x1[171]
-x1[172]
-x1[173]
-x1[174]
-x1[175]
-x1[176]
-x1[59]
x1[218]
x1[219]
x1[220]
x1[221]
x1[222]
x1[223]
x1[59]
x1[224]
x1[225]
x1[226]
-x1[218]
-x1[219]
-x1[220]
-x1[221]
-x1[222]
-x1[223]
-x1[224]
-x1[225]
-x1[226]
-x1[59]
x1[222]
x1[221]
x1[220]
x1[219]
x1[218]
x1[223]
x1[59]
x1[224]
x1[225]
x1[226]
-x1[218]
-x1[219]
-x1[220]
-x1[221]
-x1[222]
-x1[223]
-x1[224]
-x1[225]
-x1[226]
x1[217]
x1[216]
x1[215]
x1[214]
x1[213]
x1[212]
x1[207]
x1[208]
x1[209]
x1[210]
x1[211]
x1[180]
x1[181]
x1[182]
x1[183]
-x1[180]
-x1[181]
-x1[182]
-x1[183]
-x1[207]
-x1[208]
-x1[209]
-x1[210]
-x1[211]
-x1[212]
-x1[213]
-x1[214]
-x1[215]
-x1[216]
-x1[217]
-x1[59]
-x1[177]
-x1[178]
-x1[179]
x1[59]
x1[177]
x1[178]
x1[179]
x1[35]
x1[36]
-x1[35]
-x1[36]
x1[30]
x1[31]
x1[32]
x1[33]
x1[34]
-x1[30]
-x1[31]
-x1[32]
-x1[33]
-x1[34]
x1[106]
x1[107]
x1[108]
x1[109]
x1[110]
-x1[106]
-x1[107]
-x1[108]
-x1[109]
-x1[110]
-x1[16]
-x1[17]
-x1[18]
-x1[19]
-x1[20]
-x1[21]
x1[16]
x1[17]
x1[18]
x1[19]
x1[20]
x1[21]
-x1[41]
-x1[42]
-x1[43]
-x1[44]
x1[41]
x1[42]
x1[43]
x1[44]
-x1[26]
-x1[27]
-x1[28]
-x1[29]
x1[26]
x1[27]
x1[28]
x1[29]
x1[131]
x1[134]
x1[59]
-x1[59]
-x1[131]
-x1[132]
-x1[133]
-x1[134]
-x1[135]
-x1[136]
x1[132]
x1[133]
x1[135]
x1[136]
x1[145]
x1[146]
x1[147]
x1[148]
x1[144]
x1[143]
x1[59]
-x1[59]
-x1[143]
-x1[144]
-x1[145]
-x1[146]
-x1[147]
-x1[148]
x1[145]
x1[144]
x1[143]
x1[59]
x1[146]
x1[147]
x1[148]
-x1[59]
-x1[143]
-x1[144]
-x1[145]
-x1[146]
-x1[147]
-x1[148]
x1[203]
x1[204]
x1[205]
x1[206]
-x1[203]
-x1[204]
-x1[205]
-x1[206]
x1[154]
x1[155]
x1[156]
x1[157]
x1[153]
-x1[153]
-x1[154]
-x1[155]
-x1[156]
-x1[157]
-x1[22]
-x1[23]
-x1[24]
-x1[25]
x1[22]
x1[23]
x1[24]
x1[25]]
return (x1,M1_handle,dg1_dv)
end
M1_ijv=[1 1 1
30 1 1
125 1 1
199 1 1
2 2 1
31 2 1
126 2 1
200 2 1
3 3 1
32 3 1
128 3 1
201 3 1
4 4 1
33 4 1
129 4 1
202 4 1
5 5 1
34 5 1
59 5 1
130 5 1
6 6 1
51 6 1
137 6 1
227 6 1
7 7 1
51 7 1
138 7 1
228 7 1
8 8 1
52 8 1
139 8 1
229 8 1
9 9 1
52 9 1
140 9 1
230 9 1
10 10 1
53 10 1
59 10 1
231 10 1
11 11 1
35 11 1
126 11 1
177 11 1
12 12 1
36 12 1
125 12 1
178 12 1
13 13 1
51 13 1
14 14 1
52 14 1
15 15 1
53 15 1
16 16 1
59 16 1
17 17 1
106 17 1
18 18 1
107 18 1
19 19 1
108 19 1
20 20 1
109 20 1
21 21 1
110 21 1
22 22 1
41 22 1
23 23 1
42 23 1
24 24 1
43 24 1
25 25 1
44 25 1
26 26 1
41 26 1
27 27 1
42 27 1
28 28 1
43 28 1
29 29 1
44 29 1
1 30 1
30 30 1
106 30 1
2 31 1
31 31 1
107 31 1
3 32 1
32 32 1
108 32 1
4 33 1
33 33 1
109 33 1
5 34 1
34 34 1
110 34 1
11 35 1
35 35 1
141 35 1
12 36 1
36 36 1
142 36 1
37 37 1
73 37 1
80 37 1
38 38 1
74 38 1
81 38 1
39 39 1
75 39 1
82 39 1
40 40 1
76 40 1
83 40 1
22 41 1
26 41 1
41 41 1
145 41 1
154 41 1
158 41 1
203 41 1
23 42 1
27 42 1
42 42 1
144 42 1
146 42 1
155 42 1
159 42 1
204 42 1
24 43 1
28 43 1
43 43 1
143 43 1
147 43 1
156 43 1
160 43 1
205 43 1
25 44 1
29 44 1
44 44 1
59 44 1
148 44 1
157 44 1
161 44 1
206 44 1
45 45 1
67 45 1
77 45 1
162 45 1
46 46 1
68 46 1
78 46 1
163 46 1
47 47 1
69 47 1
79 47 1
164 47 1
48 48 1
165 48 1
196 48 1
49 49 1
166 49 1
197 49 1
50 50 1
167 50 1
198 50 1
6 51 1
7 51 1
13 51 1
51 51 1
131 51 1
144 51 1
146 51 1
177 51 1
8 52 1
9 52 1
14 52 1
52 52 1
134 52 1
143 52 1
147 52 1
178 52 1
10 53 1
15 53 1
53 53 1
59 53 1
148 53 1
179 53 1
54 54 1
124 54 1
184 54 1
217 54 1
55 55 1
123 55 1
185 55 1
216 55 1
56 56 1
122 56 1
186 56 1
215 56 1
57 57 1
121 57 1
187 57 1
214 57 1
58 58 1
120 58 1
188 58 1
213 58 1
5 59 1
10 59 1
16 59 1
44 59 1
53 59 1
59 59 1
66 59 1
118 59 1
127 59 1
149 59 1
158 59 1
179 59 1
180 59 1
60 60 1
73 60 1
168 60 1
172 60 1
212 60 1
218 60 1
222 60 1
61 61 1
74 61 1
169 61 1
171 61 1
207 61 1
219 61 1
221 61 1
62 62 1
75 62 1
170 62 1
208 62 1
220 62 1
63 63 1
76 63 1
169 63 1
171 63 1
209 63 1
219 63 1
221 63 1
64 64 1
77 64 1
168 64 1
172 64 1
210 64 1
218 64 1
222 64 1
65 65 1
78 65 1
173 65 1
211 65 1
223 65 1
59 66 1
66 66 1
79 66 1
180 66 1
45 67 1
67 67 1
174 67 1
181 67 1
224 67 1
46 68 1
68 68 1
175 68 1
182 68 1
225 68 1
47 69 1
69 69 1
176 69 1
183 69 1
226 69 1
70 70 1
196 70 1
71 71 1
197 71 1
72 72 1
198 72 1
37 73 1
60 73 1
73 73 1
38 74 1
61 74 1
74 74 1
39 75 1
62 75 1
75 75 1
40 76 1
63 76 1
76 76 1
45 77 1
64 77 1
77 77 1
46 78 1
65 78 1
78 78 1
47 79 1
66 79 1
79 79 1
37 80 1
80 80 1
85 80 1
189 80 1
38 81 1
81 81 1
86 81 1
190 81 1
39 82 1
82 82 1
87 82 1
191 82 1
40 83 1
83 83 1
88 83 1
192 83 1
84 84 1
119 84 1
153 84 1
196 84 1
80 85 1
85 85 1
91 85 1
97 85 1
100 85 1
81 86 1
86 86 1
92 86 1
98 86 1
101 86 1
82 87 1
87 87 1
93 87 1
99 87 1
102 87 1
83 88 1
88 88 1
94 88 1
103 88 1
193 88 1
89 89 1
95 89 1
104 89 1
187 89 1
194 89 1
90 90 1
96 90 1
105 90 1
188 90 1
195 90 1
85 91 1
91 91 1
97 91 1
86 92 1
92 92 1
98 92 1
87 93 1
93 93 1
99 93 1
88 94 1
94 94 1
99 94 1
89 95 1
95 95 1
98 95 1
90 96 1
96 96 1
97 96 1
85 97 1
91 97 1
96 97 1
97 97 1
113 97 1
165 97 1
184 97 1
86 98 1
92 98 1
95 98 1
98 98 1
114 98 1
166 98 1
185 98 1
87 99 1
93 99 1
94 99 1
99 99 1
115 99 1
167 99 1
186 99 1
85 100 1
100 100 1
113 100 1
86 101 1
101 101 1
114 101 1
87 102 1
102 102 1
115 102 1
88 103 1
103 103 1
116 103 1
89 104 1
104 104 1
117 104 1
90 105 1
105 105 1
118 105 1
17 106 1
30 106 1
106 106 1
18 107 1
31 107 1
107 107 1
19 108 1
32 108 1
108 108 1
20 109 1
33 109 1
109 109 1
21 110 1
34 110 1
110 110 1
111 111 1
197 111 1
112 112 1
198 112 1
97 113 1
100 113 1
113 113 1
184 113 1
98 114 1
101 114 1
114 114 1
185 114 1
99 115 1
102 115 1
115 115 1
186 115 1
103 116 1
116 116 1
177 116 1
187 116 1
104 117 1
117 117 1
178 117 1
188 117 1
59 118 1
105 118 1
118 118 1
179 118 1
84 119 1
119 119 1
58 120 1
120 120 1
57 121 1
121 121 1
56 122 1
122 122 1
55 123 1
123 123 1
54 124 1
124 124 1
1 125 1
12 125 1
125 125 1
2 126 1
11 126 1
126 126 1
59 127 1
127 127 1
161 127 1
3 128 1
128 128 1
160 128 1
4 129 1
129 129 1
159 129 1
5 130 1
130 130 1
158 130 1
51 131 1
131 131 1
132 132 1
203 132 1
133 133 1
204 133 1
52 134 1
134 134 1
135 135 1
205 135 1
136 136 1
206 136 1
6 137 1
137 137 1
7 138 1
138 138 1
8 139 1
139 139 1
9 140 1
140 140 1
35 141 1
141 141 1
36 142 1
142 142 1
43 143 1
52 143 1
143 143 1
42 144 1
51 144 1
144 144 1
41 145 1
145 145 1
42 146 1
51 146 1
146 146 1
43 147 1
52 147 1
147 147 1
44 148 1
53 148 1
148 148 1
59 149 1
149 149 1
158 149 1
199 149 1
202 149 1
150 150 1
159 150 1
177 150 1
200 150 1
201 150 1
151 151 1
160 151 1
178 151 1
200 151 1
201 151 1
152 152 1
161 152 1
179 152 1
199 152 1
202 152 1
84 153 1
153 153 1
41 154 1
154 154 1
42 155 1
155 155 1
43 156 1
156 156 1
44 157 1
157 157 1
41 158 1
59 158 1
130 158 1
149 158 1
158 158 1
42 159 1
129 159 1
150 159 1
159 159 1
162 159 1
43 160 1
128 160 1
151 160 1
160 160 1
163 160 1
44 161 1
127 161 1
152 161 1
161 161 1
164 161 1
45 162 1
159 162 1
162 162 1
165 162 1
177 162 1
46 163 1
160 163 1
163 163 1
166 163 1
178 163 1
47 164 1
161 164 1
164 164 1
167 164 1
179 164 1
48 165 1
97 165 1
162 165 1
165 165 1
49 166 1
98 166 1
163 166 1
166 166 1
50 167 1
99 167 1
164 167 1
167 167 1
60 168 1
64 168 1
168 168 1
61 169 1
63 169 1
169 169 1
62 170 1
170 170 1
61 171 1
63 171 1
171 171 1
60 172 1
64 172 1
172 172 1
65 173 1
173 173 1
67 174 1
174 174 1
68 175 1
175 175 1
69 176 1
176 176 1
11 177 1
51 177 1
116 177 1
150 177 1
162 177 1
177 177 1
181 177 1
12 178 1
52 178 1
117 178 1
151 178 1
163 178 1
178 178 1
182 178 1
53 179 1
59 179 1
118 179 1
152 179 1
164 179 1
179 179 1
183 179 1
59 180 1
66 180 1
180 180 1
67 181 1
177 181 1
181 181 1
68 182 1
178 182 1
182 182 1
69 183 1
179 183 1
183 183 1
54 184 1
97 184 1
113 184 1
184 184 1
189 184 1
55 185 1
98 185 1
114 185 1
185 185 1
190 185 1
56 186 1
99 186 1
115 186 1
186 186 1
191 186 1
57 187 1
89 187 1
116 187 1
187 187 1
192 187 1
194 187 1
58 188 1
90 188 1
117 188 1
188 188 1
193 188 1
195 188 1
80 189 1
184 189 1
189 189 1
81 190 1
185 190 1
190 190 1
82 191 1
186 191 1
191 191 1
83 192 1
187 192 1
192 192 1
88 193 1
188 193 1
193 193 1
89 194 1
187 194 1
194 194 1
90 195 1
188 195 1
195 195 1
48 196 1
70 196 1
84 196 1
196 196 1
49 197 1
71 197 1
111 197 1
197 197 1
50 198 1
72 198 1
112 198 1
198 198 1
1 199 1
149 199 1
152 199 1
199 199 1
2 200 1
150 200 1
151 200 1
200 200 1
3 201 1
150 201 1
151 201 1
201 201 1
4 202 1
149 202 1
152 202 1
202 202 1
41 203 1
132 203 1
203 203 1
42 204 1
133 204 1
204 204 1
43 205 1
135 205 1
205 205 1
44 206 1
136 206 1
206 206 1
61 207 1
207 207 1
62 208 1
208 208 1
63 209 1
209 209 1
64 210 1
210 210 1
65 211 1
211 211 1
60 212 1
212 212 1
58 213 1
213 213 1
57 214 1
214 214 1
56 215 1
215 215 1
55 216 1
216 216 1
54 217 1
217 217 1
60 218 1
64 218 1
218 218 1
61 219 1
63 219 1
219 219 1
62 220 1
220 220 1
61 221 1
63 221 1
221 221 1
60 222 1
64 222 1
222 222 1
65 223 1
223 223 1
67 224 1
224 224 1
68 225 1
225 225 1
69 226 1
226 226 1
6 227 1
227 227 1
7 228 1
228 228 1
8 229 1
229 229 1
9 230 1
230 230 1
10 231 1
231 231 1]
M1=sparse(M1_ijv[:,1],M1_ijv[:,2],float64(M1_ijv[:,3]),231,231);
b1_ijv=[100 1 1
101 1 1
102 1 1
103 1 1
104 1 1
105 1 1]
b1=sparse(b1_ijv[:,1],b1_ijv[:,2],float64(b1_ijv[:,3]),231,1);
dg1_dv_ijv=[100 1 1
101 1 1
102 1 1
103 1 1
104 1 1
105 1 1
100 2 1
101 2 1
102 2 1
103 2 1
104 2 1
105 2 1
85 3 1
86 3 1
87 3 1
88 3 1
89 3 1
90 3 1
100 3 1
101 3 1
102 3 1
103 3 1
104 3 1
105 3 1
85 4 1
86 4 1
87 4 1
88 4 1
89 4 1
90 4 1
91 4 1
92 4 1
93 4 1
94 4 1
95 4 1
96 4 1
91 5 1
92 5 1
93 5 1
94 5 1
95 5 1
96 5 1
97 5 1
98 5 1
99 5 1
97 6 1
98 6 1
99 6 1
165 6 1
166 6 1
167 6 1
162 7 1
163 7 1
164 7 1
165 7 1
166 7 1
167 7 1
162 8 1
163 8 1
164 8 1
177 8 1
178 8 1
179 8 1
100 9 1
101 9 1
102 9 1
103 9 1
104 9 1
105 9 1
113 9 1
114 9 1
115 9 1
116 9 1
117 9 1
118 9 1
59 10 1
113 10 1
114 10 1
115 10 1
116 10 1
117 10 1
118 10 1
184 10 1
185 10 1
186 10 1
187 10 1
188 10 1
97 11 1
98 11 1
99 11 1
113 11 1
114 11 1
115 11 1
116 11 1
117 11 1
118 11 1
177 11 1
178 11 1
179 11 1
80 12 1
81 12 1
82 12 1
83 12 1
85 12 1
86 12 1
87 12 1
88 12 1
89 12 1
90 12 1
97 12 1
98 12 1
99 12 1
189 12 1
190 12 1
191 12 1
192 12 1
193 12 1
194 12 1
195 12 1
97 13 1
98 13 1
99 13 1
184 13 1
185 13 1
186 13 1
187 13 1
188 13 1
189 13 1
190 13 1
191 13 1
192 13 1
193 13 1
194 13 1
195 13 1
80 14 1
81 14 1
82 14 1
83 14 1
85 14 1
86 14 1
87 14 1
88 14 1
89 14 1
90 14 1
97 14 1
98 14 1
99 14 1
184 14 1
185 14 1
186 14 1
187 14 1
188 14 1
11 15 1
12 15 1
59 15 1
177 15 1
178 15 1
179 15 1
11 16 1
12 16 1
125 16 1
126 16 1
127 16 1
128 16 1
129 16 1
130 16 1
158 16 1
159 16 1
160 16 1
161 16 1
1 17 1
2 17 1
3 17 1
4 17 1
5 17 1
59 17 1
125 17 1
126 17 1
127 17 1
128 17 1
129 17 1
130 17 1
1 18 1
2 18 1
3 18 1
4 18 1
5 18 1
59 18 1
199 18 1
200 18 1
201 18 1
202 18 1
149 19 1
150 19 1
151 19 1
152 19 1
199 19 1
200 19 1
201 19 1
202 19 1
149 20 1
150 20 1
151 20 1
152 20 1
199 20 1
200 20 1
201 20 1
202 20 1
149 21 1
150 21 1
151 21 1
152 21 1
158 21 1
159 21 1
160 21 1
161 21 1
59 22 1
158 22 1
159 22 1
160 22 1
161 22 1
162 22 1
163 22 1
164 22 1
59 23 1
149 23 1
150 23 1
151 23 1
152 23 1
177 23 1
178 23 1
179 23 1
100 24 1
101 24 1
102 24 1
103 24 1
104 24 1
105 24 1
85 25 1
86 25 1
87 25 1
88 25 1
89 25 1
90 25 1
48 26 1
49 26 1
50 26 1
165 26 1
166 26 1
167 26 1
48 27 1
49 27 1
50 27 1
48 28 1
49 28 1
50 28 1
196 28 1
197 28 1
198 28 1
196 29 1
197 29 1
198 29 1
70 30 1
71 30 1
72 30 1
196 30 1
197 30 1
198 30 1
70 31 1
71 31 1
72 31 1
84 32 1
111 32 1
112 32 1
196 32 1
197 32 1
198 32 1
111 33 1
112 33 1
97 34 1
98 34 1
99 34 1
51 35 1
52 35 1
53 35 1
177 35 1
178 35 1
179 35 1
13 36 1
14 36 1
15 36 1
51 36 1
52 36 1
53 36 1
13 37 1
14 37 1
15 37 1
6 38 1
7 38 1
8 38 1
9 38 1
10 38 1
51 38 1
52 38 1
53 38 1
59 38 1
6 39 1
7 39 1
8 39 1
9 39 1
10 39 1
227 39 1
228 39 1
229 39 1
230 39 1
231 39 1
227 40 1
228 40 1
229 40 1
230 40 1
231 40 1
6 41 1
7 41 1
8 41 1
9 41 1
10 41 1
35 41 1
36 41 1
59 41 1
137 41 1
138 41 1
139 41 1
140 41 1
141 41 1
142 41 1
137 42 1
138 42 1
139 42 1
140 42 1
141 42 1
142 42 1
37 43 1
38 43 1
39 43 1
40 43 1
80 43 1
81 43 1
82 43 1
83 43 1
54 44 1
55 44 1
56 44 1
57 44 1
58 44 1
184 44 1
185 44 1
186 44 1
187 44 1
188 44 1
54 45 1
55 45 1
56 45 1
57 45 1
58 45 1
84 45 1
119 45 1
120 45 1
121 45 1
122 45 1
123 45 1
124 45 1
119 46 1
120 46 1
121 46 1
122 46 1
123 46 1
124 46 1
54 47 1
55 47 1
56 47 1
57 47 1
58 47 1
45 48 1
46 48 1
47 48 1
162 48 1
163 48 1
164 48 1
37 49 1
38 49 1
39 49 1
40 49 1
45 49 1
46 49 1
47 49 1
73 49 1
74 49 1
75 49 1
76 49 1
77 49 1
78 49 1
79 49 1
45 50 1
46 50 1
47 50 1
60 50 1
61 50 1
62 50 1
63 50 1
64 50 1
65 50 1
66 50 1
67 50 1
68 50 1
69 50 1
73 50 1
74 50 1
75 50 1
76 50 1
77 50 1
78 50 1
79 50 1
59 51 1
60 51 1
61 51 1
62 51 1
63 51 1
64 51 1
65 51 1
66 51 1
67 51 1
68 51 1
69 51 1
168 51 1
169 51 1
170 51 1
171 51 1
172 51 1
173 51 1
174 51 1
175 51 1
176 51 1
59 52 1
60 52 1
61 52 1
62 52 1
63 52 1
64 52 1
65 52 1
66 52 1
67 52 1
68 52 1
69 52 1
168 52 1
169 52 1
170 52 1
171 52 1
172 52 1
173 52 1
174 52 1
175 52 1
176 52 1
168 53 1
169 53 1
170 53 1
171 53 1
172 53 1
173 53 1
174 53 1
175 53 1
176 53 1
59 54 1
60 54 1
61 54 1
62 54 1
63 54 1
64 54 1
65 54 1
66 54 1
67 54 1
68 54 1
69 54 1
218 54 1
219 54 1
220 54 1
221 54 1
222 54 1
223 54 1
224 54 1
225 54 1
226 54 1
59 55 1
60 55 1
61 55 1
62 55 1
63 55 1
64 55 1
65 55 1
66 55 1
67 55 1
68 55 1
69 55 1
218 55 1
219 55 1
220 55 1
221 55 1
222 55 1
223 55 1
224 55 1
225 55 1
226 55 1
218 56 1
219 56 1
220 56 1
221 56 1
222 56 1
223 56 1
224 56 1
225 56 1
226 56 1
45 57 1
46 57 1
47 57 1
54 58 1
55 58 1
56 58 1
57 58 1
58 58 1
60 58 1
61 58 1
62 58 1
63 58 1
64 58 1
65 58 1
66 58 1
67 58 1
68 58 1
69 58 1
180 58 1
181 58 1
182 58 1
183 58 1
207 58 1
208 58 1
209 58 1
210 58 1
211 58 1
212 58 1
213 58 1
214 58 1
215 58 1
216 58 1
217 58 1
207 59 1
208 59 1
209 59 1
210 59 1
211 59 1
212 59 1
213 59 1
214 59 1
215 59 1
216 59 1
217 59 1
59 60 1
177 60 1
178 60 1
179 60 1
180 60 1
181 60 1
182 60 1
183 60 1
11 61 1
12 61 1
35 61 1
36 61 1
35 62 1
36 62 1
1 63 1
2 63 1
3 63 1
4 63 1
5 63 1
30 63 1
31 63 1
32 63 1
33 63 1
34 63 1
30 64 1
31 64 1
32 64 1
33 64 1
34 64 1
106 64 1
107 64 1
108 64 1
109 64 1
110 64 1
106 65 1
107 65 1
108 65 1
109 65 1
110 65 1
106 66 1
107 66 1
108 66 1
109 66 1
110 66 1
16 67 1
17 67 1
18 67 1
19 67 1
20 67 1
21 67 1
59 67 1
106 67 1
107 67 1
108 67 1
109 67 1
110 67 1
16 68 1
17 68 1
18 68 1
19 68 1
20 68 1
21 68 1
41 69 1
42 69 1
43 69 1
44 69 1
158 69 1
159 69 1
160 69 1
161 69 1
26 70 1
27 70 1
28 70 1
29 70 1
41 70 1
42 70 1
43 70 1
44 70 1
26 71 1
27 71 1
28 71 1
29 71 1
51 72 1
52 72 1
53 72 1
59 72 1
131 72 1
132 72 1
133 72 1
134 72 1
135 72 1
136 72 1
203 72 1
204 72 1
205 72 1
206 72 1
131 73 1
132 73 1
133 73 1
134 73 1
135 73 1
136 73 1
41 74 1
42 74 1
43 74 1
44 74 1
51 74 1
52 74 1
53 74 1
59 74 1
143 74 1
144 74 1
145 74 1
146 74 1
147 74 1
148 74 1
41 75 1
42 75 1
43 75 1
44 75 1
51 75 1
52 75 1
53 75 1
59 75 1
143 75 1
144 75 1
145 75 1
146 75 1
147 75 1
148 75 1
143 76 1
144 76 1
145 76 1
146 76 1
147 76 1
148 76 1
41 77 1
42 77 1
43 77 1
44 77 1
41 78 1
42 78 1
43 78 1
44 78 1
203 78 1
204 78 1
205 78 1
206 78 1
203 79 1
204 79 1
205 79 1
206 79 1
41 80 1
42 80 1
43 80 1
44 80 1
84 80 1
153 80 1
154 80 1
155 80 1
156 80 1
157 80 1
153 81 1
154 81 1
155 81 1
156 81 1
157 81 1
22 82 1
23 82 1
24 82 1
25 82 1
41 82 1
42 82 1
43 82 1
44 82 1
22 83 1
23 83 1
24 83 1
25 83 1
59 84 1
11 85 1
12 85 1
84 86 1
100 87 1
101 87 1
102 87 1
103 87 1
104 87 1
105 87 1
100 88 1
101 88 1
102 88 1
103 88 1
104 88 1
105 88 1
85 89 1
86 89 1
87 89 1
88 89 1
89 89 1
90 89 1
100 89 1
101 89 1
102 89 1
103 89 1
104 89 1
105 89 1
85 90 1
86 90 1
87 90 1
88 90 1
89 90 1
90 90 1
91 90 1
92 90 1
93 90 1
94 90 1
95 90 1
96 90 1
91 91 1
92 91 1
93 91 1
94 91 1
95 91 1
96 91 1
97 91 1
98 91 1
99 91 1
97 92 1
98 92 1
99 92 1
165 92 1
166 92 1
167 92 1
162 93 1
163 93 1
164 93 1
165 93 1
166 93 1
167 93 1
162 94 1
163 94 1
164 94 1
177 94 1
178 94 1
179 94 1
100 95 1
101 95 1
102 95 1
103 95 1
104 95 1
105 95 1
113 95 1
114 95 1
115 95 1
116 95 1
117 95 1
118 95 1
59 96 1
113 96 1
114 96 1
115 96 1
116 96 1
117 96 1
118 96 1
184 96 1
185 96 1
186 96 1
187 96 1
188 96 1
97 97 1
98 97 1
99 97 1
113 97 1
114 97 1
115 97 1
116 97 1
117 97 1
118 97 1
177 97 1
178 97 1
179 97 1
80 98 1
81 98 1
82 98 1
83 98 1
85 98 1
86 98 1
87 98 1
88 98 1
89 98 1
90 98 1
97 98 1
98 98 1
99 98 1
189 98 1
190 98 1
191 98 1
192 98 1
193 98 1
194 98 1
195 98 1
97 99 1
98 99 1
99 99 1
184 99 1
185 99 1
186 99 1
187 99 1
188 99 1
189 99 1
190 99 1
191 99 1
192 99 1
193 99 1
194 99 1
195 99 1
80 100 1
81 100 1
82 100 1
83 100 1
85 100 1
86 100 1
87 100 1
88 100 1
89 100 1
90 100 1
97 100 1
98 100 1
99 100 1
184 100 1
185 100 1
186 100 1
187 100 1
188 100 1
11 101 1
12 101 1
59 101 1
177 101 1
178 101 1
179 101 1
11 102 1
12 102 1
125 102 1
126 102 1
127 102 1
128 102 1
129 102 1
130 102 1
158 102 1
159 102 1
160 102 1
161 102 1
1 103 1
2 103 1
3 103 1
4 103 1
5 103 1
59 103 1
125 103 1
126 103 1
127 103 1
128 103 1
129 103 1
130 103 1
1 104 1
2 104 1
3 104 1
4 104 1
5 104 1
59 104 1
199 104 1
200 104 1
201 104 1
202 104 1
149 105 1
150 105 1
151 105 1
152 105 1
199 105 1
200 105 1
201 105 1
202 105 1
149 106 1
150 106 1
151 106 1
152 106 1
199 106 1
200 106 1
201 106 1
202 106 1
149 107 1
150 107 1
151 107 1
152 107 1
158 107 1
159 107 1
160 107 1
161 107 1
59 108 1
158 108 1
159 108 1
160 108 1
161 108 1
162 108 1
163 108 1
164 108 1
59 109 1
149 109 1
150 109 1
151 109 1
152 109 1
177 109 1
178 109 1
179 109 1
48 112 1
49 112 1
50 112 1
165 112 1
166 112 1
167 112 1
48 114 1
49 114 1
50 114 1
196 114 1
197 114 1
198 114 1
70 116 1
71 116 1
72 116 1
196 116 1
197 116 1
198 116 1
84 118 1
111 118 1
112 118 1
196 118 1
197 118 1
198 118 1
51 121 1
52 121 1
53 121 1
177 121 1
178 121 1
179 121 1
13 122 1
14 122 1
15 122 1
51 122 1
52 122 1
53 122 1
6 124 1
7 124 1
8 124 1
9 124 1
10 124 1
51 124 1
52 124 1
53 124 1
59 124 1
6 125 1
7 125 1
8 125 1
9 125 1
10 125 1
227 125 1
228 125 1
229 125 1
230 125 1
231 125 1
6 127 1
7 127 1
8 127 1
9 127 1
10 127 1
35 127 1
36 127 1
59 127 1
137 127 1
138 127 1
139 127 1
140 127 1
141 127 1
142 127 1
37 129 1
38 129 1
39 129 1
40 129 1
80 129 1
81 129 1
82 129 1
83 129 1
54 130 1
55 130 1
56 130 1
57 130 1
58 130 1
184 130 1
185 130 1
186 130 1
187 130 1
188 130 1
54 131 1
55 131 1
56 131 1
57 131 1
58 131 1
84 131 1
119 131 1
120 131 1
121 131 1
122 131 1
123 131 1
124 131 1
45 134 1
46 134 1
47 134 1
162 134 1
163 134 1
164 134 1
37 135 1
38 135 1
39 135 1
40 135 1
45 135 1
46 135 1
47 135 1
73 135 1
74 135 1
75 135 1
76 135 1
77 135 1
78 135 1
79 135 1
45 136 1
46 136 1
47 136 1
60 136 1
61 136 1
62 136 1
63 136 1
64 136 1
65 136 1
66 136 1
67 136 1
68 136 1
69 136 1
73 136 1
74 136 1
75 136 1
76 136 1
77 136 1
78 136 1
79 136 1
59 137 1
60 137 1
61 137 1
62 137 1
63 137 1
64 137 1
65 137 1
66 137 1
67 137 1
68 137 1
69 137 1
168 137 1
169 137 1
170 137 1
171 137 1
172 137 1
173 137 1
174 137 1
175 137 1
176 137 1
59 138 1
60 138 1
61 138 1
62 138 1
63 138 1
64 138 1
65 138 1
66 138 1
67 138 1
68 138 1
69 138 1
168 138 1
169 138 1
170 138 1
171 138 1
172 138 1
173 138 1
174 138 1
175 138 1
176 138 1
59 140 1
60 140 1
61 140 1
62 140 1
63 140 1
64 140 1
65 140 1
66 140 1
67 140 1
68 140 1
69 140 1
218 140 1
219 140 1
220 140 1
221 140 1
222 140 1
223 140 1
224 140 1
225 140 1
226 140 1
59 141 1
60 141 1
61 141 1
62 141 1
63 141 1
64 141 1
65 141 1
66 141 1
67 141 1
68 141 1
69 141 1
218 141 1
219 141 1
220 141 1
221 141 1
222 141 1
223 141 1
224 141 1
225 141 1
226 141 1
54 144 1
55 144 1
56 144 1
57 144 1
58 144 1
60 144 1
61 144 1
62 144 1
63 144 1
64 144 1
65 144 1
66 144 1
67 144 1
68 144 1
69 144 1
180 144 1
181 144 1
182 144 1
183 144 1
207 144 1
208 144 1
209 144 1
210 144 1
211 144 1
212 144 1
213 144 1
214 144 1
215 144 1
216 144 1
217 144 1
59 146 1
177 146 1
178 146 1
179 146 1
180 146 1
181 146 1
182 146 1
183 146 1
11 147 1
12 147 1
35 147 1
36 147 1
1 149 1
2 149 1
3 149 1
4 149 1
5 149 1
30 149 1
31 149 1
32 149 1
33 149 1
34 149 1
30 150 1
31 150 1
32 150 1
33 150 1
34 150 1
106 150 1
107 150 1
108 150 1
109 150 1
110 150 1
16 153 1
17 153 1
18 153 1
19 153 1
20 153 1
21 153 1
59 153 1
106 153 1
107 153 1
108 153 1
109 153 1
110 153 1
41 155 1
42 155 1
43 155 1
44 155 1
158 155 1
159 155 1
160 155 1
161 155 1
26 156 1
27 156 1
28 156 1
29 156 1
41 156 1
42 156 1
43 156 1
44 156 1
51 158 1
52 158 1
53 158 1
59 158 1
131 158 1
132 158 1
133 158 1
134 158 1
135 158 1
136 158 1
203 158 1
204 158 1
205 158 1
206 158 1
41 160 1
42 160 1
43 160 1
44 160 1
51 160 1
52 160 1
53 160 1
59 160 1
143 160 1
144 160 1
145 160 1
146 160 1
147 160 1
148 160 1
41 161 1
42 161 1
43 161 1
44 161 1
51 161 1
52 161 1
53 161 1
59 161 1
143 161 1
144 161 1
145 161 1
146 161 1
147 161 1
148 161 1
41 164 1
42 164 1
43 164 1
44 164 1
203 164 1
204 164 1
205 164 1
206 164 1
41 166 1
42 166 1
43 166 1
44 166 1
84 166 1
153 166 1
154 166 1
155 166 1
156 166 1
157 166 1
22 168 1
23 168 1
24 168 1
25 168 1
41 168 1
42 168 1
43 168 1
44 168 1]
dg1_dv=sparse(dg1_dv_ijv[:,1],dg1_dv_ijv[:,2],float64(dg1_dv_ijv[:,3]),231,172);

v=ones(172,1);
x1_input=rand(12,1);

Reply via email to