📄 svdsum
字号:
echo -n "| - " >> $output else if ($programfiles[1] =~ las1 || $programfiles[1] =~ las2) then grep "NO. MULT. BY TRANSPOSE" $coutputfile | awk '{printf ("| %-13s ", $7) >> "'$output'" }' else if ($programfiles[1] =~ sis1 || $programfiles[1] =~ sis2) then grep "MXV" $coutputfile | awk '{printf ("| %-13s ", $4) >> "'$output'" }' else if ($programfiles[1] =~ tms1 || $programfiles[1] =~ tms2) then grep "MULTIPLICATIONS BY A^T" $coutputfile | awk '{printf ("| %-13s ", $6) >> "'$output'" }' else grep "NO. MULT. BY TRANSPOSE" $coutputfile | awk '{printf ("| %-13s ", $7) >> "'$output'" }' endif @ c++ shift programfiles end echo "|" >> $output echo -n "+--------------------------" >> $output foreach item ($datafiles) echo -n "----------------" >> $output end echo "+" >> $output echo -n "| LEFT END OF INTERVAL |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "LEFT END OF THE INTERVAL" $coutputfile | awk '{printf ("%-13s ", $8) }'` if ($value !~ -[0-9]*) then set endlerror = `grep -c 'ENDL MUST BE LESS THAN ENDR' $coutputfile` if ($endlerror == 1) then echo -n "| ERROR 8 " >> $output set error8 = 1 set endlerror = 0 else echo -n "| - " >> $output endif else grep "LEFT END OF THE INTERVAL" $coutputfile | awk '{printf ("| %-13s ", $8) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "| RIGHT END OF INTERVAL |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "RIGHT END OF THE INTERVAL" $coutputfile | awk '{printf (" %-13s ", $8) }'` if ($value !~ [-0-9]*) then echo -n "| - " >> $output else grep "RIGHT END OF THE INTERVAL" $coutputfile | awk '{printf ("| %-12s ", $8) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "+--------------------------" >> $output foreach item ($datafiles) echo -n "----------------" >> $output end echo "+" >> $output echo -n "| INITIAL BLOCKSIZE |" >> $output @ c = 1 + ($count * 5) set programfiles = `echo $programlist` while ($#programfiles > 0) set coutputfile = $programfiles[1].out$id[$c] shift programfiles if ($programfiles[1] =~ sis1 || $programfiles[1] =~ sis2) then set value = `grep "INITIAL SUBSPACE" $coutputfile | awk '{printf ("%-13s ", $6) }'` else if ($programfiles[1] =~ tms1 || $programfiles[1] =~ tms2) then set value = `grep "INITIAL SUBSPACE" $coutputfile | awk '{printf ("%-13s ", $6) }'` else set value = `grep "INITIAL BLOCKSIZE" $coutputfile | awk '{printf ("%-13s ", $5) }'` endif if ($value !~ [0-9]*) then set blockerror = `grep -c 'INITIAL BLOCK SIZE MUST BE GREATER THAN 1' $coutputfile` if ($blockerror == 1) then echo -n "| ERROR 2 " >> $output set error2 = 1 set blockerror = 0 else echo -n "| - " >> $output endif else if ($programfiles[1] =~ sis1 || $programfiles[1] =~ sis2) then grep "INITIAL SUBSPACE" $coutputfile | awk '{printf ("| %-13s ", $6) >> "'$output'" }' else if ($programfiles[1] =~ tms1 || $programfiles[1] =~ tms2) then grep "INITIAL SUBSPACE" $coutputfile | awk '{printf ("| %-13s ", $6) >> "'$output'" }' else grep "INITIAL BLOCKSIZE" $coutputfile | awk '{printf ("| %-13s ", $5) >> "'$output'" }' endif @ c++ shift programfiles end echo "|" >> $output echo -n "| FINAL BLOCKSIZE |" >> $output @ c = 1 + ($count * 5) set programfiles = `echo $programlist` while ($#programfiles > 0) set coutputfile = $programfiles[1].out$id[$c] shift programfiles if ($programfiles[1] =~ sis1 || $programfiles[1] =~ sis2) then set value = `grep "FINAL SUBSPACE" $coutputfile | awk '{printf ("%-12s ", $6) }'` else if ($programfiles[1] =~ tms1 || $programfiles[1] =~ tms2) then set value = `grep "FINAL SUBSPACE" $coutputfile | awk '{printf ("%-12s ", $6) }'` else set value = `grep "FINAL BLOCKSIZE" $coutputfile | awk '{printf ("%-13s ", $5) }'` endif if ($value !~ [0-9]*) then echo -n "| - " >> $output else if($programfiles[1] =~ sis1 || $programfiles[1] =~ sis2) then grep "FINAL SUBSPACE" $coutputfile | awk '{printf ("| %-12s ", $6) >> "'$output'" }' else if($programfiles[1] =~ tms1 || $programfiles[1] =~ tms2) then grep "FINAL SUBSPACE" $coutputfile | awk '{printf ("| %-12s ", $6) >> "'$output'" }' else grep "FINAL BLOCKSIZE" $coutputfile | awk '{printf ("| %-13s ", $5) >> "'$output'" }' endif @ c++ shift programfiles end echo "|" >> $output echo -n "| MAXIMUM SUBSPACE BOUND |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "MAXIMUM SUBSPACE BOUND" $coutputfile | awk '{printf ("%-13s ", $6) }'` if ($value !~ [0-9]*) then set suberror = `grep -c 'MAXIMUM SUBSPACE DIMENSION IS INVALID' $coutputfile` if ($suberror == 1) then echo -n "| ERROR 4 " >> $output set error4 = 1 set suberror = 0 else echo -n "| - " >> $output endif else grep "MAXIMUM SUBSPACE BOUND" $coutputfile | awk '{printf ("| %-13s ", $6) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "| FINAL SUBSPACE BOUND |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "FINAL SUBSPACE BOUND" $coutputfile | awk '{printf ("%-13s ", $6) }'` if ($value !~ [0-9]*) then echo -n "| - " >> $output else grep "FINAL SUBSPACE BOUND" $coutputfile | awk '{printf ("| %-13s ", $6) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "+--------------------------" >> $output foreach item ($datafiles) echo -n "----------------" >> $output end echo "+" >> $output echo -n "| MAX CHEBYSHEV DEGREE |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "CHEBYSHEV POLY" $coutputfile | awk '{printf ("%-13s ", $7) }'` if ($value !~ [0-9]*) then echo -n "| - " >> $output else grep "CHEBYSHEV POLY" $coutputfile | awk '{printf ("| %-13s ",$7) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "+--------------------------" >> $output foreach item ($datafiles) echo -n "----------------" >> $output end echo "+" >> $output echo -n "| JOB PARM FOR TMS1(2) |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "JOB:" $coutputfile | awk '{printf ("%-13s ", $7) }'` if ($value !~ [0-9]*) then echo -n "| - " >> $output else grep "JOB:" $coutputfile | awk '{printf ("| %-13s ",$7) >>"'$output'"}' endif @ c++ end echo "|" >> $output echo -n "| RESID. REDUCTION TOL. |" >> $output @ c = 1 + ($count * 5) foreach file ($datafiles) set coutputfile = $file.out$id[$c] set value = `grep "REDUCTION" $coutputfile | awk '{printf ("%-13s ", $6)}'` if ($value !~ [0-9]*) then echo -n "| - " >> $output else grep "REDUCTION" $coutputfile | awk '{printf ("| %-13s ",$6) >> "'$output'" }' endif @ c++ end echo "|" >> $output echo -n "+--------------------------" >> $output foreach item ($datafiles) echo -n "----------------" >> $output end echo "+" >> $output if ($error1 == 1) then echo "ERROR 1 = NUMBER OF SINGULAR VALUES INVALID" >> $output set error1 = 0 endif if ($error2 == 1) then echo "ERROR 2 = INITIAL BLOCK SIZE MUST BE GREATER THAN 1" >> $output set error2 = 0 endif if ($error3 == 1) then echo "ERROR 3 = INIT BLOCK SIZE MUST BE LESS THAN NO. OF S-VALUES DESIRED" >> $output set error3 = 0 endif if ($error4 == 1) then echo "ERROR 4 = MAXIMUM SUBSPACE DIMENSION IS INVALID" >> $output set error4 = 0 endif if ($error5 == 1) then echo "ERROR 5 = SORRY, YOUR MATRIX IS TOO BIG" >> $output set error5 = 0 endif if ($error6 == 1) then echo "ERROR 6 = NCOL MUST NOT BE GREATER THAN NROW" >> $output set error6 = 0 endif if ($error7 == 1) then echo "ERROR 7 = TOLERANCE IS INVALID" >> $output set error7 = 0 endif if ($error8 == 1) then echo "ERROR 8 = ENDL MUST BE LESS THAN ENDR" >> $output set error8 = 0 endif if ($error9 == 1) then echo "ERROR 9 = MAXPRS CANNOT EXCEED LANMAX" >> $output set error9 = 0 endif if ($error10 == 1) then echo "ERROR 10 = N = NROW + NCOL MUST BE GREATER THAN ZERO" >> $output set error10 = 0 endif if ($error11 == 1) then echo "ERROR 11 = LANMAX (NUMBER OF LANCZOS STEPS) IS INVALID" >> $output set error11 = 0 endif if ($error12 == 1) then echo "ERROR 12 = MAXPRS (NUMBER OF EIGENPAIRS DESIRED) IS INVALID" >> $output set error12 = 0 endif if ($error13 == 1) then echo "ERROR 13 = 6*N+4+LANMAX+1 + LANMAX>*LANMAX CANNOT EXCEED NW" >> $output set error13 = 0 endif if ($error14 == 1) then echo "ERROR 14 = " >> $output set error14 = 0 endif echo " -- $output" @ count++end echo " " echo "... svdsum complete"#---------------------------------------------------------------------------# End of svdsum ------------------------------------------------------------#---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -