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
Questions and Answers†
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.
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.
- 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!
- Find relationship between cumulative charge and peak E field, power law?
- Write and publish paper
- 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)
- Charge of Fibonacci lattices, find recursion formula?
- Plot cumulative charge, related to E field?
- 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
- Continued working on poster
- Leaving party for me and Guo-san
- Guo-san's parents made Chinese dumplings and noodles
- 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
- 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
- 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
- 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
- Make draft of poster
- Write outline for paper, in particular order of sections
- 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
- 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?
- Finish planning/designing poster layout
- Learned basics of LaTeX, started writing mirror symmetry proof
- Worked on writing/discussed abstract with Saito-sensei, Shoufie-san
- Finish writing abstract, send to Dr. Stanton for approval
- Zao 16 NanoCarbon meeting
- Presented Tuesday night, last speaker
- Took Zao ropeway halfway up mountain, hiked down to lake
- 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
- 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
- Learn LaTeX, start writing up proofs
- Organize/summarize all findings
- 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)
- Formalize proofs
- Explore ordering of odd T values wrt. n1:n2
- 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)
- Found 10 conjugacy classes
- Determined isomorphic to D8 x Z2
- Installed GAP, software for computational discrete algebra
- Generated character table for D8 x Z2
- Find atomic site dot products
- Explain degeneracy?
- Visited Matsushima, took boat cruise from Hon-Shiogama
- Constructed multiplication table for 4 layers
- Construct character table for 4 layers
- 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
- Find basis for each irreducible representation using projection operator
- Construct multiplication table for 4-layer symmetry operations, adding elements as necessary
- Mid-program meeting in Kyoto
- 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
- 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
- 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
- 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
- Install OS on new drive and restore files
- Computer crashed! Working on repairing computer
- Main partition seems corrupted, reinstalling OS
- Proved cyclic symmetry, as well as several smaller lemmas and corollaries
- Worked on proving cyclic symmetry, found several useful lemmas e.g. regarding product of "chain" matching matrices
- Looking for last hidden symmetry/ies
- Visited Sendai Mediatheque (public library/exhibition space)
- 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
- Read first 3 chapters of graph theory textbook
- Prove cyclic symmetry
- Proved mirror symmetry
- Searched for patterns
- Even and odd have different behavior
- Even has inversion (A<->B) symmetry
- 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)
- Prove using induction that mirrored sequences give identical transmission
- 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
- Create frequency vs discrete T plot, and T vs Gray code plot for small number of layers
- 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
- 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
- Sendai castle adventure
- Performance group
- 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
- Rebuild with OpenBLAS
- Finish training catnet
- Look into OpenMP for parallel processing support, OpenMP+MKL gives performance comparable to GPU
- 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
- Test MNIST by deploying on either Matlab or Python
- Look into GPUs, Saito-sensei might buy one to install on lab server
- 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
- Learn how to use Caffe, run example programs MNIST and catnet
- Install MATLAB and Python wrappers/interface
- 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!
- 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.
- File read/write to avoid recalculating every time
- Install Caffe
- Adapted MATLAB programs calculate transfer matrix and plot transmission and enhancement for any arbitrary sequence
- Wrote error function
- Lab party!
- Evaluate scaling functions (0-100)
- Wrote MATLAB program to plot intensity of E field in Fibonacci lattice as function of position (z), looked at positions of enhancement
- 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
- 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.
- Clean up MATLAB code
- Plot E field in Fibonacci lattice as function of distance (z), see points of most enhancement
- 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.
- 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).
- 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.
- Learn what "action" in physics is
- Derive the Euler-Lagrange Equation