Here is a daily log for Haihao Liu from 2016.6.6 to 2016.8.5 in Saito Lab in Tohoku Univ.
Daily schedule (tentative) †
 10:0012:00 Finishing/continuing any work from previous day
 12:0013:00 Lunch
 13:0014:30 Discussion with Shoufiesan
 14:3015:00 Prepare daily report presentation
 15:0015:30 Meeting with Saitosensei
 15:3018:00 Continuing work/updating Pukiwiki
Goal of the project †
 (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 †
This section is for posting questions from Haihaosan 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) †
A: (Placeholder) †
Report †
This part is basically written by Haihaosan. 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 †
 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 †
 Received feedback from Dr. Kono and Dr. Krupa, will incorporate suggestions
 Saitosensei 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, Shoufiesan created figures
 Last day with Shoufiesan! (leaving for Vienna conference)
To do:
 Charge of Fibonacci lattices, find recursion formula?
 Plot cumulative charge, related to E field?
August 13 †
 Worked on poster, got feedback from Saitosensei, Shoufiesan, 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 †
July 29 †
 Continued working on poster
 Leaving party for me and Guosan
 Guosan's parents made Chinese dumplings and noodles
July 28 †
 Continued working on poster, neatening layout, almost ready as a first draft
 Saitosensei gave tips and suggestions on how to present mathheavy, serious topic in way that will attract people
 Suggested cartoons, speech bubbles
July 27 †
 Continued working on poster, making some the graphics
 Tohoku University Open Campus, many high school students visiting, got cool folder and posters
 Saitosensei came up with formulaic expression for charge of double layer, can now write total charge as a summation on the sequence
July 26 †
 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 Saitosensei, 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 †
 Finished writing mirror symmetry proof in LaTeX, sent to Shoufiesan and Saitosensei for feedback
 Listened to Pouryasan'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 †
 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 †
 Finished writing abstract with Saitosensei and Shoufiesan, 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 †
 Learned basics of LaTeX, started writing mirror symmetry proof
 Worked on writing/discussed abstract with Saitosensei, Shoufiesan
To do:
 Finish writing abstract, send to Dr. Stanton for approval
July 1920 †
 Zao 16 NanoCarbon? meeting
 Presented Tuesday night, last speaker
 Took Zao ropeway halfway up mountain, hiked down to lake
July 1518 †
 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 †
 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 †
 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 †
 Meeting Dr. Kono, Sarah, Ogawasan, and Horikawasan
 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 †
 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 †
 Visited Matsushima, took boat cruise from HonShiogama
July 8 †
 Constructed multiplication table for 4 layers
To do:
 Construct character table for 4 layers
July 7 †
 Found formula for number of patterns in each T value for both even and odd # of layers
 Tried making group of symmetry operations on 2layer 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 4layer symmetry operations, adding elements as necessary
July 36 †
 Midprogram meeting in Kyoto
July 1 †
 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 midprogram meeting presentation
 Looked for pattern in number of sequences at each T value
June 30 †
 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 Nlayer
 Proofread Shoufiesan's paper
June 29 †
 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 saitosensei gave me a new one! Almost exact same, same brand/year, 320 vs old 500 gb, helped me install
 Discussed midprogram presentation
To do:
 Install OS on new drive and restore files
June 28 †
 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:
June 27 †
 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 †
 Visited Sendai Mediatheque (public library/exhibition space)
June 24 †
 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 †
 Proved mirror symmetry
 Searched for patterns
 Even and odd have different behavior
 Even has inversion (A<>B) symmetry
June 22 †
 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 †
 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 †
 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 100layer sequences?
 Try to train with catnet (imagenet)
 Talk to CS friend about how to implement, what type of neural network
June 18 †
 Sendai castle adventure
 Performance group
June 17 †
 Finally got MatCaffe? working, MNIST does not seem to be working
 Installed Caffe (/liu/caffe) on tube61 (Ubuntu 15.04) with ATLAS, CPUonly, 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, CPUonly, 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 †
 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, Saitosensei might buy one to install on lab server
June 15 †
 Talked with Shoufiesan 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 CPUonly, 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 †
 Installed Homebrew, Miniconda (lightweight Anaconda Python distro)
 Installed CUDA, other libraries Caffe has as dependencies
 Saitosensei invited me to join Zao NanoCarbon? Meeting, gladly accepted!
To do:
June 13 †
 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 †
 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 (0100)
June 9 †
 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 (0100 scale) to measure how close a given transmission or enhancement spectrum is to a target spectrum
 Look into Caffe machine learning
June 8 †
 Wrote MATLAB program to construct transfer matrix for nth 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 †
 Walked to campus, took around 30 mins
 Found explicit formula for nth Fibonacci number, and wrote Python program to generate nth iteration of the Fibonacci fractal
 Had lunch with Hasdeosan, 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 nth Fibonacci lattice
June 6 †
 Shoufiesan picked me up from Urban Castle Kawauchi, took me to campus by subway (International Center > Aobayama, 200 yen ~20 mins total)
 Nugrahasensei helped me set up lab server access, mail client, etc.
 Bento lunch from Espace Ouvert restaurant (next to 711 on bottom floor of new building), ate with Saitosensei 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
