Here is a daily log for Jakob Grzesik from 2017.6.5 to 2017.8.5 in Saito Lab in Tohoku Univ.

## Daily schedule (tentative)†

• 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†

• (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

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.

## 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†

• 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
• 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†

• Worked on poster, got feedback from Saito-sensei, Shoufie-san, and lab mates

### July 29†

• Continued working on poster
• Leaving party for me and Guo-san
• Guo-san's parents made Chinese dumplings and noodles

### July 28†

• 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†

• 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†

• 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†

• 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†

• 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 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†

• 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†

• Zao 16 NanoCarbon meeting
• Presented Tuesday night, last speaker
• Took Zao ropeway halfway up mountain, hiked down to lake

### July 15-18†

• Met up with family in Tokyo
• Friday Nikko, but was raining so just went to an onsen
• 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, 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†

• 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 Hon-Shiogama

### 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 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†

• Mid-program 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 mid-program 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 mathematical pattern for number of sequences in each T for arbitrary N-layer

### 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 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†

• 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†

• 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 100-layer sequences?
• Try to train with catnet (imagenet)
• Talk to CS friend about how to implement, what type of neural network

### June 18†

• 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, 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†

• Training catnet is slow! 5 min/20 iter (1000 in total)
• 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†

• 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†

• 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†

• 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 (0-100)

### 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 (0-100 scale) to measure how close a given transmission or enhancement spectrum is to a target spectrum
• Look into Caffe machine learning

### June 7†

• Walked to campus, took the right path, so it only took about 25 mins to make it to the lab.
• Plotted results for last night's HW with varying parameters.
• Practiced getting equations of motion for more complicated systems using Lagrangian Mechanics.
• Considered systems with damping forces and modelled motion using differential equations.

To do:

• Apply linear algebra and ODEs to solve a general second order differential equations problem.
• Learn how to solve ODEs and linear algebra questions using python(Start with Euler's approximation method).

### June 6†

• Walked to campus, got lost at campus. Took about 45 mins.
• Finished working on HW about action and the Euler Lagrange equation
• Worked on learning about differential equations.
• Worked on applying Lagrangian mechanics to double pendulum.
• Had lunch with Nulli-san at Espace Ouvert
• First "experiment": synchronization of vegetable can movement within a box due to forces exerted while carrying it and walking at a certain pace.

To do:

• Solve equations of motion for a box on a spring with some initial external force over a fixed period of time, both before and after external force is removed.
• Numerically solve ODEs in Python(perhaps using numpy and scipy packages).

### June 5†

• Shoufie-san picked me up from Urban Castle Kawauchi, took me to campus by subway (International Center -> Aobayama, 250 yen ~20 mins total)
• Nugraha-sensei helped me set up lab server access, mail client, etc.
• Got a quick bento lunch on campus and ate with Saito-sensei who played his ukulele
• Learned about Lagrangian mechanics, specifically in the context of a simple pendulum.
• Learned a bit about the general solutions to second-order differential equations.

To do:

• Learn what "action" in physics is
• Derive the Euler-Lagrange Equation