8x16.nb 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183
  1. (* Content-type: application/mathematica *)
  2. (*** Wolfram Notebook File ***)
  3. (* http://www.wolfram.com/nb *)
  4. (* CreatedBy='Mathematica 7.0' *)
  5. (*CacheID: 234*)
  6. (* Internal cache information:
  7. NotebookFileLineBreakTest
  8. NotebookFileLineBreakTest
  9. NotebookDataPosition[ 145, 7]
  10. NotebookDataLength[ 40909, 1173]
  11. NotebookOptionsPosition[ 38128, 1084]
  12. NotebookOutlinePosition[ 38465, 1099]
  13. CellTagsIndexPosition[ 38422, 1096]
  14. WindowFrame->Normal*)
  15. (* Beginning of Notebook Content *)
  16. Notebook[{
  17. Cell[BoxData[
  18. RowBox[{"a", ":=",
  19. RowBox[{"ArrayFlatten", "[",
  20. RowBox[{"{",
  21. RowBox[{
  22. RowBox[{"{",
  23. RowBox[{
  24. RowBox[{"IdentityMatrix", "[", "4", "]"}], ",",
  25. RowBox[{"Reverse", "[",
  26. RowBox[{"IdentityMatrix", "[", "4", "]"}], "]"}]}], "}"}], ",",
  27. RowBox[{"{",
  28. RowBox[{
  29. RowBox[{"Reverse", "[",
  30. RowBox[{"IdentityMatrix", "[", "4", "]"}], "]"}], ",",
  31. RowBox[{
  32. RowBox[{"-", "1"}], "*",
  33. RowBox[{"IdentityMatrix", "[", "4", "]"}]}]}], "}"}]}], "}"}],
  34. "]"}]}]], "Input",
  35. CellChangeTimes->{{3.545768718163162*^9, 3.5457687244455214`*^9}}],
  36. Cell[BoxData[
  37. RowBox[{"v", ":=",
  38. RowBox[{
  39. RowBox[{"{",
  40. RowBox[{
  41. RowBox[{"{",
  42. RowBox[{"1", ",", "q0", ",", "0", ",", "0"}], "}"}], ",",
  43. RowBox[{"{",
  44. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  45. RowBox[{"{",
  46. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  47. RowBox[{"{",
  48. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  49. RowBox[{"{",
  50. RowBox[{
  51. RowBox[{"{",
  52. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  53. RowBox[{"{",
  54. RowBox[{"0", ",", "1", ",", "q1", ",", "0"}], "}"}], ",",
  55. RowBox[{"{",
  56. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  57. RowBox[{"{",
  58. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  59. RowBox[{"{",
  60. RowBox[{
  61. RowBox[{"{",
  62. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  63. RowBox[{"{",
  64. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  65. RowBox[{"{",
  66. RowBox[{"0", ",", "0", ",", "1", ",", "q2"}], "}"}], ",",
  67. RowBox[{"{",
  68. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  69. RowBox[{"{",
  70. RowBox[{
  71. RowBox[{"{",
  72. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  73. RowBox[{"{",
  74. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  75. RowBox[{"{",
  76. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  77. RowBox[{"{",
  78. RowBox[{"0", ",", "0", ",", "p2", ",", "1"}], "}"}]}], "}"}], ".",
  79. RowBox[{"{",
  80. RowBox[{
  81. RowBox[{"{",
  82. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  83. RowBox[{"{",
  84. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  85. RowBox[{"{",
  86. RowBox[{"0", ",", "p1", ",", "1", ",", "0"}], "}"}], ",",
  87. RowBox[{"{",
  88. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  89. RowBox[{"{",
  90. RowBox[{
  91. RowBox[{"{",
  92. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  93. RowBox[{"{",
  94. RowBox[{"p0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  95. RowBox[{"{",
  96. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  97. RowBox[{"{",
  98. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  99. RowBox[{"{",
  100. RowBox[{
  101. RowBox[{"{",
  102. RowBox[{"s0", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  103. RowBox[{"{",
  104. RowBox[{"0", ",", "s1", ",", "0", ",", "0"}], "}"}], ",",
  105. RowBox[{"{",
  106. RowBox[{"0", ",", "0", ",", "s2", ",", "0"}], "}"}], ",",
  107. RowBox[{"{",
  108. RowBox[{"0", ",", "0", ",", "0", ",", "s3"}], "}"}]}],
  109. "}"}]}]}]], "Input",
  110. CellChangeTimes->{{3.545768712546841*^9, 3.545768715931035*^9}}],
  111. Cell[BoxData[
  112. RowBox[{"b", ":=",
  113. RowBox[{"ArrayFlatten", "[",
  114. RowBox[{"{",
  115. RowBox[{
  116. RowBox[{"{",
  117. RowBox[{
  118. RowBox[{"IdentityMatrix", "[", "4", "]"}], ",", "0"}], "}"}], ",",
  119. RowBox[{"{",
  120. RowBox[{"0", ",", "v"}], "}"}]}], "}"}], "]"}]}]], "Input",
  121. CellChangeTimes->{{3.545768729802828*^9, 3.545768729892833*^9}}],
  122. Cell[BoxData[
  123. RowBox[{"p", ":=",
  124. RowBox[{
  125. RowBox[{"1", "/", "2"}], "*",
  126. RowBox[{"a", ".", "b", ".", "a"}]}]}]], "Input",
  127. CellChangeTimes->{{3.5457274814730635`*^9, 3.5457274902115636`*^9}, {
  128. 3.5457645859286633`*^9, 3.545764586958722*^9}, 3.5457683836240277`*^9, {
  129. 3.57121522402752*^9, 3.571215224914755*^9}}],
  130. Cell[BoxData[
  131. RowBox[{"vi", ":=",
  132. RowBox[{
  133. RowBox[{"{",
  134. RowBox[{
  135. RowBox[{"{",
  136. RowBox[{
  137. RowBox[{"1", "/", "s0"}], ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  138. RowBox[{"{",
  139. RowBox[{"0", ",",
  140. RowBox[{"1", "/", "s1"}], ",", "0", ",", "0"}], "}"}], ",",
  141. RowBox[{"{",
  142. RowBox[{"0", ",", "0", ",",
  143. RowBox[{"1", "/", "s2"}], ",", "0"}], "}"}], ",",
  144. RowBox[{"{",
  145. RowBox[{"0", ",", "0", ",", "0", ",",
  146. RowBox[{"1", "/", "s3"}]}], "}"}]}], "}"}], ".",
  147. RowBox[{"{",
  148. RowBox[{
  149. RowBox[{"{",
  150. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  151. RowBox[{"{",
  152. RowBox[{
  153. RowBox[{"-", "p0"}], ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  154. RowBox[{"{",
  155. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  156. RowBox[{"{",
  157. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  158. RowBox[{"{",
  159. RowBox[{
  160. RowBox[{"{",
  161. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  162. RowBox[{"{",
  163. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  164. RowBox[{"{",
  165. RowBox[{"0", ",",
  166. RowBox[{"-", "p1"}], ",", "1", ",", "0"}], "}"}], ",",
  167. RowBox[{"{",
  168. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  169. RowBox[{"{",
  170. RowBox[{
  171. RowBox[{"{",
  172. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  173. RowBox[{"{",
  174. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  175. RowBox[{"{",
  176. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  177. RowBox[{"{",
  178. RowBox[{"0", ",", "0", ",",
  179. RowBox[{"-", "p2"}], ",", "1"}], "}"}]}], "}"}], ".",
  180. RowBox[{"{",
  181. RowBox[{
  182. RowBox[{"{",
  183. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  184. RowBox[{"{",
  185. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  186. RowBox[{"{",
  187. RowBox[{"0", ",", "0", ",", "1", ",",
  188. RowBox[{"-", "q2"}]}], "}"}], ",",
  189. RowBox[{"{",
  190. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  191. RowBox[{"{",
  192. RowBox[{
  193. RowBox[{"{",
  194. RowBox[{"1", ",", "0", ",", "0", ",", "0"}], "}"}], ",",
  195. RowBox[{"{",
  196. RowBox[{"0", ",", "1", ",",
  197. RowBox[{"-", "q1"}], ",", "0"}], "}"}], ",",
  198. RowBox[{"{",
  199. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  200. RowBox[{"{",
  201. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}], "}"}], ".",
  202. RowBox[{"{",
  203. RowBox[{
  204. RowBox[{"{",
  205. RowBox[{"1", ",",
  206. RowBox[{"-", "q0"}], ",", "0", ",", "0"}], "}"}], ",",
  207. RowBox[{"{",
  208. RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",",
  209. RowBox[{"{",
  210. RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",",
  211. RowBox[{"{",
  212. RowBox[{"0", ",", "0", ",", "0", ",", "1"}], "}"}]}],
  213. "}"}]}]}]], "Input",
  214. CellChangeTimes->{3.5457687629267225`*^9}],
  215. Cell[BoxData[
  216. RowBox[{"c", ":=",
  217. RowBox[{"ArrayFlatten", "[",
  218. RowBox[{"{",
  219. RowBox[{
  220. RowBox[{"{",
  221. RowBox[{
  222. RowBox[{"IdentityMatrix", "[", "4", "]"}], ",", "0"}], "}"}], ",",
  223. RowBox[{"{",
  224. RowBox[{"0", ",", "vi"}], "}"}]}], "}"}], "]"}]}]], "Input",
  225. CellChangeTimes->{{3.5457683897333775`*^9, 3.5457683916024837`*^9}, {
  226. 3.545768765348861*^9, 3.5457687654408665`*^9}}],
  227. Cell[BoxData[
  228. RowBox[{"pi", ":=",
  229. RowBox[{
  230. RowBox[{"1", "/", "2"}], "*",
  231. RowBox[{"a", ".", "c", ".", "a"}]}]}]], "Input",
  232. CellChangeTimes->{{3.5712152314617863`*^9, 3.5712152319522657`*^9}}],
  233. Cell[BoxData[
  234. RowBox[{
  235. RowBox[{"dct", "[", "k_", "]"}], ":=",
  236. RowBox[{"Table", "[",
  237. RowBox[{
  238. RowBox[{
  239. RowBox[{"Sqrt", "[",
  240. RowBox[{"2", "/", "k"}], "]"}], "*",
  241. RowBox[{"Cos", "[",
  242. RowBox[{
  243. RowBox[{"(",
  244. RowBox[{"j", "+",
  245. RowBox[{"1", "/", "2"}]}], ")"}], "*", "i", "*",
  246. RowBox[{"\[Pi]", "/", "k"}]}], "]"}], "*",
  247. RowBox[{"If", "[",
  248. RowBox[{
  249. RowBox[{"i", "\[Equal]", "0"}], ",",
  250. RowBox[{"Sqrt", "[",
  251. RowBox[{"1", "/", "2"}], "]"}], ",", "1"}], "]"}]}], ",",
  252. RowBox[{"{",
  253. RowBox[{"i", ",", "0", ",",
  254. RowBox[{"k", "-", "1"}]}], "}"}], ",",
  255. RowBox[{"{",
  256. RowBox[{"j", ",", "0", ",",
  257. RowBox[{"k", "-", "1"}]}], "}"}]}], "]"}]}]], "Input"],
  258. Cell[BoxData[
  259. RowBox[{"d", ":=",
  260. RowBox[{"ArrayFlatten", "[",
  261. RowBox[{"{",
  262. RowBox[{"{",
  263. RowBox[{"0", ",", "0", ",", "0", ",", "0", ",",
  264. RowBox[{"dct", "[", "8", "]"}], ",", "0", ",", "0", ",", "0", ",",
  265. "0"}], "}"}], "}"}], "]"}]}]], "Input",
  266. CellChangeTimes->{{3.5457274768888016`*^9, 3.545727477021809*^9}, {
  267. 3.545764597801342*^9, 3.5457645985633855`*^9}, {3.545768773205311*^9,
  268. 3.545768774437381*^9}, {3.545768845440442*^9, 3.545768846027476*^9}, {
  269. 3.545768915392443*^9, 3.545768919652687*^9}, {3.571215259019773*^9,
  270. 3.571215259624653*^9}}],
  271. Cell[BoxData[
  272. RowBox[{"e", ":=",
  273. RowBox[{"ArrayFlatten", "[",
  274. RowBox[{"{",
  275. RowBox[{
  276. RowBox[{"{",
  277. RowBox[{"p", ",", "0"}], "}"}], ",",
  278. RowBox[{"{",
  279. RowBox[{"0", ",", "p"}], "}"}]}], "}"}], "]"}]}]], "Input"],
  280. Cell[BoxData[
  281. RowBox[{"g", ":=",
  282. RowBox[{"d", ".", "e"}]}]], "Input"],
  283. Cell[BoxData[
  284. RowBox[{"go", ":=", "d"}]], "Input",
  285. CellChangeTimes->{{3.571218627246896*^9, 3.5712186285675783`*^9},
  286. 3.571938247054098*^9}],
  287. Cell[BoxData[
  288. RowBox[{"gi", ":=",
  289. RowBox[{"ArrayFlatten", "[",
  290. RowBox[{"{",
  291. RowBox[{"{",
  292. RowBox[{"0", ",", "0", ",", "0", ",", "0", ",",
  293. RowBox[{"IdentityMatrix", "[", "8", "]"}], ",", "0", ",", "0", ",", "0",
  294. ",", "0"}], "}"}], "}"}], "]"}]}]], "Input",
  295. CellChangeTimes->{{3.5719392908935833`*^9, 3.5719393044697447`*^9}}],
  296. Cell[BoxData[
  297. RowBox[{"f", ":=",
  298. RowBox[{"ArrayFlatten", "[",
  299. RowBox[{"{",
  300. RowBox[{
  301. RowBox[{"{",
  302. RowBox[{"pi", ",", "0"}], "}"}], ",",
  303. RowBox[{"{",
  304. RowBox[{"0", ",", "pi"}], "}"}]}], "}"}], "]"}]}]], "Input",
  305. CellChangeTimes->{{3.545727624853265*^9, 3.5457276258753233`*^9}}],
  306. Cell[BoxData[
  307. RowBox[{"h", ":=",
  308. RowBox[{"f", ".",
  309. RowBox[{"Transpose", "[", "d", "]"}]}]}]], "Input",
  310. CellChangeTimes->{
  311. 3.545727661119339*^9, {3.571355107085478*^9, 3.5713551096337223`*^9}}],
  312. Cell[BoxData[
  313. RowBox[{"ho", ":=",
  314. RowBox[{"Transpose", "[", "d", "]"}]}]], "Input",
  315. CellChangeTimes->{{3.571218630997055*^9, 3.571218633800295*^9},
  316. 3.5719382428691893`*^9}],
  317. Cell[BoxData[
  318. RowBox[{"hi", ":=",
  319. RowBox[{"Transpose", "[", "gi", "]"}]}]], "Input",
  320. CellChangeTimes->{{3.57193930735273*^9, 3.571939314475823*^9}}],
  321. Cell[BoxData[
  322. RowBox[{
  323. RowBox[{"ar", "[",
  324. RowBox[{"k_", ",", "l_", ",", "r_"}], "]"}], ":=",
  325. RowBox[{"Table", "[",
  326. RowBox[{
  327. RowBox[{"r", "^",
  328. RowBox[{"(",
  329. RowBox[{
  330. RowBox[{"Abs", "[",
  331. RowBox[{"i", "-", "j"}], "]"}], "+", "l"}], ")"}]}], ",",
  332. RowBox[{"{",
  333. RowBox[{"i", ",", "k"}], "}"}], ",",
  334. RowBox[{"{",
  335. RowBox[{"j", ",", "k"}], "}"}]}], "]"}]}]], "Input",
  336. CellChangeTimes->{{3.57121540815837*^9, 3.5712154258417473`*^9}}],
  337. Cell[BoxData[
  338. RowBox[{"obj", ":=",
  339. RowBox[{"GeometricMean", "[",
  340. RowBox[{
  341. RowBox[{"Diagonal", "[",
  342. RowBox[{"g", ".",
  343. RowBox[{"ar", "[",
  344. RowBox[{"16", ",", "0", ",", "0.95"}], "]"}], ".",
  345. RowBox[{"Transpose", "[", "g", "]"}]}], "]"}], "*",
  346. RowBox[{"Diagonal", "[",
  347. RowBox[{
  348. RowBox[{"Transpose", "[", "h", "]"}], ".", "h"}], "]"}]}],
  349. "]"}]}]], "Input",
  350. CellChangeTimes->{{3.545727708950075*^9, 3.545727709848126*^9}, {
  351. 3.5457685118353615`*^9, 3.5457685872316737`*^9}, {3.545768786728084*^9,
  352. 3.5457687871531086`*^9}, {3.571938072913823*^9, 3.571938073148947*^9}}],
  353. Cell[CellGroupData[{
  354. Cell[BoxData[
  355. RowBox[{"cg", "=",
  356. RowBox[{
  357. RowBox[{"10", "*",
  358. RowBox[{"Log", "[",
  359. RowBox[{"10", ",",
  360. RowBox[{"1", "/", "obj"}]}], "]"}]}], "//.",
  361. RowBox[{"{",
  362. RowBox[{
  363. RowBox[{"s0", "\[Rule]",
  364. RowBox[{"90.0", "/", "64"}]}], ",",
  365. RowBox[{"s1", "\[Rule]",
  366. RowBox[{"73.0", "/", "64"}]}], ",",
  367. RowBox[{"s2", "\[Rule]",
  368. RowBox[{"72.0", "/", "64"}]}], ",",
  369. RowBox[{"s3", "\[Rule]",
  370. RowBox[{"75.0", "/", "64"}]}], ",",
  371. RowBox[{"p0", "\[Rule]",
  372. RowBox[{
  373. RowBox[{"-", "23.0"}], "/", "64"}]}], ",",
  374. RowBox[{"p1", "\[Rule]",
  375. RowBox[{
  376. RowBox[{"-", "18.0"}], "/", "64"}]}], ",",
  377. RowBox[{"p2", "\[Rule]",
  378. RowBox[{
  379. RowBox[{"-", "6.0"}], "/", "64"}]}], ",",
  380. RowBox[{"q0", "\[Rule]",
  381. RowBox[{"48.0", "/", "64"}]}], ",",
  382. RowBox[{"q1", "\[Rule]",
  383. RowBox[{"34.0", "/", "64"}]}], ",",
  384. RowBox[{"q2", "\[Rule]",
  385. RowBox[{"20.0", "/", "64"}]}]}], "}"}]}]}]], "Input",
  386. CellChangeTimes->{{3.56857715367635*^9, 3.5685771899461813`*^9}, {
  387. 3.570876305590396*^9, 3.570876317702787*^9}, 3.571215253594314*^9}],
  388. Cell[BoxData["9.600210603072922`"], "Output",
  389. CellChangeTimes->{{3.568577172777082*^9, 3.568577190486067*^9},
  390. 3.570876186045102*^9, {3.570876309181683*^9, 3.570876318391601*^9}, {
  391. 3.571215254762779*^9, 3.571215261865003*^9}, 3.571217492291575*^9,
  392. 3.571217766294436*^9, {3.571219180095392*^9, 3.571219191479451*^9},
  393. 3.571262795213181*^9, 3.571354925400202*^9, 3.5719380215365753`*^9, {
  394. 3.5719380636005163`*^9, 3.571938084819762*^9}, 3.579069781183951*^9}]
  395. }, Open ]],
  396. Cell[BoxData[
  397. RowBox[{
  398. RowBox[{"ar2d", "[",
  399. RowBox[{"k_", ",", "r_"}], "]"}], ":=",
  400. RowBox[{"ArrayFlatten", "[",
  401. RowBox[{"Table", "[",
  402. RowBox[{
  403. RowBox[{"ar", "[",
  404. RowBox[{"k", ",",
  405. RowBox[{"Abs", "[",
  406. RowBox[{"i", "-", "j"}], "]"}], ",", "r"}], "]"}], ",",
  407. RowBox[{"{",
  408. RowBox[{"i", ",", "k"}], "}"}], ",",
  409. RowBox[{"{",
  410. RowBox[{"j", ",", "k"}], "}"}]}], "]"}], "]"}]}]], "Input",
  411. CellChangeTimes->{{3.571215344262658*^9, 3.571215350241576*^9},
  412. 3.571215796960052*^9, 3.5712164912715063`*^9, {3.571217517951624*^9,
  413. 3.57121752072649*^9}, 3.571217741460986*^9}],
  414. Cell[BoxData[
  415. RowBox[{
  416. RowBox[{"m2d", "[",
  417. RowBox[{"k_", ",", "m_"}], "]"}], ":=",
  418. RowBox[{"ArrayFlatten", "[",
  419. RowBox[{"Table", "[",
  420. RowBox[{
  421. RowBox[{"If", "[",
  422. RowBox[{
  423. RowBox[{"i", "\[Equal]", "j"}], ",", "m", ",", "0"}], "]"}], ",",
  424. RowBox[{"{",
  425. RowBox[{"i", ",", "k"}], "}"}], ",",
  426. RowBox[{"{",
  427. RowBox[{"j", ",", "k"}], "}"}]}], "]"}], "]"}]}]], "Input",
  428. CellChangeTimes->{{3.571217377033023*^9, 3.5712174099145327`*^9}, {
  429. 3.5712175508007708`*^9, 3.571217558924345*^9}, {3.57193809468344*^9,
  430. 3.571938133192864*^9}}],
  431. Cell[BoxData[
  432. RowBox[{
  433. RowBox[{"t2d", "[", "k_", "]"}], ":=",
  434. RowBox[{
  435. RowBox[{"IdentityMatrix", "[",
  436. RowBox[{"k", "*",
  437. RowBox[{"k", "/", "2"}]}], "]"}], "[",
  438. RowBox[{"[",
  439. RowBox[{"Flatten", "[",
  440. RowBox[{"Transpose", "[",
  441. RowBox[{"Partition", "[",
  442. RowBox[{
  443. RowBox[{"Range", "[",
  444. RowBox[{"k", "*",
  445. RowBox[{"k", "/", "2"}]}], "]"}], ",",
  446. RowBox[{"k", "/", "2"}]}], "]"}], "]"}], "]"}], "]"}],
  447. "]"}]}]], "Input",
  448. CellChangeTimes->{{3.571216514685655*^9, 3.571216535449212*^9}, {
  449. 3.571217837719702*^9, 3.571217852699953*^9}}],
  450. Cell[BoxData[
  451. RowBox[{"(*", " ",
  452. RowBox[{"subset1_mask", ",", " ",
  453. RowBox[{
  454. "both", " ", "horizontal", " ", "and", " ", "vertical", " ", "DCT"}], ",",
  455. " ",
  456. RowBox[{"no", " ", "prefilter"}]}], " ", "*)"}]], "Input",
  457. CellChangeTimes->{{3.5719396580519238`*^9, 3.571939671641487*^9}, {
  458. 3.571940119837964*^9, 3.571940127799631*^9}}],
  459. Cell[BoxData[
  460. RowBox[{"obj2d", ":=",
  461. RowBox[{"GeometricMean", "[",
  462. RowBox[{
  463. RowBox[{"Diagonal", "[",
  464. RowBox[{
  465. RowBox[{"m2d", "[",
  466. RowBox[{"8", ",", "go"}], "]"}], ".",
  467. RowBox[{"t2d", "[", "16", "]"}], ".",
  468. RowBox[{"m2d", "[",
  469. RowBox[{"16", ",", "go"}], "]"}], ".", "cov", ".",
  470. RowBox[{"Transpose", "[",
  471. RowBox[{
  472. RowBox[{"m2d", "[",
  473. RowBox[{"8", ",", "go"}], "]"}], ".",
  474. RowBox[{"t2d", "[", "16", "]"}], ".",
  475. RowBox[{"m2d", "[",
  476. RowBox[{"16", ",", "go"}], "]"}]}], "]"}]}], "]"}], "*",
  477. RowBox[{"Diagonal", "[",
  478. RowBox[{
  479. RowBox[{"Transpose", "[",
  480. RowBox[{
  481. RowBox[{"m2d", "[",
  482. RowBox[{"16", ",", "ho"}], "]"}], ".",
  483. RowBox[{"t2d", "[", "16", "]"}], ".",
  484. RowBox[{"m2d", "[",
  485. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}], ".",
  486. RowBox[{"m2d", "[",
  487. RowBox[{"16", ",", "ho"}], "]"}], ".",
  488. RowBox[{"t2d", "[", "16", "]"}], ".",
  489. RowBox[{"m2d", "[",
  490. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  491. CellChangeTimes->{{3.571217495222146*^9, 3.57121749695989*^9}, {
  492. 3.571217529685446*^9, 3.5712175379810658`*^9}, {3.571217568436331*^9,
  493. 3.571217574381446*^9}, {3.571217660893468*^9, 3.5712176794285927`*^9}, {
  494. 3.5712178183248453`*^9, 3.5712178224715137`*^9}, {3.5712178578153143`*^9,
  495. 3.571217899033683*^9}, {3.5712180481933937`*^9, 3.571218065866927*^9}, {
  496. 3.5712189138225317`*^9, 3.571218932628921*^9}, {3.571220575284101*^9,
  497. 3.571220575519759*^9}, {3.571262758598935*^9, 3.571262768217821*^9}, {
  498. 3.5719381453641853`*^9, 3.571938203702222*^9}, {3.571938889923924*^9,
  499. 3.571938952608941*^9}}],
  500. Cell[CellGroupData[{
  501. Cell[BoxData["cg2d"], "Input",
  502. CellChangeTimes->{{3.571939630575179*^9, 3.571939632356204*^9}}],
  503. Cell[BoxData["13.26927749813219`"], "Output",
  504. CellChangeTimes->{{3.571939637320024*^9, 3.57193964545236*^9}}]
  505. }, Open ]],
  506. Cell[BoxData[
  507. RowBox[{"(*", " ",
  508. RowBox[{"subset1_mask", ",", " ",
  509. RowBox[{"just", " ", "horizontal", " ", "DCT"}], ",", " ",
  510. RowBox[{"no", " ", "prefilter"}]}], " ", "*)"}]], "Input",
  511. CellChangeTimes->{{3.571939673606988*^9, 3.571939688251737*^9}, {
  512. 3.571939768686393*^9, 3.5719397702901497`*^9}, {3.571939870617432*^9,
  513. 3.571939871325563*^9}}],
  514. Cell[BoxData[
  515. RowBox[{"obj2d", ":=",
  516. RowBox[{"GeometricMean", "[",
  517. RowBox[{
  518. RowBox[{"Diagonal", "[",
  519. RowBox[{
  520. RowBox[{"m2d", "[",
  521. RowBox[{"8", ",", "gi"}], "]"}], ".",
  522. RowBox[{"t2d", "[", "16", "]"}], ".",
  523. RowBox[{"m2d", "[",
  524. RowBox[{"16", ",", "go"}], "]"}], ".", "cov", ".",
  525. RowBox[{"Transpose", "[",
  526. RowBox[{
  527. RowBox[{"m2d", "[",
  528. RowBox[{"8", ",", "gi"}], "]"}], ".",
  529. RowBox[{"t2d", "[", "16", "]"}], ".",
  530. RowBox[{"m2d", "[",
  531. RowBox[{"16", ",", "go"}], "]"}]}], "]"}]}], "]"}], "*",
  532. RowBox[{"Diagonal", "[",
  533. RowBox[{
  534. RowBox[{"Transpose", "[",
  535. RowBox[{
  536. RowBox[{"m2d", "[",
  537. RowBox[{"16", ",", "ho"}], "]"}], ".",
  538. RowBox[{"t2d", "[", "16", "]"}], ".",
  539. RowBox[{"m2d", "[",
  540. RowBox[{"8", ",", "hi"}], "]"}]}], "]"}], ".",
  541. RowBox[{"m2d", "[",
  542. RowBox[{"16", ",", "ho"}], "]"}], ".",
  543. RowBox[{"t2d", "[", "16", "]"}], ".",
  544. RowBox[{"m2d", "[",
  545. RowBox[{"8", ",", "hi"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  546. CellChangeTimes->{{3.571217495222146*^9, 3.57121749695989*^9}, {
  547. 3.571217529685446*^9, 3.5712175379810658`*^9}, {3.571217568436331*^9,
  548. 3.571217574381446*^9}, {3.571217660893468*^9, 3.5712176794285927`*^9}, {
  549. 3.5712178183248453`*^9, 3.5712178224715137`*^9}, {3.5712178578153143`*^9,
  550. 3.571217899033683*^9}, {3.5712180481933937`*^9, 3.571218065866927*^9}, {
  551. 3.5712189138225317`*^9, 3.571218932628921*^9}, {3.571220575284101*^9,
  552. 3.571220575519759*^9}, {3.571262758598935*^9, 3.571262768217821*^9}, {
  553. 3.5719381453641853`*^9, 3.571938203702222*^9}, {3.571938889923924*^9,
  554. 3.571938952608941*^9}, {3.571939342949394*^9, 3.571939355136775*^9}, {
  555. 3.571939422014328*^9, 3.5719394301131697`*^9}, {3.571939548174623*^9,
  556. 3.571939597764642*^9}, {3.5719396923918324`*^9, 3.5719397485036716`*^9}}],
  557. Cell[CellGroupData[{
  558. Cell[BoxData["cg2d"], "Input",
  559. CellChangeTimes->{{3.5719397530620327`*^9, 3.571939754068866*^9}}],
  560. Cell[BoxData["10.192953779079875`"], "Output",
  561. CellChangeTimes->{3.571939756615855*^9}]
  562. }, Open ]],
  563. Cell[BoxData[
  564. RowBox[{"(*", " ",
  565. RowBox[{"subset1_mask", ",", " ",
  566. RowBox[{"just", " ", "horizontal", " ", "DCT"}], ",", " ",
  567. RowBox[{"with", " ", "prefilter"}]}], " ", "*)"}]], "Input",
  568. CellChangeTimes->{{3.57193975928918*^9, 3.571939775895693*^9}}],
  569. Cell[BoxData[
  570. RowBox[{"obj2d", ":=",
  571. RowBox[{"GeometricMean", "[",
  572. RowBox[{
  573. RowBox[{"Diagonal", "[",
  574. RowBox[{
  575. RowBox[{"m2d", "[",
  576. RowBox[{"8", ",", "gi"}], "]"}], ".",
  577. RowBox[{"t2d", "[", "16", "]"}], ".",
  578. RowBox[{"m2d", "[",
  579. RowBox[{"16", ",", "g"}], "]"}], ".", "cov", ".",
  580. RowBox[{"Transpose", "[",
  581. RowBox[{
  582. RowBox[{"m2d", "[",
  583. RowBox[{"8", ",", "gi"}], "]"}], ".",
  584. RowBox[{"t2d", "[", "16", "]"}], ".",
  585. RowBox[{"m2d", "[",
  586. RowBox[{"16", ",", "g"}], "]"}]}], "]"}]}], "]"}], "*",
  587. RowBox[{"Diagonal", "[",
  588. RowBox[{
  589. RowBox[{"Transpose", "[",
  590. RowBox[{
  591. RowBox[{"m2d", "[",
  592. RowBox[{"16", ",", "h"}], "]"}], ".",
  593. RowBox[{"t2d", "[", "16", "]"}], ".",
  594. RowBox[{"m2d", "[",
  595. RowBox[{"8", ",", "hi"}], "]"}]}], "]"}], ".",
  596. RowBox[{"m2d", "[",
  597. RowBox[{"16", ",", "h"}], "]"}], ".",
  598. RowBox[{"t2d", "[", "16", "]"}], ".",
  599. RowBox[{"m2d", "[",
  600. RowBox[{"8", ",", "hi"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  601. CellChangeTimes->{{3.571217495222146*^9, 3.57121749695989*^9}, {
  602. 3.571217529685446*^9, 3.5712175379810658`*^9}, {3.571217568436331*^9,
  603. 3.571217574381446*^9}, {3.571217660893468*^9, 3.5712176794285927`*^9}, {
  604. 3.5712178183248453`*^9, 3.5712178224715137`*^9}, {3.5712178578153143`*^9,
  605. 3.571217899033683*^9}, {3.5712180481933937`*^9, 3.571218065866927*^9}, {
  606. 3.5712189138225317`*^9, 3.571218932628921*^9}, {3.571220575284101*^9,
  607. 3.571220575519759*^9}, {3.571262758598935*^9, 3.571262768217821*^9}, {
  608. 3.5719381453641853`*^9, 3.571938203702222*^9}, {3.571938889923924*^9,
  609. 3.571938952608941*^9}, {3.571939342949394*^9, 3.571939355136775*^9}, {
  610. 3.571939422014328*^9, 3.5719394301131697`*^9}, {3.571939548174623*^9,
  611. 3.571939597764642*^9}, {3.5719396923918324`*^9, 3.5719397485036716`*^9}, {
  612. 3.571939788760269*^9, 3.571939799897148*^9}}],
  613. Cell[CellGroupData[{
  614. Cell[BoxData["cg2d"], "Input",
  615. CellChangeTimes->{{3.571939806211163*^9, 3.571939806752705*^9}}],
  616. Cell[BoxData["10.821081943157093`"], "Output",
  617. CellChangeTimes->{3.571939851280952*^9}]
  618. }, Open ]],
  619. Cell[BoxData[
  620. RowBox[{"(*", " ",
  621. RowBox[{"subset1_mask", ",", " ",
  622. RowBox[{"just", " ", "vertical", " ", "DCT"}], ",", " ",
  623. RowBox[{"no", " ", "prefilter"}]}], " ", "*)"}]], "Input",
  624. CellChangeTimes->{{3.5719399295375547`*^9, 3.571939938617837*^9}}],
  625. Cell[BoxData[
  626. RowBox[{"obj2d", ":=",
  627. RowBox[{"GeometricMean", "[",
  628. RowBox[{
  629. RowBox[{"Diagonal", "[",
  630. RowBox[{
  631. RowBox[{"m2d", "[",
  632. RowBox[{"8", ",", "go"}], "]"}], ".",
  633. RowBox[{"t2d", "[", "16", "]"}], ".",
  634. RowBox[{"m2d", "[",
  635. RowBox[{"16", ",", "gi"}], "]"}], ".", "cov", ".",
  636. RowBox[{"Transpose", "[",
  637. RowBox[{
  638. RowBox[{"m2d", "[",
  639. RowBox[{"8", ",", "go"}], "]"}], ".",
  640. RowBox[{"t2d", "[", "16", "]"}], ".",
  641. RowBox[{"m2d", "[",
  642. RowBox[{"16", ",", "gi"}], "]"}]}], "]"}]}], "]"}], "*",
  643. RowBox[{"Diagonal", "[",
  644. RowBox[{
  645. RowBox[{"Transpose", "[",
  646. RowBox[{
  647. RowBox[{"m2d", "[",
  648. RowBox[{"16", ",", "hi"}], "]"}], ".",
  649. RowBox[{"t2d", "[", "16", "]"}], ".",
  650. RowBox[{"m2d", "[",
  651. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}], ".",
  652. RowBox[{"m2d", "[",
  653. RowBox[{"16", ",", "hi"}], "]"}], ".",
  654. RowBox[{"t2d", "[", "16", "]"}], ".",
  655. RowBox[{"m2d", "[",
  656. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  657. CellChangeTimes->CompressedData["
  658. 1:eJxTTMoPSmViYGAQBmIQfUn6eVff7FeO2dvlukG0znvTfhD9JMV+AojO+cY7
  659. BUSfMzkDpr2mz5kPojm2v10IopVSvTaD6CVi58E0n7jVDhD9TjhxL4j2MGC7
  660. AKLv7bW+BKL1gqxs+oG0vMIUOxAdLf6SewJIfuEHMF2ldXnJEiCd8oNtGYjO
  661. WK6d827OK8dZFWXFIPrkBNuTILqoRvgiiC5IvMf4HkiXJaQwg+iE0gPcIFps
  662. /mEeEN08rVUaRH8q36EIop909uiCaBG5CSYgWiFkhiWILtj6xwpE8xjnuoLo
  663. x/9sPUD0suo6XzB/VnYgiAYAfB+nRA==
  664. "]],
  665. Cell[CellGroupData[{
  666. Cell[BoxData["cg2d"], "Input",
  667. CellChangeTimes->{{3.57193998283685*^9, 3.571939983712021*^9}}],
  668. Cell[BoxData["9.845710163878806`"], "Output",
  669. CellChangeTimes->{3.571939985663867*^9}]
  670. }, Open ]],
  671. Cell[BoxData[
  672. RowBox[{"(*", " ",
  673. RowBox[{"subset1_mask", ",", " ",
  674. RowBox[{"just", " ", "vertical", " ", "DCT"}], ",", " ",
  675. RowBox[{"with", " ", "prefilter"}]}], " ", "*)"}]], "Input",
  676. CellChangeTimes->{{3.5719398576524754`*^9, 3.571939875397297*^9}, {
  677. 3.571939940249221*^9, 3.571939940725696*^9}}],
  678. Cell[BoxData[
  679. RowBox[{"obj2d", ":=",
  680. RowBox[{"GeometricMean", "[",
  681. RowBox[{
  682. RowBox[{"Diagonal", "[",
  683. RowBox[{
  684. RowBox[{"m2d", "[",
  685. RowBox[{"8", ",", "g"}], "]"}], ".",
  686. RowBox[{"t2d", "[", "16", "]"}], ".",
  687. RowBox[{"m2d", "[",
  688. RowBox[{"16", ",", "gi"}], "]"}], ".", "cov", ".",
  689. RowBox[{"Transpose", "[",
  690. RowBox[{
  691. RowBox[{"m2d", "[",
  692. RowBox[{"8", ",", "g"}], "]"}], ".",
  693. RowBox[{"t2d", "[", "16", "]"}], ".",
  694. RowBox[{"m2d", "[",
  695. RowBox[{"16", ",", "gi"}], "]"}]}], "]"}]}], "]"}], "*",
  696. RowBox[{"Diagonal", "[",
  697. RowBox[{
  698. RowBox[{"Transpose", "[",
  699. RowBox[{
  700. RowBox[{"m2d", "[",
  701. RowBox[{"16", ",", "hi"}], "]"}], ".",
  702. RowBox[{"t2d", "[", "16", "]"}], ".",
  703. RowBox[{"m2d", "[",
  704. RowBox[{"8", ",", "h"}], "]"}]}], "]"}], ".",
  705. RowBox[{"m2d", "[",
  706. RowBox[{"16", ",", "hi"}], "]"}], ".",
  707. RowBox[{"t2d", "[", "16", "]"}], ".",
  708. RowBox[{"m2d", "[",
  709. RowBox[{"8", ",", "h"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  710. CellChangeTimes->{{3.571217495222146*^9, 3.57121749695989*^9}, {
  711. 3.571217529685446*^9, 3.5712175379810658`*^9}, {3.571217568436331*^9,
  712. 3.571217574381446*^9}, {3.571217660893468*^9, 3.5712176794285927`*^9}, {
  713. 3.5712178183248453`*^9, 3.5712178224715137`*^9}, {3.5712178578153143`*^9,
  714. 3.571217899033683*^9}, {3.5712180481933937`*^9, 3.571218065866927*^9}, {
  715. 3.5712189138225317`*^9, 3.571218932628921*^9}, {3.571220575284101*^9,
  716. 3.571220575519759*^9}, {3.571262758598935*^9, 3.571262768217821*^9}, {
  717. 3.5719381453641853`*^9, 3.571938203702222*^9}, {3.571938889923924*^9,
  718. 3.571938952608941*^9}, {3.571939342949394*^9, 3.571939355136775*^9}, {
  719. 3.571939422014328*^9, 3.5719394301131697`*^9}, {3.571939548174623*^9,
  720. 3.571939597764642*^9}, {3.5719396923918324`*^9, 3.5719397485036716`*^9}, {
  721. 3.571939788760269*^9, 3.571939799897148*^9}, {3.5719398834124813`*^9,
  722. 3.571939905937364*^9}}],
  723. Cell[CellGroupData[{
  724. Cell[BoxData["cg2d"], "Input",
  725. CellChangeTimes->{{3.571939908306057*^9, 3.5719399092691317`*^9}}],
  726. Cell[BoxData["10.45940260000554`"], "Output",
  727. CellChangeTimes->{3.571939950304331*^9}]
  728. }, Open ]],
  729. Cell[BoxData[
  730. RowBox[{"(*", " ",
  731. RowBox[{"subset1_mask", ",", " ",
  732. RowBox[{"horizontal", " ", "prefilter", " ", "and", " ", "DCT"}], ",", " ",
  733. RowBox[{"vertical", " ", "DCT"}]}], " ", "*)"}]], "Input",
  734. CellChangeTimes->{{3.571940007112154*^9, 3.5719400074803143`*^9}, {
  735. 3.5719401319889803`*^9, 3.571940156489504*^9}}],
  736. Cell[BoxData[
  737. RowBox[{"obj2d", ":=",
  738. RowBox[{"GeometricMean", "[",
  739. RowBox[{
  740. RowBox[{"Diagonal", "[",
  741. RowBox[{
  742. RowBox[{"m2d", "[",
  743. RowBox[{"8", ",", "go"}], "]"}], ".",
  744. RowBox[{"t2d", "[", "16", "]"}], ".",
  745. RowBox[{"m2d", "[",
  746. RowBox[{"16", ",", "g"}], "]"}], ".", "cov", ".",
  747. RowBox[{"Transpose", "[",
  748. RowBox[{
  749. RowBox[{"m2d", "[",
  750. RowBox[{"8", ",", "go"}], "]"}], ".",
  751. RowBox[{"t2d", "[", "16", "]"}], ".",
  752. RowBox[{"m2d", "[",
  753. RowBox[{"16", ",", "g"}], "]"}]}], "]"}]}], "]"}], "*",
  754. RowBox[{"Diagonal", "[",
  755. RowBox[{
  756. RowBox[{"Transpose", "[",
  757. RowBox[{
  758. RowBox[{"m2d", "[",
  759. RowBox[{"16", ",", "h"}], "]"}], ".",
  760. RowBox[{"t2d", "[", "16", "]"}], ".",
  761. RowBox[{"m2d", "[",
  762. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}], ".",
  763. RowBox[{"m2d", "[",
  764. RowBox[{"16", ",", "h"}], "]"}], ".",
  765. RowBox[{"t2d", "[", "16", "]"}], ".",
  766. RowBox[{"m2d", "[",
  767. RowBox[{"8", ",", "ho"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  768. CellChangeTimes->CompressedData["
  769. 1:eJxTTMoPSmViYGAQBmIQfUn6eVff7FeO2dvlukG0znvTfhD9JMV+AojO+cY7
  770. BUSfMzkDpr2mz5kPojm2v10IopVSvTaD6CVi58E0n7jVDhD9TjhxL4j2MGC7
  771. AKLv7bW+BKL1gqxs+oG0vMIUOxAdLf6SewJIfuEHMF2ldXnJEiCd8oNtGYjO
  772. WK6d827OK8dZFWXFIPrkBNuTILqoRvgiiC5IvMf4HkiXJaQwg+iE0gPcIFps
  773. /mEeEN08rVUaRH8q36EIop909uiCaBG5CSYgWiFkhiWILtj6xwpE8xjnuoLo
  774. x/9sPUD0Lc1D2SB6yv3UAhANAH+xp5c=
  775. "]],
  776. Cell[CellGroupData[{
  777. Cell[BoxData["cg2d"], "Input",
  778. CellChangeTimes->{{3.571940235558988*^9, 3.571940236617448*^9}}],
  779. Cell[BoxData["13.499977838370384`"], "Output",
  780. CellChangeTimes->{3.571940316392448*^9}]
  781. }, Open ]],
  782. Cell[BoxData[
  783. RowBox[{"(*", " ",
  784. RowBox[{"subset1_mask", ",", " ",
  785. RowBox[{"horizontal", " ", "DCT"}], ",", " ",
  786. RowBox[{"vertical", " ", "prefilter", " ", "and", " ", "DCT"}]}], " ",
  787. "*)"}]], "Input",
  788. CellChangeTimes->{{3.571940007112154*^9, 3.5719400074803143`*^9}, {
  789. 3.5719401319889803`*^9, 3.571940156489504*^9}, {3.5719402742816963`*^9,
  790. 3.571940279619307*^9}}],
  791. Cell[BoxData[
  792. RowBox[{"obj2d", ":=",
  793. RowBox[{"GeometricMean", "[",
  794. RowBox[{
  795. RowBox[{"Diagonal", "[",
  796. RowBox[{
  797. RowBox[{"m2d", "[",
  798. RowBox[{"8", ",", "g"}], "]"}], ".",
  799. RowBox[{"t2d", "[", "16", "]"}], ".",
  800. RowBox[{"m2d", "[",
  801. RowBox[{"16", ",", "go"}], "]"}], ".", "cov", ".",
  802. RowBox[{"Transpose", "[",
  803. RowBox[{
  804. RowBox[{"m2d", "[",
  805. RowBox[{"8", ",", "g"}], "]"}], ".",
  806. RowBox[{"t2d", "[", "16", "]"}], ".",
  807. RowBox[{"m2d", "[",
  808. RowBox[{"16", ",", "go"}], "]"}]}], "]"}]}], "]"}], "*",
  809. RowBox[{"Diagonal", "[",
  810. RowBox[{
  811. RowBox[{"Transpose", "[",
  812. RowBox[{
  813. RowBox[{"m2d", "[",
  814. RowBox[{"16", ",", "ho"}], "]"}], ".",
  815. RowBox[{"t2d", "[", "16", "]"}], ".",
  816. RowBox[{"m2d", "[",
  817. RowBox[{"8", ",", "h"}], "]"}]}], "]"}], ".",
  818. RowBox[{"m2d", "[",
  819. RowBox[{"16", ",", "ho"}], "]"}], ".",
  820. RowBox[{"t2d", "[", "16", "]"}], ".",
  821. RowBox[{"m2d", "[",
  822. RowBox[{"8", ",", "h"}], "]"}]}], "]"}]}], "]"}]}]], "Input",
  823. CellChangeTimes->CompressedData["
  824. 1:eJxTTMoPSmViYGAQAWIQfUn6eVff7FeO2dvlukG0znvTfhD9JMV+AojO+cY7
  825. BUSfMzkDpr2mz5kPojm2v10IopVSvTaD6CVi58E0n7jVDhD9TjhxL4j2MGC7
  826. AKLv7bW+BKL1gqxs+oG0vMIUOxAdLf6SewJIfuEHMF2ldXnJEiCd8oNtGYjO
  827. WK6d827OK8dZFWXFIPrkBNuTILqoRvgiiC5IvMf4HkiXJaQwg+iE0gPcIFps
  828. /mEeEN08rVUaRH8q36EIop909uiCaBG5CSYgWiFkhiWILtj6xwpE8xjnuoLo
  829. x/9sPUD0Lc1D2SB6yv3UAhDdFLSxAkSv2vG0CkQDAE7UscI=
  830. "]],
  831. Cell[CellGroupData[{
  832. Cell[BoxData["cg2d"], "Input",
  833. CellChangeTimes->{{3.5719403141410027`*^9, 3.571940314784775*^9}}],
  834. Cell[BoxData["13.455567847124579`"], "Output",
  835. CellChangeTimes->{3.571940391384658*^9}]
  836. }, Open ]],
  837. Cell[BoxData[
  838. RowBox[{"cg2d", ":=",
  839. RowBox[{
  840. RowBox[{"10", "*",
  841. RowBox[{"Log", "[",
  842. RowBox[{"10", ",",
  843. RowBox[{"1", "/", "obj2d"}]}], "]"}]}], "//.",
  844. RowBox[{"{",
  845. RowBox[{
  846. RowBox[{"s0", "\[Rule]",
  847. RowBox[{"90.0", "/", "64"}]}], ",",
  848. RowBox[{"s1", "\[Rule]",
  849. RowBox[{"73.0", "/", "64"}]}], ",",
  850. RowBox[{"s2", "\[Rule]",
  851. RowBox[{"72.0", "/", "64"}]}], ",",
  852. RowBox[{"s3", "\[Rule]",
  853. RowBox[{"75.0", "/", "64"}]}], ",",
  854. RowBox[{"p0", "\[Rule]",
  855. RowBox[{
  856. RowBox[{"-", "23.0"}], "/", "64"}]}], ",",
  857. RowBox[{"p1", "\[Rule]",
  858. RowBox[{
  859. RowBox[{"-", "18.0"}], "/", "64"}]}], ",",
  860. RowBox[{"p2", "\[Rule]",
  861. RowBox[{
  862. RowBox[{"-", "6.0"}], "/", "64"}]}], ",",
  863. RowBox[{"q0", "\[Rule]",
  864. RowBox[{"48.0", "/", "64"}]}], ",",
  865. RowBox[{"q1", "\[Rule]",
  866. RowBox[{"34.0", "/", "64"}]}], ",",
  867. RowBox[{"q2", "\[Rule]",
  868. RowBox[{"20.0", "/", "64"}]}]}], "}"}]}]}]], "Input",
  869. CellChangeTimes->{{3.571218095000925*^9, 3.5712180969589567`*^9},
  870. 3.5719396258790283`*^9}],
  871. Cell[CellGroupData[{
  872. Cell[BoxData[
  873. RowBox[{"cov", "=",
  874. RowBox[{"Import", "[",
  875. RowBox[{
  876. "\"\</home/nathan/git/daala.commit-mar4/tools/subset1_mask_8x16.csv\>\"",
  877. ",", "\"\<CSV\>\""}], "]"}]}]], "Input",
  878. CellChangeTimes->{{3.571938565819482*^9, 3.571938618230392*^9}, {
  879. 3.571938668941474*^9, 3.5719386869567413`*^9}, {3.571938766883902*^9,
  880. 3.571938791631712*^9}, {3.571938861963387*^9, 3.571938869156464*^9}}],
  881. Cell[BoxData[
  882. InterpretationBox[
  883. TagBox[
  884. PanelBox[GridBox[{
  885. {
  886. StyleBox[
  887. StyleBox[
  888. DynamicBox[ToBoxes[
  889. FEPrivate`FrontEndResource["FEStrings", "sizeExplanation"],
  890. StandardForm],
  891. ImageSizeCache->{389., {3., 11.}}],
  892. StripOnInput->False,
  893. DynamicUpdating->True], "Panel",
  894. StripOnInput->False,
  895. Background->None]},
  896. {
  897. ItemBox[
  898. TagBox[
  899. RowBox[{"{",
  900. RowBox[{"\[LeftSkeleton]", "1", "\[RightSkeleton]"}], "}"}],
  901. Short[#, 5]& ],
  902. Background->GrayLevel[1],
  903. BaseStyle->{Deployed -> False},
  904. Frame->True,
  905. FrameStyle->GrayLevel[0, 0.2],
  906. StripOnInput->False]},
  907. {
  908. RowBox[{
  909. ButtonBox[
  910. StyleBox[
  911. StyleBox[
  912. DynamicBox[ToBoxes[
  913. FEPrivate`FrontEndResource["FEStrings", "sizeShowLess"],
  914. StandardForm],
  915. ImageSizeCache->{70., {0., 11.}}],
  916. StripOnInput->False,
  917. DynamicUpdating->True], "Panel",
  918. StripOnInput->False,
  919. Background->None],
  920. Appearance->Automatic,
  921. ButtonFunction:>OutputSizeLimit`ButtonFunction[
  922. Identity, 44, 23408958324725471668, 5/2],
  923. Enabled->True,
  924. Evaluator->Automatic,
  925. Method->"Queued"], "\[ThinSpace]",
  926. ButtonBox[
  927. StyleBox[
  928. StyleBox[
  929. DynamicBox[ToBoxes[
  930. FEPrivate`FrontEndResource["FEStrings", "sizeShowMore"],
  931. StandardForm],
  932. ImageSizeCache->{72., {0., 11.}}],
  933. StripOnInput->False,
  934. DynamicUpdating->True], "Panel",
  935. StripOnInput->False,
  936. Background->None],
  937. Appearance->Automatic,
  938. ButtonFunction:>OutputSizeLimit`ButtonFunction[
  939. Identity, 44, 23408958324725471668, 5 2],
  940. Enabled->True,
  941. Evaluator->Automatic,
  942. Method->"Queued"], "\[ThinSpace]",
  943. ButtonBox[
  944. StyleBox[
  945. StyleBox[
  946. DynamicBox[ToBoxes[
  947. FEPrivate`FrontEndResource["FEStrings", "sizeShowAll"],
  948. StandardForm],
  949. ImageSizeCache->{110., {3., 11.}}],
  950. StripOnInput->False,
  951. DynamicUpdating->True], "Panel",
  952. StripOnInput->False,
  953. Background->None],
  954. Appearance->Automatic,
  955. ButtonFunction:>OutputSizeLimit`ButtonFunction[
  956. Identity, 44, 23408958324725471668, Infinity],
  957. Enabled->True,
  958. Evaluator->Automatic,
  959. Method->"Queued"], "\[ThinSpace]",
  960. ButtonBox[
  961. StyleBox[
  962. StyleBox[
  963. DynamicBox[ToBoxes[
  964. FEPrivate`FrontEndResource["FEStrings", "sizeChangeLimit"],
  965. StandardForm],
  966. ImageSizeCache->{102., {0., 10.}}],
  967. StripOnInput->False,
  968. DynamicUpdating->True], "Panel",
  969. StripOnInput->False,
  970. Background->None],
  971. Appearance->Automatic,
  972. ButtonFunction:>FrontEndExecute[{
  973. FrontEnd`SetOptions[
  974. FrontEnd`$FrontEnd,
  975. FrontEnd`PreferencesSettings -> {"Page" -> "Evaluation"}],
  976. FrontEnd`FrontEndToken["PreferencesDialog"]}],
  977. Evaluator->None,
  978. Method->"Preemptive"]}]}
  979. },
  980. GridBoxAlignment->{
  981. "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
  982. "RowsIndexed" -> {}},
  983. GridBoxDividers->{
  984. "Columns" -> {{False}}, "ColumnsIndexed" -> {}, "Rows" -> {{False}},
  985. "RowsIndexed" -> {}},
  986. GridBoxItemSize->{
  987. "Columns" -> {{Automatic}}, "ColumnsIndexed" -> {}, "Rows" -> {{1.}},
  988. "RowsIndexed" -> {}},
  989. GridBoxSpacings->{"Columns" -> {
  990. Offset[0.27999999999999997`], {
  991. Offset[0.5599999999999999]},
  992. Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
  993. Offset[0.2], {
  994. Offset[1.2]},
  995. Offset[0.2]}, "RowsIndexed" -> {}}],
  996. DefaultBaseStyle->{},
  997. FrameMargins->5],
  998. Deploy,
  999. DefaultBaseStyle->{Deployed -> True}],
  1000. Out[44]]], "Output",
  1001. CellChangeTimes->{
  1002. 3.571938619601323*^9, {3.5719386733069344`*^9, 3.571938687973256*^9}, {
  1003. 3.571938772264533*^9, 3.571938805675253*^9}, 3.571938870469118*^9}]
  1004. }, Open ]],
  1005. Cell[CellGroupData[{
  1006. Cell[BoxData[
  1007. RowBox[{"Dimensions", "[", "cov", "]"}]], "Input",
  1008. CellChangeTimes->{{3.571938881571398*^9, 3.571938883740526*^9}}],
  1009. Cell[BoxData[
  1010. RowBox[{"{",
  1011. RowBox[{"256", ",", "256"}], "}"}]], "Output",
  1012. CellChangeTimes->{3.571938884144525*^9}]
  1013. }, Open ]]
  1014. },
  1015. WindowSize->{1424, 775},
  1016. WindowMargins->{{0, Automatic}, {Automatic, 33}},
  1017. FrontEndVersion->"7.0 for Linux x86 (64-bit) (February 25, 2009)",
  1018. StyleDefinitions->"Default.nb"
  1019. ]
  1020. (* End of Notebook Content *)
  1021. (* Internal cache information *)
  1022. (*CellTagsOutline
  1023. CellTagsIndex->{}
  1024. *)
  1025. (*CellTagsIndex
  1026. CellTagsIndex->{}
  1027. *)
  1028. (*NotebookFileOutline
  1029. Notebook[{
  1030. Cell[545, 20, 633, 18, 32, "Input"],
  1031. Cell[1181, 40, 2731, 74, 77, "Input"],
  1032. Cell[3915, 116, 356, 10, 32, "Input"],
  1033. Cell[4274, 128, 326, 7, 32, "Input"],
  1034. Cell[4603, 137, 2960, 84, 77, "Input"],
  1035. Cell[7566, 223, 412, 11, 32, "Input"],
  1036. Cell[7981, 236, 202, 5, 32, "Input"],
  1037. Cell[8186, 243, 777, 24, 32, "Input"],
  1038. Cell[8966, 269, 587, 12, 32, "Input"],
  1039. Cell[9556, 283, 244, 8, 32, "Input"],
  1040. Cell[9803, 293, 73, 2, 32, "Input"],
  1041. Cell[9879, 297, 145, 3, 32, "Input"],
  1042. Cell[10027, 302, 357, 8, 32, "Input"],
  1043. Cell[10387, 312, 314, 9, 32, "Input"],
  1044. Cell[10704, 323, 203, 5, 32, "Input"],
  1045. Cell[10910, 330, 181, 4, 32, "Input"],
  1046. Cell[11094, 336, 153, 3, 32, "Input"],
  1047. Cell[11250, 341, 493, 15, 32, "Input"],
  1048. Cell[11746, 358, 627, 15, 32, "Input"],
  1049. Cell[CellGroupData[{
  1050. Cell[12398, 377, 1164, 33, 55, "Input"],
  1051. Cell[13565, 412, 473, 6, 31, "Output"]
  1052. }, Open ]],
  1053. Cell[14053, 421, 640, 17, 32, "Input"],
  1054. Cell[14696, 440, 590, 16, 32, "Input"],
  1055. Cell[15289, 458, 616, 18, 32, "Input"],
  1056. Cell[15908, 478, 350, 8, 32, "Input"],
  1057. Cell[16261, 488, 1731, 40, 55, "Input"],
  1058. Cell[CellGroupData[{
  1059. Cell[18017, 532, 96, 1, 32, "Input"],
  1060. Cell[18116, 535, 110, 1, 31, "Output"]
  1061. }, Open ]],
  1062. Cell[18241, 539, 362, 7, 32, "Input"],
  1063. Cell[18606, 548, 1927, 42, 55, "Input"],
  1064. Cell[CellGroupData[{
  1065. Cell[20558, 594, 98, 1, 32, "Input"],
  1066. Cell[20659, 597, 88, 1, 31, "Output"]
  1067. }, Open ]],
  1068. Cell[20762, 601, 263, 5, 32, "Input"],
  1069. Cell[21028, 608, 1972, 43, 55, "Input"],
  1070. Cell[CellGroupData[{
  1071. Cell[23025, 655, 96, 1, 32, "Input"],
  1072. Cell[23124, 658, 88, 1, 31, "Output"]
  1073. }, Open ]],
  1074. Cell[23227, 662, 262, 5, 32, "Input"],
  1075. Cell[23492, 669, 1501, 39, 55, "Input"],
  1076. Cell[CellGroupData[{
  1077. Cell[25018, 712, 95, 1, 32, "Input"],
  1078. Cell[25116, 715, 87, 1, 31, "Output"]
  1079. }, Open ]],
  1080. Cell[25218, 719, 313, 6, 32, "Input"],
  1081. Cell[25534, 727, 2023, 44, 55, "Input"],
  1082. Cell[CellGroupData[{
  1083. Cell[27582, 775, 98, 1, 32, "Input"],
  1084. Cell[27683, 778, 87, 1, 31, "Output"]
  1085. }, Open ]],
  1086. Cell[27785, 782, 332, 6, 32, "Input"],
  1087. Cell[28120, 790, 1497, 39, 55, "Input"],
  1088. Cell[CellGroupData[{
  1089. Cell[29642, 833, 96, 1, 32, "Input"],
  1090. Cell[29741, 836, 88, 1, 31, "Output"]
  1091. }, Open ]],
  1092. Cell[29844, 840, 386, 8, 32, "Input"],
  1093. Cell[30233, 850, 1513, 39, 55, "Input"],
  1094. Cell[CellGroupData[{
  1095. Cell[31771, 893, 98, 1, 32, "Input"],
  1096. Cell[31872, 896, 88, 1, 31, "Output"]
  1097. }, Open ]],
  1098. Cell[31975, 900, 1126, 33, 55, "Input"],
  1099. Cell[CellGroupData[{
  1100. Cell[33126, 937, 408, 8, 32, "Input"],
  1101. Cell[33537, 947, 4285, 122, 112, "Output"]
  1102. }, Open ]],
  1103. Cell[CellGroupData[{
  1104. Cell[37859, 1074, 131, 2, 32, "Input"],
  1105. Cell[37993, 1078, 119, 3, 31, "Output"]
  1106. }, Open ]]
  1107. }
  1108. ]
  1109. *)
  1110. (* End of internal cache information *)