Kohei Shinohara is a researcher and scientific software developer based in Tokyo with 12 years of experience applying first-principles calculations and algorithm design to materials-science problems. He combines a PhD-level background in materials engineering from Kyoto University with hands-on contributions to major open-source projects—most notably improving robustness in pymatgen, a core library that powers the Materials Project, and adding deterministic SVD features to TensorLy. At Preferred Networks and through research positions at the University of Tokyo and RIKEN he has bridged academic theory and practical code, including work on crystal structure prediction and neural-network potentials with charge transfer. Colleagues rely on him for backend algorithmic fixes, test-driven improvements, and reproducible scientific tooling. He often uncovers subtle numerical and graph-structure bugs that improve reliability across electronic-structure and tensor-learning stacks.
Python Materials Genomics (pymatgen) is a robust materials analysis code that defines classes for structures and molecules with support for many electronic structure codes. It powers the Materials Project.
Role in this project:
Back-end Developer
Contributions:14 commits, 9 PRs, 20 comments in 3 years 2 months
Contributions summary:Kohei primarily contributed to the `pymatgen` library by fixing bugs and adding tests related to graph data structures. Their work involved correcting parameter mappings and ensuring the correct updating of graph structures within the code. Furthermore, the user improved the library's robustness through the addition of test cases, verifying the integrity of the `StructureGraph` and `MoleculeGraph` classes and fixing a typo. They also addressed a bug related to image calculations in the `local_env.py` file.
Contributions:5 commits, 1 PR, 4 comments in 5 days
Contributions summary:Kohei focused on improving the `tensorly` library's back-end functionality, specifically related to SVD operations. Their contributions include adding an option for a starting vector in partial SVD calculations, enabling deterministic tucker decomposition through the use of a `random_state` parameter, and providing a fix for a test tensor used with multiple backends. The user also added `kwargs` in SVD functions and corrected initialization parameters for improved functionality.
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.