Here is a daily log for Haihao Liu from 2016.6.5 to 2016.8.7 in Saito Lab in Tohoku Univ. Here is a daily log for Haihao Liu from 2016.6.6 to 2016.8.5 in Saito Lab in Tohoku Univ. #contents *Daily schedule (tentative) [#schedule] - 10:00-12:00 Finishing/continuing any work from previous day - 12:00-13:00 Lunch - 13:00-14:30 Discussion with Shoufie-san - 14:30-15:00 Prepare daily report presentation - 15:00-15:30 Meeting with Saito-sensei - 15:30-18:00 Continuing work/updating Pukiwiki *Goal of the project [#goal] - (Old) To enhance electric field at graphene surface by changing the possible patterns of dielectric thin layers through deep learning algorithms. - Keywords: graphene, transfer matrix, deep learning - (New) To understand how the photonic crystal sequence affects the transmission probability T at the central frequency - Keywords: photonic crystal, transfer matrix, symmetry *Questions and Answers [#QA] This section is for posting questions from Haihao-san and answers from other group members. - Please list here with some simple reasons or details. - For every problem, give a tag double asterisks (**) in the code so that it will appear in the table of contents. - For the answer, give a tag triple asterisks (***) in the code below the problem in order to make a proper alignment. - List from new to old. **Q: (Placeholder) [#Q1] ***A: (Placeholder) [#A1] *Report [#report] This part is basically written by Haihao-san. Any other people can add this. Here the information should be from new to old so that we do not need to scroll. **August 5 [#august5] - Updated intro to give more context/motivation - Found recursion formula of Fibonacci lattice charge, only -1, 0, 1 - Qualitatively seems to be relationship between cumulative charge and E field - Last day in lab! To do: - Find relationship between cumulative charge and peak E field, power law? - Write and publish paper **August 4 [#august4] - Received feedback from Dr. Kono and Dr. Krupa, will incorporate suggestions - Saito-sensei had idea, joining to sequences with lowest T (highest and lowest charge, e.g. '10101010' + '01010101'), total charge 0 (T = 1), should have high E field in middle, this is correct! Now have way to design sequence with high E field enhancement - Continued work on paper, Shoufie-san created figures - Last day with Shoufie-san! (leaving for Vienna conference) To do: - Charge of Fibonacci lattices, find recursion formula? - Plot cumulative charge, related to E field? **August 1-3 [#august13] - Worked on poster, got feedback from Saito-sensei, Shoufie-san, and lab mates - Added questions, changed/added colors for better contrast and creating connections, adjusted layout around graph (more info), added contact and acknowledgements **July 31 [#july31] - Visited Yamadera **July 29 [#july29] - Continued working on poster - Leaving party for me and Guo-san - Guo-san's parents made Chinese dumplings and noodles **July 28 [#july28] - Continued working on poster, neatening layout, almost ready as a first draft - Saito-sensei gave tips and suggestions on how to present math-heavy, serious topic in way that will attract people - Suggested cartoons, speech bubbles **July 27 [#july27] - Continued working on poster, making some the graphics - Tohoku University Open Campus, many high school students visiting, got cool folder and posters - Saito-sensei came up with formulaic expression for charge of double layer, can now write total charge as a summation on the sequence **July 26 [#july26] - Interviewed Dr. Teng Yang from China Institute of Metals Research for this week's report - Submitted SCI poster abstract - Started making poster - Discussed poster layout with Saito-sensei, moving T spectrum plot showing degeneracy to intro, reducing space for method - Gave me helpful tips on making presentation more fun and interesting for general audience - Took another look at group theory, with new perspective of charge - Number of IR/classes match number of possible charge? - Tried to define operator on sequence that will give charge, based on similar spin operators **July 25 [#july25] - Finished writing mirror symmetry proof in LaTeX, sent to Shoufie-san and Saito-sensei for feedback - Listened to Pourya-san's defense - Proved formula for T for even N using induction - Further developed/clarified/formalized concept of "charge": AB = +1, BA = -1, AA = BB = 0, T is function of total charge of sequence - Made some significant revisions to abstract to highlights results rather than explain basics - Planned out poster layout To do: - Make draft of poster - Write outline for paper, in particular order of sections **July 24 [#july24] - Visited Morioka, had jajamen and chitantan - Went to Aomori, visited Sannai Maruyama Jomon site, art museum - Walked around pier, saw huge, amazing nebuta floats in preparation for Nebuta Matsuri next week - Visited Hirosaki, walked around Hirosaki Park and saw (sort of mini) castle **July 22 [#july22] - Finished writing abstract with Saito-sensei and Shoufie-san, both gave final approval - Started discussing/designing poster - Discussed suitable journal for publication: Optics Express, Optics Letters, Physical Review X? To do: - Finish planning/designing poster layout **July 21 [#july21] - Learned basics of LaTeX, started writing mirror symmetry proof - Worked on writing/discussed abstract with Saito-sensei, Shoufie-san To do: - Finish writing abstract, send to Dr. Stanton for approval **July 19-20 [#july1920] - Zao 16 NanoCarbon meeting - Presented Tuesday night, last speaker - Took Zao ropeway halfway up mountain, hiked down to lake **July 15-18 [#july1518] - Met up with family in Tokyo - Friday Nikko, but was raining so just went to an onsen - Saturday Tsukiji Market, Miraikan, Odaiba, Ferris wheel, return to HK - Sunday Chiba, Makuhari Messe, Kaihin Koen, Costco (!), Aeon Mall, Chiba Castle - Monday met up with Ben, Rony, Youssef in Nagano, Togakushi **July 14 [#july14] - Zao presentation practice - Worked on presentation - Seem to be "done", have explained pretty much everything - Seems that group theory is not needed/sort of a dead end - Discussed possible 2nd quantization view and charge, creation/annihilation operations (adding/removing a '01') to go between T values To do: - Learn LaTeX, start writing up proofs - Organize/summarize all findings **July 13 [#july13] - Picked up Zao travel stipend - Met JP Nakatani fellow from Tohoku, Miyoshi - Found formulas for T value for both odd and even N - Wrote Matlab program to calculate T at central frequency for any arbitrary sequence WITHOUT using transfer matrices (simply counting number of '01' and '10') - Worked on proof, basic idea adding pair doesn't change TM except for sign (P^2 = -Id) To do: - Formalize proofs - Explore ordering of odd T values wrt. n1:n2 **July 12 [#july12] - Meeting Dr. Kono, Sarah, Ogawa-san, and Horikawa-san - Found atomic site characters - Wrote proof for double layer permutation - Looked for pattern in T values, might explain both inversion symmetries (last remaining to prove) **July 11 [#july11] - Found 10 conjugacy classes - Determined isomorphic to D8 x Z2 - Installed GAP, software for computational discrete algebra - Generated character table for D8 x Z2 To do: - Find atomic site dot products - Explain degeneracy? **July 10 [#july10] - Visited Matsushima, took boat cruise from Hon-Shiogama **July 8 [#july8] - Constructed multiplication table for 4 layers To do: - Construct character table for 4 layers **July 7 [#july7] - Found formula for number of patterns in each T value for both even and odd # of layers - Tried making group of symmetry operations on 2-layer lattices, can't include all operations - Created multiplication table on restricted operations - Created character table, does not match degeneracy To do: - Find basis for each irreducible representation using projection operator - Construct multiplication table for 4-layer symmetry operations, adding elements as necessary **July 3-6 [#july36] - Mid-program meeting in Kyoto **July 1 [#july1] - Unable to connect to new drive once again... - Booted successful by connecting drive via USB, temporary solution, need new HD cable - Finally able to work on mid-program meeting presentation - Looked for pattern in number of sequences at each T value **June 30 [#june30] - Could not install OS, Mac wouldn't even recognize presence of new hard drive - After ~15 times opening up Mac, adjusting connection, trying with old HDD, following guides and advice online like using tape, FINALLY some combination of the various fixes worked - Finally installed OS, restored all my files from Time Machine backup - Slowly reinstalling apps as needed, less space now - Meanwhile finally found last two hidden symmetries, to explain all operations to get to different patterns with same T!! - Arbitrary permutation of double layers, pair inversion - Can explain N/2 + 1 possible T for even layers using generalized concept of pairs: two of the same separated by even number of layers To do: - Make presentation and practice - Prove total inverse, double permutation, and pair inversion symmetries (probably using fact that P^2 = -Id) - Find all products of operations, adding elements to make closed group - Find mathematical pattern for number of sequences in each T for arbitrary N-layer - Proofread Shoufie-san's paper **June 29 [#june29] - OS install failed, continued trying multitude of things to repair disk, but no matter what unable to repair - Concluded must be hard drive failure - BUT saito-sensei gave me a new one! Almost exact same, same brand/year, 320 vs old 500 gb, helped me install - Discussed mid-program presentation To do: - Install OS on new drive and restore files **June 28 [#june28] - Computer crashed! Working on repairing computer - Main partition seems corrupted, reinstalling OS - Proved cyclic symmetry, as well as several smaller lemmas and corollaries To do: - FIX MAC ASAP **June 27 [#june27] - Worked on proving cyclic symmetry, found several useful lemmas e.g. regarding product of "chain" matching matrices - Looking for last hidden symmetry/ies **June 26 [#june26] - Visited Sendai Mediatheque (public library/exhibition space) **June 24 [#june24] - Found cyclic symmetry - Found pattern in number of T values: N + 1 for odd, N/2 + 1 for even - Calculated eigenfunctions and eigenvectors of TMs, will require further investigation To do: - Read first 3 chapters of graph theory textbook - Prove cyclic symmetry **June 23 [#june23] - Proved mirror symmetry - Searched for patterns - Even and odd have different behavior - Even has inversion (A<->B) symmetry **June 22 [#june22] - Created frequency vs discrete T plot, and T vs Gray code plot for 4 layers - Identified sequences with identical transmission spectra, found symmetry (e.g. 1101 = 1011) - Investigated effect of flipping one bit on E field for 4 layer system, still looking at and trying to interpret results (but does not seem to be chaotic at least) To do: - Prove using induction that mirrored sequences give identical transmission **June 21 [#june21] - Talked to CS major friend about problem, suggested hill climbing and genetic algorithms - Doesn't think there is a need to use machine learning to predict transmission, because we already have a program to do it exactly! ML is only for when you don't know how to program an algorithm to solve the problem - Agreed that truly chaotic behavior would make any algorithm, including neural networks, not work (imagine predicting a RNG) - Tried to see what effect of changing one bit really is - Found that transmission probability is discrete! - Changing one bit can only move to one level above or below - Investigated effect of number of layer and changing dielectric constants, levels only depend on ratio between dielectric constants To do: - Create frequency vs discrete T plot, and T vs Gray code plot for small number of layers **June 20 [#june20] - Found hole/security flaw in SquirrelMail webmail - Wrote abstract for Zao meeting - Researched GPUs for deep learning - Deployed catnet on Matlab, initial tests were big success - Figured out MNIST wasn't working because of simple division/rescaling of input, not sure if working - Learned how to use Matlab read/write to file, played with different formatting for saving data To do: - Create database of transmission spectra and E field plots - Compile training data using random 100-layer sequences? - Try to train with catnet (imagenet) - Talk to CS friend about how to implement, what type of neural network **June 18 [#june18] - Sendai castle adventure - Performance group **June 17 [#june17] - Finally got MatCaffe working, MNIST does not seem to be working - Installed Caffe (/liu/caffe) on tube61 (Ubuntu 15.04) with ATLAS, CPU-only, ran catnet, still slow, maybe even slower than Mac! (~6 min/20 iterations) - Moved cat images to flex, continued training - Installed OpenBLAS on tube61 to try to rebuild Caffe with OpenBLAS - Installed Intel MKL (commercial, got free student license) on tube60, installed caffe (/liu/research/caffe) on tube 60 (Ubuntu 12.04) with MKL, CPU-only, not yet tested catnet To do: - Rebuild with OpenBLAS - Finish training catnet - Look into OpenMP for parallel processing support, OpenMP+MKL gives performance comparable to GPU **June 16 [#june16] - Downloaded 7000+ cat and dog images - Training catnet is slow! 5 min/20 iter (1000 in total) - Downloaded MNIST dataset, trained in about ~10 mins - Python wrapper installed properly, MATLAB not working, so can't yet deploy To do: - Test MNIST by deploying on either Matlab or Python - Look into GPUs, Saito-sensei might buy one to install on lab server **June 15 [#june15] - Talked with Shoufie-san about basics of neural networks, showed him the power of genetic algorithms, discussed ideas on how to use networks to find/generate good sequences - Continued troubleshooting constant errors, build Caffe, but make runtest failing - Found that laptop's GPU is too old, not powerful enough, built in CPU-only, finally passed all tests To do: - Learn how to use Caffe, run example programs MNIST and catnet - Install MATLAB and Python wrappers/interface **June 14 [#june14] - Installed Homebrew, Miniconda (lightweight Anaconda Python distro) - Installed CUDA, other libraries Caffe has as dependencies - Saito-sensei invited me to join Zao NanoCarbon Meeting, gladly accepted! To do: - Install Caffe **June 13 [#june13] - Found that integral based error function never gave good score, max ~30 on linear conversion scale for 10 layer system - Experimented with designing evaluation function based on Q factor for transmission, enhancement and position for E field - Watching some videos online to learn the basics of how deep learning is implemented, as well as see more examples. To do: - File read/write to avoid recalculating every time - Install Caffe **June 10 [#june10] - Adapted MATLAB programs calculate transfer matrix and plot transmission and enhancement for any arbitrary sequence - Wrote error function - Lab party! To do: - Evaluate scaling functions (0-100) **June 9 [#june9] - Wrote MATLAB program to plot intensity of E field in Fibonacci lattice as function of position (z), looked at positions of enhancement To do: - Adapt code to calculate transfer matrix and plot transmission and enhancement for any arbitrary sequence - Design error function (0-100 scale) to measure how close a given transmission or enhancement spectrum is to a target spectrum - Look into Caffe machine learning **June 8 [#june8] - Wrote MATLAB program to construct transfer matrix for n-th Fibonacci lattice - Plotted transmission probability as a function of frequency, 10th gen made a nice looking fractal To do: - Clean up MATLAB code - Plot E field in Fibonacci lattice as function of distance (z), see points of most enhancement **June 7 [#june7] - Walked to campus, took around 30 mins - Found explicit formula for n-th Fibonacci number, and wrote Python program to generate n-th iteration of the Fibonacci fractal - Had lunch with Hasdeo-san, bought lunch by weight from cafeteria (entrees 1.4 yen/g, rice .43 yen/g) - Derived matching (boundary) and propagation matrices in transfer matrix method, used to calculate R and T probabilities for comparison - Derived E and H relations from Maxwell's equations (Ampere's) - Introduced myself at group meeting, shared some omiyage from China - Set up printer over LAN, had to install driver manually To do: - Check that theory agrees with Snell's Law - Construct transfer matrix for n-th Fibonacci lattice **June 6 [#june6] - Shoufie-san picked me up from Urban Castle Kawauchi, took me to campus by subway (International Center -> Aobayama, 200 yen ~20 mins total) - Nugraha-sensei helped me set up lab server access, mail client, etc. - Bento lunch from Espace Ouvert restaurant (next to 7-11 on bottom floor of new building), ate with Saito-sensei who played his ukulele - Learned how to derive boundary conditions for EM wave passing from one dielectric media to another, using Maxwell's equations (Faraday's and Ampere's) - Solved for reflection and transmission probabilities at boundary for normal incident wave To do: - Test SHH from dorm room - Read pages on reflection and transmission of EM waves at boundary, and derive probabilities for both TE and TM both of oblique incident waves