Here is a daily log for Haihao Liu from 2016.6.5 to 2016.8.7 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]

- 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

*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.

**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, 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

Front page   New Page list Search Recent changes   Help   RSS of recent changes