NAME : KHEEIRUL AMIDZAL A/L KHEE KING HUAT
NO MATRIC :<PHONE_NUMBER>
CLASS : MCS2456A
SUBJECT : CELLULAR NETWORKS ITT575
In your Android smartphone, the strength of mobile Internet signal is shown using alphabet letters like G, E, 2G, 3G, H and 4G near the signal bar. These symbols are visible right next to the signal strength indicator. Have you ever wondered about the meaning of these symbols / letters?
Meaning of G in Mobile Signal
Letter G stands for GPRS (General Packet Radio Service).
GPRS is considered to be the second generation (2G) mobile technology. It is the slowest and oldest among all mobile technologies. It is mainly good enough for sending text messages using apps like WhatsApp. Data rates in GPRS are between 56 and 114 kbit/second.
Meaning of E in Mobile Signal
Letter E stands for EDGE (Enhanced Data Rates for GSM Evolution). It is also called Enhanced GPRS. This technology lies somewhere in between 2G and 3G technology. So, some people refer to it as 2.5G.
EDGE is faster than GPRS but still not good enough to browse the Internet.Typically EDGE provides a data rate of 400 kbit/second but in ideal conditions data rate of upto 1 Mbit/second can also be achieved.
This technology also lies somewhere in between 2G and 3G. Those who call GPRS as 2.5G, they refer EDGE as 2.75G.
Meaning of 3G in Mobile Signal
3G means the third generation of mobile telephone technology. It uses the Universal Mobile Telecommunications System and is based on GSM standards.
Typically 3G provides data transfer rates 384 kbit/second. But depending upon how it is implemented in various networks, the data rate can go upto 42 Mbits/second.
Usually 3G is faster than EDGE and you can easily browse websites and stream music.
Meaning of H in Mobile Signal
H stands for HSPA (High Speed Packet Access). It is an enhanced form of 3G technology. HSPA provides higher data transfer rates than the basic 3G.
Note: In the above comparison chart, all the data speeds are given in terms of bits (e.g. kilobits, megabits etc.) In order to get the speed in terms of bytes (e.g. kilobytes, megabytes etc.) you would need to divide the shown figures by 8. One byte = 8 bits.
HSPA can provide peak data rates of up to 14 Mbit/s for downlink and 5.76 Mbit/s for uplink.
High-Speed Downlink Packet Access (HSDPA) is a further enhanced version of HSPA. HSDPA supports download speed of up to 99.3 Mbit/s. When you see letter H near the signal bar in your mobile phone, you can stream music and even YouTube videos without much interruption.
Meaning of H+ in Mobile Signal
This is enhanced HSPA. It is faster than basic HSPA (as explained above). Relatively speedier data transfer in H+ will make your video to download or stream much more smoothly.
At present, 4G technology is not very widely available. So, in most parts of the world, HSPA+ is the fastest speed you can get through mobile Internet.
Meaning of 4G in Mobile Signal
4G is the fourth generation of mobile technology. It is also called LTE (Long Term Evolution). 4G connection works as good as a wi-fi connection of your home or office.
LTE uses two different radio links for downlink and uplink — from tower to device and vice versa. For the downlink, LTE uses an OFDMA (orthogonal frequency division multiple access), which requires MIMO. MIMO, which stands for Multiple Input, Multiple Output, uses two or more antennas to reduce latency significantly and boost speeds within a given channel.
Meaning of 5G in Mobile Signal
5G is the 5th generation mobile network. It will take a much larger role than previous generations. 5G is also OFDM-based and will operate based on the same mobile networking principles.
5G is expected to deliver peak data rates up to 20 Gbps. 5G also support new services such as mission-critical communications and the massive IoT. 5G will also natively support all spectrum types
Evolution of Mobile Internet with Architecture
1G Architecture
- Designed for voice communication.
- One example is Advanced Mobile Phone System (AMPS) used in North America.
- AMPS is an analog cellular phone system.
- The band between 824 to 849 MHz is used for reverse communication from MS to BS.
- The band between 869 to 894 MHz is used for forward communication from BS to MS.
- AMPS uses Frequency Division Multiple Access (FDMA) to divide each 25-MHz band into 30-KHz channels.
2G & 3G Architecture
- 2G GSM
- GSM stands for Global System for Mobile Communications.
- Data rate up to 9.6 Kbps.
- GSM 900 (GSM) - the most common in Europe and the world.
- GSM 1900 (PCS-1900, DCS-1900) - only frequency used in North America for GSM.
- GSM 1800 (PCN, DCS-1800) - rapidly increasing number of countries including France, Germany, Switzerland, the UK, and Russia.
- GSM 2G Architecture
- 2.5G Cellular GPRS
- 2.5 G wireless cellular networks have been developed as a transition path to 3G.
- Example - GPRS.
- Offer circuit-switched data services at 9.6 Kbps.
- GPRS supports both IP and X.25 networking.
- GPRS network is the GSN (GPRS Support Node) that receives the packet data and transfers it to the Internet or other GPRS networks.
- GPRS 2.5G Architecture
- 2.75 Cellular EDGE
- 2.75G wireless cellular networks have been developed as an enhanced data rates for GSM and GPRS evolution.
- Example - EDGE.
- EDGE has been designed to address some of the limitations of GPRS.
- Maximum data rates up to 384 Kbps.
- 3G UMTS
- UMTS is Universal Mobile Telecommunication System.
- UMTS, the 3G successor to GSM which utilizes the W-CDMA air interface and GSM infrastructures.
- UMTS provides a consistent service environment even when roaming via “Virtual Home Environment” (VHE).
- There are two types of UMTS systems:
- Frequency Division Duplex (FDD) Wideband Code Division Multiple Access (FDD/WCDMA)
- Time Division Duplex (TDD) Wideband Code Division Multiple Access (TDD/WCDMA)
- UMTS combines the W-CDMA, TD-CDMA, or TD-SCDMA air interfaces, GSM Mobile Application Part (MAP) core, and the GSM family of speech codes.
- UMTS 3G Architecture
4G Architecture
- Optimized for data services, up to 1Gpbs.
- New packet-switched air interfaces, reducing latency, use OFDM, MIMO.
- Support cell sizes varying from 10s m.
- Simplified radia access networks (e-UTRANs) and packet switched core networks.
- Support for inter-operation and co-existence with (all) legacy systems
- 4G Architecture
Credits: Organization One: Author One and Author Two / Organization Two: Author Three and Author Four


Drivers¶
Aqua Chemistry requires a computational chemistry program or library, known as driver, to be installed on the system for the electronic-structure computation. When launched via the Aqua Chemistry Command Line, GUI, or Programmable Interface, Aqua Chemistry expects a driver to be specified, and a molecular configuration to be passed in the format compatible with that driver. Aqua Chemistry uses the driver not only as a frontend input language, to allow the user to configure a chemistry problem in a language that an experienced chemist is already familiar with, but also to compute some intermediate data, which will be later on used to form the input to one of the Algorithms. Such intermediate date includes the following:
- One- and two-body integrals in Molecular Orbital (MO) basis
- Dipole integrals
- Molecular orbital coefficients
- Hartree-Fock energy
- Nuclear repulsion energy
Once extracted, the structure of this intermediate data is independent of the driver that was used to compute it. The only thing that could still depend on the driver is the level of accuracy of such data; most likely, a more elaborate driver will produce more accurate data. Aqua Chemistry offers the option to serialize this data in a binary format known as Hierarchical Data Format 5 (HDF5). This is done to allow chemists to reuse the same input data in the future and to enable researchers to exchange input data with each other — which is especially useful to researchers who may not have particular computational chemistry drivers installed on their computers.
In order for a driver to be usable by Aqua Chemistry, an interface to that driver
must be built in Aqua Chemistry. Aqua Chemistry offers the BaseDriver
Application Programming Interface (API) to support interfacing new drivers.
Currently, Aqua Chemistry comes with interfaces prebuilt for the following four computational chemistry software drivers:
- Gaussian™ 16, a commercial chemistry program
- PSI4, an open-source chemistry program built on Python
- PySCF, an open-source Python chemistry program
- PyQuante, a pure Python cross-platform open-source chemistry program
The HDF5 Driver
A fifth driver, called HDF5, comes prebuilt in Aqua Chemistry. This is, in fact, the only driver that does not require the installation or configuration of any external computational chemistry software, since it is already part of Aqua Chemistry. The HDF5 driver allows for chemistry input, in the form of an HDF5 file as specified above, to be passed into the computation.
Extending Aqua Chemistry with Support for New Drivers
The driver support in Aqua Chemistry was designed to make the drivers pluggable and discoverable.
In order for Aqua Chemistry to
be able to interface a driver library, the BaseDriver
base class must be implemented in order
to provide the interfacing code, or wrapper. As part of this process, the required
JavaScript Object Notation (JSON) schema for the driver interface must
be provided in a file named configuration.json
. The interfacing code in the driver wrapper
is responsible for constructing and populating a QMolecule
instance with the electronic
structure data listed above. Driver wrappers implementing the BaseDriver
class and the
associated configuration.json
schema file are organized in subfolders of the drivers
folder
for automatic discovery and dynamic lookup. Consulting the existing driver interface
implementations may be helpful in accomplishing the task of extending .
The remainder of this section describes how to install and configure the drivers currently supported by Aqua Chemistry.
Gaussian™ 16¶
Gaussian™ 16 is a commercial program for computational chemistry. The corresponding driver wrapper in Aqua Chemistry accesses electronic structure information from Gaussian™ 16 via the Gaussian-supplied open-source interfacing code.
In the qiskit_aqua_chemistry/drivers/gaussiand/gauopen
folder of the
Aqua Chemistry GitHub repository,
the Python part of the above interfacing code, as needed by Aqua Chemistry,
has been made available. It is licensed under a
Gaussian Open-Source Public License.
Part of this interfacing code — specifically, the Fortran file qcmatrixio.F
— requires compilation to a Python native extension. However,
Aqua Chemistry comes with pre-built binaries for most common platforms. If there is no pre-built binary
matching your platform, then it will be necessary to compile this file as per the instructions below.
Compiling the Fortran Interfacing Code¶
If no prebuilt native extension binary, as supplied with Aqua Chemistry, works for your platform, then
to use the Gaussian™ 16 driver on your machine, the Fortran file qcmatrixio.F
must be compiled into object code that can
be used by Python. This is accomplished using the
Fortran to Python Interface Generator (F2PY),
which is part of the NumPy Python library.
Specifically, on your command prompt window, change directory to the qiskit_aqua_chemistry/drivers/gaussiand/gauopen
directory inside the Aqua Chemistry installation directory, and while in the Python environment
created for Aqua and Aqua Chemistry, invoke f2py
on qcmatrixio.F
as explained below.
Apple macOS and Linux¶
The full syntax of the f2py
command on macOS and Linux is as follows:
f2py -c -m qcmatrixio qcmatrixio.F
This command will generate a file with name prefix qcmatrixio
and extension so
, for example
qcmatrixio.cpython-36m-x86_64-linux-gnu.so
.
In order for the command above to work and such file to be generated, you will need a supported Fortran compiler installed.
On macOS, you may have to download the GNU Compiler Collection (GCC)
and, in particular, the GFortran Compiler source and compile it first
if you do not a suitable Fortran compiler installed
On Linux you may be able to download and install a supported Fortran compiler via your distribution’s installer.
Special Notes for macOS X
If your account is using the bash shell on a macOS X machine, you can edit the .bash_profile
file
in your home directory and add the following lines:
export GAUSS_SCRDIR=~/.gaussian
export g16root=/Applications
alias enable_gaussian='. $g16root/g16/bsd/g16.profile'
The above assumes that the application Gaussian™ 16 was placed in the /Applications
folder and that
~/.gaussian
is the full path to
the selected scratch folder, where Gaussian™ 16 stores its temporary files.
Now, before Aqua Chemistry can properly interface Gaussian™ 16, you will have to run the enable_gaussian
command
defined above. This, however, may generate the following error:
bash: ulimit: open files: cannot modify limit: Invalid argument
While this error is not harmful, you might want to suppress it, which can be done by entering the following sequence of commands on the command line:
echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.conf
echo kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.conf
sudo sysctl -w kern.maxfiles=65536
sudo sysctl -w kern.maxfilesperproc=65536
ulimit -n 65536 65536
as well as finally adding the following line to the .bash_profile
file in your account’s home directory:
ulimit -n 65536 65536
At the end of this configuration, the .bash_profile
in your account’s home directory should have a section in it
like in the following script snippet:
# Gaussian 16
export GAUSS_SCRDIR=~/.gaussian
export g16root=/Applications
alias enable_gaussian='. $g16root/g16/bsd/g16.profile'
ulimit -n 65536 65536
Microsoft Windows¶
The following steps can be used with the Intel Fortran compiler on the Microsoft Windows platform:
Set up the environment by adding the following line to
ifortvars.bat
:ifortvars -arch intel64
Issue the following command from within the
gauopen
directory:f2py -c --fcompiler=intelvem -m qcmatrixio qcmatrixio.F
Upon successful execution, the
f2py
command above will generate a file with name prefixqcmatrixio
and extensionso
, for exampleqcmatrixio.cp36-win_amd64.pyd
. However, in order for thef2py
command above to work,#ifdef
may need to be manually edited if it is not recognized or supported during the processing of thef2py
command above. For example, withf2py
from Intel Visual Fortran Compiler with Microsoft Visual Studio, the following code snippet originally shows two occurrences of the lineParameter (Len12D=8,Len4D=8)
, as shown next:#ifdef USE_I8 Parameter (Len12D=8,Len4D=8) #else Parameter (Len12D=4,Len4D=4) #endif
This may need to be simplified by deleting the first three lines and the last line, leaving just the fourth line, as follows:
Parameter (Len12D=4,Len4D=4)
Verifying Path and Environment Setup¶
You should also make sure the Gaussian™ 16 g16
executable can be run from a command line.
This requires verifying that the g16
executable is reachable via the system environment path, and appropriate
exports, such as GAUSS_EXEDIR
, have been configured as per
Gaussian installation instructions.
Input File Example¶
To use Gaussian™ 16 to configure a molecule on which to do a chemistry experiment with Aqua Chemistry,
set the name
field in the driver
section of the Input File to GAUSSIAN
and
then create a gaussian
section in the input file as per the example below,
which shows the configuration of a molecule of
hydrogen, \(H_2\). Here, the molecule, basis set and other options are specified according
to the Gaussian™ 16 control file, so the syntax specified by Gaussian™ 16 should be followed:
&gaussian
# rhf/sto-3g scf(conventional)
h2 molecule
0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.74
&end
Experienced chemists who already have existing Gaussian™ 16 control files can simply paste the contents of those files
into the gaussian
section of the input file. This configuration can also be easily achieved using the
Aqua Chemistry GUI.
PSI4¶
PSI4 is an open-source program for computational chemistry.
In order for Aqua Chemistry to interface PSI4, accept PSI4 input files and execute PSI4 to extract
the electronic structure information necessary for the computation of the input to the quantum algorithm,
PSI4 must be installed and discoverable on the system where
Aqua Chemistry is also installed.
Therefore, once PSI4 has been installed, the psi4
executable must be reachable via the system environment path.
For example, on macOS, this can be achieved by adding the following section to the .bash_profile
file in the
user’s home directory:
# PSI4
alias enable_psi4='export PATH=/Users/username/psi4conda/bin:$PATH'
where username
should be replaced with the user’s account name.
In order for Aqua Chemistry to discover PSI4 at run time, it is then necessary to execute the enable_psi4
command
before launching Aqua Chemistry.
To use PSI4 to configure a molecule on which to do a chemistry experiment with Aqua Chemistry,
set the name
field in the driver
section of the Input File to PSI4
and
then create a psi4
section in the input file as per the example below, which shows the configuration of a molecule of
hydrogen, \(H_2\). Here, the molecule, basis set and other options are specified according
to the PSI4 control file, so the syntax specified by PSI4 should be followed:
&psi4
molecule h2 {
0 1
H 0.0 0.0 0.0
H 0.0 0.0 0.74
}
set {
basis sto-3g
scf_type pk
}
&end
Experienced chemists who already have existing PSI4 control files can simply paste the contents of those files
into the psi4
section of the input file. This configuration can also be easily achieved using the
Aqua Chemistry GUI.
PySCF¶
PySCF is an open-source library for computational chemistry. In order for Aqua Chemistry to interface PySCF, accept PySCF input files and execute PySCF to extract the electronic structure information necessary for the computation of the input to the quantum algorithm, PySCF must be installed. According to the installation instructions, the preferred installation method for PySCF is via the pip package management system. Doing so while in the Python virtual environment where Aqua Chemistry is also installed will automatically make PySCF dynamically discoverable by Aqua Chemistry at run time.
To use PySCF to configure a molecule on which to do a chemistry experiment with Aqua Chemistry,
set the name
field in the driver
section of the Input File to PYSCF
and
then create a pyscf
section in the input file as per the example below, which shows the configuration of a molecule of
hydrogen, \(H_2\). Here, the molecule, basis set and other options are specified as key/value pairs, according
to the syntax expected by PySCF. In PySCF, these arguments can be passed to the pyscf.gto.Mole
class
&pyscf
atom=H .0 .0 .0; H .0 .0 0.74
unit=Angstrom
charge=0
spin=0
basis=sto3g
&end
Experienced chemists who already have existing PySCF control files can simply paste the contents of those files
into the pyscf
section of the input file. This configuration can also be easily achieved using the
Aqua Chemistry GUI.
PyQuante¶
PyQuante is an open-source library for computational chemistry. Aqua Chemistry specifically requires PyQuante V2, also known as PyQuante2. In order for Aqua Chemistry to interface PyQuante, accept PyQuante input files and execute PyQuante to extract the electronic structure information necessary for the computation of the input to the quantum algorithm, PyQuante2 must be installed and discoverable on the system where Aqua Chemistry is also installed. Installing PyQuante2 according to the installation instructions while in the Python virtual environment where Aqua Chemistry has also been installed will automatically make PyQuante2 dynamically discovered by Aqua Chemistry at run time.
The Aqua Chemistry PyQuante2 driver wrapper contains two methods, in transform.py
, taken from from
Pyquante V1, which is licensed
under a modified BSD license.
Note
Like all the other drivers currently interfaced by Aqua Chemistry, PyQuante2 provides enough intermediate data for Aqua Chemistry to compute a molecule’s ground state molecular energy. However, unlike the other drivers, the data computed by PyQuante is not sufficient for Aqua Chemistry to compute a molecule’s dipole moment. Therefore, PyQuante is currently the only driver interfaced by Aqua Chemistry that does not allow for the computation of a molecule’s dipole moment.
To use PyQuante to configure a molecule on which to do a chemistry experiment with Aqua Chemistry,
set the name
field in the driver
section of the Input File to PYQUANTE
and
then create a pyquante
section in the input file as per the example below, which shows the configuration of a molecule of
hydrogen, \(H_2\). Here, the molecule, basis set and other options are specified according
to the PyQuante control file, so the syntax specified by PyQuante should be followed.
Specifically, a molecule is configured as a list of atoms. Each atom’s chemical symbol is followed by the atom’s \(x, y, z\)
geometrical coordinates separated by a blank space. Atom configurations are separated by semicolons.
&pyquante
atoms=H .0 .0 .0; H .0 .0 0.74
units=Angstrom
charge=0
multiplicity=1
basis=sto3g
&end
Experienced chemists who already have existing PyQuante control files can simply paste the contents of those files
into the pyquante
section of the input file. This configuration can also be easily achieved using the
Aqua Chemistry GUI.
HDF5¶
Aqua Chemistry uses a molecular input file written on top of one of the classical computational software drivers that it interfaces. Aqua Chemistry executes a driver classically, only to the extent necessary to compute some intermediate data which, combined with the molecular configuration, can later be used to form the input to one of the Aqua Quantum Algorithms.
As mentioned above, the intermediate data extracted from the classical computational software consists of the following:
- One- and two-body integrals in Molecular Orbital (MO) basis
- Dipole integrals
- Molecular orbital coefficients
- Hartree-Fock energy
- Nuclear repulsion energy
Once extracted, the structure of this intermediate data is independent of the classical driver that was used to compute it. However, the level of accuracy of such data does depend on the computational chemistry software; more elaborate software packages are more likely to produce more accurate data.
Aqua Chemistry offers the option to serialize this data in a binary format known as Hierarchical Data Format 5 (HDF5). This is done for future reuse and exchange of input data among researchers who may not have a particular computational chemistry driver installed on their computers, or may have a different version of that driver. HDF5 is configured as a prebuilt driver in Aqua because it allows for chemistry input to be passed into the computation. In fact, HDF5 is the only driver that does not require any installation other the installation of Aqua Chemistry itself.
Generation of an HDF5 Input File¶
The most intuitive way to generate an HDF5 input file is by using the Aqua Chemistry
GUI.
Through the GUI, you can load an existing Input File from the chemistry
folder
of the Aqua Tutorials GitHub repository
(which must have been installed on your file system via a git clone
command)
by selecting Open… from the File menu. Alternatively, you can create and then potentially customize
a brand new Input File by choosing New from the File menu.
Once you have configured the chemistry experiment in one of the existing classical drivers
(Gaussian™ 16, PSI4, PySCF or PyQuante),
you can specify the name of the file where you want the HDF5 file to be serialized. This can be done
by assigning a value to the hdf5_output
field of the driver
section.
Upon completing its execution, Aqua Chemistry displays the following message:
HDF5 file saved '/Users/username/Documents/temp/molecule.hdf5'
assuming that molecule.hdf5
and /Users/username/Documents/temp
are the file name
and directory path you chose, respectively.
Using the GUI is the most intuitive option to generate the HDF5 file corresponding to a given experiment. The
same result can be obtained by assigning a value to the hdf5_output
field of the driver
section of
an Input File and then invoking the Aqua Chemistry
Command Line tool with the name of that file as the input parameter.
If you later want the HDF5 file to be deserialized and its contents used as the input for a chemistry experiment,
you can select HDF5
as the driver in an Input File. Doing so will
require the hdf5
section in the input file to be configured by assigning a valid fully qualified
file name to the hdf5_input
field, as shown:
&hdf5
hdf5_input=molecule.hdf5
&end


move your mouse around and explore this pixelated experiment for Digital Design Days 2017 / OFFF Milano
If you want to customize your experience open the control panel in the top right corner and play around with the settings you find there.


Colour of the Background:
Here the colour of the background of the entire plot field can be changed.


{%- capture nn -%} {%- include nicename.html kind=include.kind slug=include.slug -%} {%- endcapture -%} {{- include.title | replace: ':nicename', nn -}}


rc
Find out more ...
Try us.
Join today
Push your fitness further with our mix of facilities and we'll support you with advice on new and better way to train


brick-layout
A Brick layout component.
Demo
Usage
Import Web Components polyfill:

Import Custom Element:
<link rel="import" href="src/brick-layout.html">
Start using it:
<brick-layout></brick-layout>
See Examples for detailed examples.
Options
Attributes on <brick-layout>
| Attribute | Type | Description |
|---|---|---|
horizontal |
boolean | Use a horizontal layout instead of the default vertical layout. |
open |
boolean | Open child drawer elements. |
Attributes on direct child-elements
| Attribute | Type | Description |
|---|---|---|
flex |
boolean | Set flex: 1 for this element. |
drawer |
boolean | Use this element as a drawer. Drawers can he hidden and shown by setting the show attribute on the parent <brick-layout> . |
Attributes on descendent elements
| Attribute | Type | Description |
|---|---|---|
hide |
boolean | Hide this element. |
Attributes and page widths
All mentioned attributes except open
can be set to only apply on certain page widths:
| Attribute | < 768px (xs) | ≥ 768px (s) | ≥ 992px (m) | ≥ 1200px (l) |
|---|---|---|---|---|
attribute |
yes | yes | yes | yes |
attribute-xs |
yes | no | no | no |
attribute-s |
no | yes | no | no |
attribute-m |
no | no | yes | no |
attribute-l |
no | no | no | yes |
attribute-lt-s |
yes | no | no | no |
attribute-lt-m |
yes | yes | no | no |
attribute-lt-l |
yes | yes | yes | no |
attribute-gt-xs |
no | yes | yes | yes |
attribute-gt-s |
no | no | yes | yes |
attribute-gt-m |
no | no | no | yes |
Example:
The attribute hide-gt-xs
hides an element when the page-width is greater than 768px.
Methods
| Method | Description |
|---|---|
toggleDrawer() |
Toggle the drawer state. |
openDrawer() |
Open the drawer. |
closeDrawer() |
Close the drawer. |
Examples
Basic Examples
Simple
Description
- Headerbar on the top of the page.
- Below the Header:
- Menu on the left side, taking up as much space as the menu items need.
- Content taking up the rest of the space.
Code
We start with the outmost brick-layout
to split the page vertically into the Header and the rest below it. We insert a header
and a div
.
To make the header take up as much space as it needs and the rest below we put the attribute flex
on the div below the header
.
<brick-layout>

Brick-Layout Basic Examples: Simple

</brick-layout>
To add the menu and the content horizontally positioned next to each other, we replace the div
with another brick-layout
this time with the attribute horizontal
. Inside we add a div
for the menu and one for the content. We also add the attribute flex
to the content-div.
<brick-layout>

Brick-Layout Basic Examples: Simple

<brick-layout horizontal flex>

Menu Item 1

Menu Item 2

Menu Item 3

Content goes here.

</brick-layout>
</brick-layout>
To make it all work we need some css. We do not want to have a padding
and margin
outside of our layout and we want our layout to be able fill the whole page, so we add the following css to the html and body.
html, body {
padding: 0;
margin: 0;
height: 100%;
}
To visualize the layout we add some borders:
header {
border-bottom: 1px solid #ccc;
}
#menu {
border-right: 1px solid #ccc;
}
Columns
Description
- Split the page equally into 4 columns
Code
<brick-layout horizontal>

1

2

3

4

</brick-layout>
html, body {
padding: 0;
margin: 0;
height: 100%;
}
.column {
border-left: 1px solid #ccc;
text-align: center;
}
.columns:first-of-type {
border: none;
}
Responsive Examples
Drawer
Description
- Headerbar on the top of the page.
- Below the Header:
- Menu on the left side, turns into a drawer when the page-width is below 768px.
- Menu-Button to control the Menu when the page-width is below 768px.
- Content taking up the rest of the space.
Code
<brick-layout>

<brick-action target="main" action="toggleDrawer">
<button hide-gt-xs>M</button>
</brick-action>
Brick Layout Example: Simple responsive Drawer

<brick-layout horizontal id="main" flex>
<brick-menu id="menu" drawer-lt-s>
<brick-menu-item selected>Menu Item 1</brick-menu-item>
<brick-menu-item>Menu Item 2</brick-menu-item>
<brick-menu-item>Menu Item 3</brick-menu-item>
</brick-menu>

article

</brick-layout>
</brick-layout>
html, body {
padding: 0;
margin: 0;
height: 100%;
}
#header {
border-bottom: 1px solid #ccc;
padding: 12px 9px 9px 9px;
}
#menu {
border-right: 1px solid #ccc;
padding: 9px;
background: white;
}
#menu brick-menu-item {
padding: 3px 0;
}
#menu brick-menu-item[selected] {
font-weight: bold;
}
#article {
padding: 9px;
}
Tabs
- Headerbar on the top of the page.
- Below the Header:
- Menu on the left side, turns into a tabbar at the bottom of the page when the page-width is below 768px.
- Content taking up the rest of the space.
Description
Code
<brick-layout>

Brick Layout Example: Responsive Tabs

<brick-layout horizontal-gt-xs flex>
<brick-menu id="menu" horizontal-lt-s>
<brick-action selected target="card1" action="reveal">
Menu Item 1
</brick-action>
<brick-action target="card2" action="reveal">
Menu Item 2
</brick-action>
<brick-action target="card3" action="reveal">
Menu Item 3
</brick-action>
</brick-menu>
<brick-deck id="content" flex selected-index="0">
<brick-card id="card1" selected>1</brick-card>
<brick-card id="card2">2</brick-card>
<brick-card id="card3">3</brick-card>
</brick-deck>
</brick-layout>
</brick-layout>
html, body {
padding: 0;
margin: 0;
height: 100%;
box-sizing: border-box;
}
#header {
border-bottom: 1px solid #ccc;
padding: 12px 9px 9px 9px;
}
#menu {
border-right: 1px solid #ccc;
background: white;
}
#menu > * {
padding: 9px;
width: 100%;
}
#menu [selected] {
font-weight: bold;
}
brick-card {
padding: 9px;
font-size: 6em;
text-align: center;
}
@media (max-width: 768px) {
#content {
order: 1;
}
#menu {
border: none;
border-top: 1px solid #ccc;
order: 2;
}
#menu > * {
border-left: 1px solid #ccc;
}
#menu > *:first-child {
border-left: none;
}
}
Development
Brick components use Stylus to generate their CSS.
This repository comes outfitted with a set of tools to ease the development process.
To get started:
-
$ npm install -g bower gulp
Install local dependencies:
$ npm install && bower install
While developing your component, there is a development server that will watch your files for changes and automatically re-build your styles and re-lint your code.
To run the development server:
- Run
gulp server
- Navigate to
http://localhost:3001
To simply build and lint your code, run gulp build
.
You can also push your code to GitHub Pages by running gulp deploy
.


(Gradle 4.9+) Detects usage of API that interacts with tasks eagerly.
Eager interaction with tasks implies some inconveniences:
Eventually, the eager API will be deprecated in favor of the lazy one.
For a migration guide, see the Gradle documentation.
Example:
task foo { // reports 'task', suggests replacing it with 'task.register'
// ...
}


Enter current balance in dollar amounts as a decimal number in the text field.
Optionally, if purchasing with cash from a manned ticket booth, uncheck the Vending machine box.
The table with the refill amounts will update when the typing of the
entry in the balance field is completed.
The entry can be completed by clicking or touching outside the balance field (such as on the table) or
typing a Tab or an Enter key in it.
Table will also update on any click or touch on the Vending machine checkbox option.
The refill amounts are displayed in a table. Total Rides shows the number of rides available for a standard subway ticket. The remaining columns show the amount to be added, the total amount on the card, and the amount leftover after the total number of rides are used up.
The table heading row will blink to indicate that the table data has been updated and refreshed.
The first row in the table shows the number of rides based on the current balance on the card.
This calculator is useful for tourists who want to buy a Per-Per-Ride card. It shows amount to add to receive a certain number of rides. It also shows left-over amounts if the card started off with a balance.
Vending machines only allow for purchase amounts that are rounded to nickels ($0.05). Manned ticket booths may accept single cent cash amounts.
There may be minimum and maximum purchases. For example, $1 to $100 may be limits for actual purchases.
There is a $1 charge for purchasing a new MetroCard.
When purchasing 3 or more additional rides, this calculator will minimize the leftover to be no more than a nickel.
MetroCard® is a registered trademark of the New York Metropolitan Transportation Authority.
Wikipedia entry - NYC MetroCard
The offline New York Subway Card Refill Calculator application is available in the Google Play Store.
Note that the offline app is not updated on a regular basis. When possible, use the
online web page below which is updated more often and will include any recent MTA rate changes.
Online NYC MetroCard Refill Calculator at ACZoom.com
The source code is also available online.
The web pages were built using HTML5 and JavaScript libraries including jQuery and KNACSS.


{% extends 'home/defaultBasePage.html' %} {% block meta_title %}Password Change{% endblock %} {% block page_content %}
Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly.
Your old password was entered incorrectly. Please enter it again.


ABOUT
Start provides users with what matters most to them when they wake up their phone. Start is a customizable Android that helps device manufacturers, mobile operators and media companies to engage with their users, gain new insights and differentiate themselves while providing higher value to their users
LEADERSHIP TEAM
Management
BOARD OF DIRECTORS
MAKE A DIFFERENCE WITH A CELLTICK CAREER
Are you looking to change the way hundreds of millions of people use their mobile device? Are you looking to work for an innovative company that provides value to consumers all around the world?
JOIN US
LIFE AT
Start provides users with what matters most to them when they wake up their phone. Start is a customizable Android that helps device manufacturers, mobile operators and media companies to engage with their users, gain new insights and differentiate themselves while providing higher value to their usersCORPORATE
SOCIAL RESPONSIBILITY
Start provides users with what matters most to them when they wake up their phone. Start is a customizable Android that helps device manufacturers, mobile operators and media companies to engage with their users, gain new insights and differentiate themselves while providing higher value to their users
MASS ALERT SYSTEM
Mass Alert Solutions (MAS) is based on Cell
Mass Alert Solutions (MAS) is based on Cell
CONTACT US


The online playground for global sellers and buyers
{{buttonsData[currentApp].subtitle}}
{{buttonsData[bridgeApp].subtitle}}


404 Not Found
Looks like the page you are trying to visit does not exist.
Please check the URL and Try again.


Survey Form
This survey is designed to understand the publics' impacts on environmental issues.
Name:
Email:
Number:
Which of the following actions do you perform to help the environment weekly?
Recycling
Participating in a environmental cleaning association
Composting
Carpooling
Riding your bike or walking instead of using car
Using compact fluorescent light bulbs
How often do you turn off the water while you brush your teeth?
Always
Sometimes
Never
What type of car do you drive?
Electric
Hybrid
Diesel
Gas
None
Comments or Concerns?


gallery.png
It's done. We are proud to present you the new BBLog Emblem Gallery, directly integrated into Battlelog.
Create stunning emblems and upload it to the gallery, with just one click and no code.
We worked hard in the past weeks to get it done and now we can give this new feature in your hands.


Note: The Navigation Timing plugin hasn't been tested. Your help in testing it is appreciated.
The Navigation Timing plugin collects metrics collected by modern user agents that support the
W3C Navigation Timing specification. The Navigation
Timing API is encapsulated within the BOOMR.plugins.NavigationTiming
namespace.
Note that the Navigation Timing plugin isn't included by default in boomerang.js. See Howto #9 for details on how to include the plugin in your boomerang deployment.
Called by the BOOMR.init() method to configure the Navigation Timing
plugin. The Navigation Timing plugin doesn't require any configuration parameters, since it simply
reads values out of the browser's window.performance
object (if available) and adds them to the
beacon query string.
a reference to the BOOMR.plugins.NavigationTiming
object, so you can chain methods.
If the user agent being examined doesn't implement the Navigation Timing spec, the plugin won't add any parameters to the beacon.
Called by BOOMR.sendBeacon() to determine if the Navigation Timing plugin has finished what it's doing or not.
true
if the plugin has completed.false
if the plugin has not completed.The NavigationTiming plugin adds the following parameters to the beacon. Each maps onto a attribute from the browser's NavigationTiming API.
| Beacon parameter | NavigationTiming attribute |
|---|---|
nt_red_cnt | window.performance.navigation.redirectCount |
nt_nav_type | window.performance.navigation.type |
nt_nav_st | window.performance.timing.navigationStart |
nt_red_st | window.performance.timing.redirectStart |
nt_red_end | window.performance.timing.redirectEnd |
nt_fet_st | window.performance.timing.fetchStart |
nt_dns_st | window.performance.timing.domainLookupStart |
nt_dns_end | window.performance.timing.domainLookupEnd |
nt_con_st | window.performance.timing.connectStart |
nt_con_end | window.performance.timing.connectEnd |
nt_req_st | window.performance.timing.requestStart |
nt_res_st | window.performance.timing.responseStart |
nt_res_end | window.performance.timing.responseEnd |
nt_domloading | window.performance.timing.domLoading |
nt_domint | window.performance.timing.domInteractive |
nt_domcontloaded_st | window.performance.timing.domContentLoadedEventStart |
nt_domcontloaded_end | window.performance.timing.domContentLoadedEventEnd |
nt_domcomp | window.performance.timing.domComplete |
nt_load_st | window.performance.timing.loadEventStart |
nt_load_end | window.performance.timing.loadEventEnd |
nt_unload_st | window.performance.timing.unloadEventStart |
nt_unload_end | window.performance.timing.unloadEventEnd |
nt_ssl_st | [optional] window.performance.secureConnectionStart |
nt_spdy | [optional] 1 if page was loaded over SPDY, 0 otherwise |
nt_first_paint | [optional] The time when the first paint happened. On Internet Explorer, this is milliseconds since the epoch, while on Chrome this is seconds.microseconds since the epoch. If you detect a decimal point in this number, multiply it by 1000 to compare it to the other timers. |
The latest code and docs is available on github.com/SOASTA/boomerang


Scheduling round
Scheduled games
on {{round.date}}
Cancel
Scheduled games
{% if games.len() != 0 %}
Black
White
Handicap
Result
Action {% for game in games %}
{{game.black.name}}
{{game.black.rating.rank()}}
{{game.white.name}}
{{game.white.rating.rank()}}
{{game.handicap}}
{{game.result}}
--
{% if game.result.0.is_some() %}
Delete game
Clear result
{% else %}
Unpair
{% endif %}
Black wins
White wins
Jigo
White forfeits
Black forfeits
Both forfeit
{% endfor %}
{% else %}
No games.
{% endif %}
Unpaired players
{% if presences.len() != 0 %}
Player
Pair {% for presence in presences %}
{{presence.player.name}}
{{presence.player.rating.rank()}}
{% endfor %}
{% else %} {% if is_past %}
Pairing is not useful for a round in the past.
{% else %}
All present players paired.
{% endif %} {% endif %}
Custom game
Black
White
Handicap
Result
-- Select player for black --
{% for player in all_players %}
{{ player.name }} ({{ player.rating.rank() }})
{% endfor %}
-- Select player for white --
{% for player in all_players %}
{{ player.name }} ({{ player.rating.rank() }})
{% endfor %}
Not known yet
Black wins
White wins
Jigo
White forfeits
Black forfeits
Both forfeit
Round properties
Description
Show as disabled
Cancel
{{ self.prog_name() }} {{ self.version() }}


Please sign in
The name is required.
We need a name with 2 chars or more.
Passwords must have at least 2 chars.
The password is required.
Remember Me
Register


Developing business-oriented Android apps since 2016. Also, passionate about education, love explaining complex stuff in a simple way
Leading dev team of 6 people
POS app for Desktop and Android with Kotlin Multiplatform using Jetpack Compose
Responsible for the market module of Jusan Bank’s superapp
Rebuilding kino.kz so users could buy movie tickets
Message passing between WebViews and native code (Injecting Javascript)
Development of Bank's main product - mobile app for jurisdical persons. Best digital bank of 2019 award.
Products built:
Oyan - book reading app with built-in dictionary, has 100 000+
downloads.
ERAP - tablet app for Kazakhstan's police officers. Optimizes procedure of
registering fines. Currently, app is used by government.
BI Group - personal app for residents of housing complex built by BI Group (The Largest
construction company in Kazakhstan).
Azamat - digital QR-code copy of essential documents for Kazakhstani citizens. QRs
can be scanned and verified by governmental institutions when needed
nFactorial Incubator is the educational non-profit project by Zero To One Labs held every summer during university holidays. Mission is to transform computer science students into industry ready specialists in 3 months. I gave a lecture for a month about android development, then mentored when they were building their own app for 2 months. We had 60+ students, 40+ apps for android only.
Was responsible for students staying at dormitory. Also experienced teaching basics of programming in Java
GPA 3.55
GPA 4.0
Apart from being a mobile developer, I enjoy most of my time being outdoors. I enjoy mountain hiking every season of the year with my spouse
When forced indoors, I follow a number of sci-fi and fantasy genre movies and television shows.  Naturally, I try not to miss advancements in the mobile development world.
Also I love writing about IT stuff in my telegram channel


MimeKit is a C# MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF, and Unix mbox spools.


PART 7. MISCELLANEOUS PROVISIONS
§490:7-701 Applicability. This article applies to a document of title that is issued or a bailment that arises on or after July 2, 2004. This article does not apply to a document of title that is issued or a bailment that arises before July 2, 2004 even if the document of title or bailment would be subject to this article if the document of title had been issued or bailment had arisen on or after July 2, 2004. This article does not apply to a right of action that has accrued before July 2, 2004. [L 2004, c 163, pt of §1]
Revision Note
"July 2, 2004" substituted for "the effective date of this article".


Technical Blog
Where You Get To SEE My Thoughts
1.4.16
Version Control has many benefits: never lose code, ability to revert back to older code, work on multiple versions of product, compare code, prove that one works or one is broken, track team's work and time completed each file.
Git tracks these changes on multiple branches within GitHub and in the git log.
GitHub is free as long as code is public. Most websites a user can view the code by the inspect function to see the content so having it public is not a big deal. GitHub is also the most popular VC on the market.


Promising Nottingham Forest youngster attracting 'concrete interest' ahead of January transfer window
Midfielder Jake Taylor is on loan at League Two Port Vale but that deal is set to run out next month
by Sarah ClapsonPromising Nottingham Forest youngster Jake Taylor is attracting plenty of interest ahead of the January transfer window, according to his representative.
The 21-year-old midfielder is currently on loan at Port Vale, with that deal set to run out next month.
The League Two side have made it clear they would like to extend his stay, but it seems they could face some competition - including from higher up the football pyramid.
Taylor’s representative, Phil Sproson, has told Stoke-on-Trent Live there is interest from other League Two clubs, as well as from some in League One.
“There has been concrete interest from League Two sides when Jake’s loan is up,” he said.
“But I am also aware of League One interest regarding his loan.
Nottingham Forest latest
This is your round up of all things Forest; the one-stop shop that will keep you updated on the latest goings on at the City Ground and beyond.
Transfers, injuries, match-days and managers, we’ve got you covered.
We’ll be bringing the very latest on the Reds throughout the week and around the clock.
Make sure you keep yourself updated with our handy daily catch up...
Must reads...
- Forest and Premier League trio eye move for prolific striker - reports
- Forest's final Championship outcome predicted as rivals tipped for promotion
- 'A name that slams you' - Francois Modesto's pride at Forest role and looking for players
- Assombalonga hands Boro major blow ahead of Forest reunion
For all your latest NFFC news, opinion, analysis and transfer gossip, click here
You can follow our Reds reporter Sarah Clapson on Twitter, and her email address is<EMAIL_ADDRESS>“I recommended him to John Askey, and John pursued that.
“Anyone who has scored six in a short spell, and could have had more, will attract considerable attention.”
Taylor has six goals in 20 appearances for Vale in all competitions so far this season.
The report adds: “Vale, who could try to keep Taylor on an extended loan or a permanent deal, would hope to be in pole position if rival offers are all from League Two clubs.
“But if a League One club makes a bid, both Forest and the player would have to weigh up playing regularly in John Askey's side against the possibility if playing at a higher level.”


pypospack package¶
Subpackages¶
I need to organize this page but I’m just trying to get rid of errors at this point
Submodules¶
pypospack.base module¶
This module provides the base classes for pyflamestk.
-
class
pypospack.base.
Atom
(symbol, position, magmom=0)[source]¶ Bases:
object
description of an atom
-
magnetic_moment
¶ the magnetic moment of the atom.
- Type
float
-
position
¶ the position of the atom.
- Type
list of float
-
symbol
¶ the standard ISO symbol for an element
- Type
str
-
-
class
pypospack.base.
CrystalStructure
(obj=None)[source]¶ Bases:
object
A structural representation of a material system
Note
The position of the atom must be the same as the basis vectors defined by the H-matrix.
-
a0
¶ the lattice parameter of this structure
- Type
float
-
a1
¶ the length of h1 lattice vector
- Type
float
-
a2
¶ the length of the h2 lattice vector
- Type
float
-
a3
¶ the length of the h3 lattice vector
- Type
float
-
add_atom
(symbol, position)[source]¶ add an atom to the structure
Checks to see if an existing atom exists at the position we are trying to add an atom, then if the position is empty. The atom is added then added to the list of interstitials.
- Parameters
symbol (str) – the symbol of the atom to be added
position (str) – the position of the atom to be added
- Raises
ValueError – If an atom already exists in the position.
-
atoms
¶ a list of the atoms in the structure
- Type
list of pyflamestk.base.Atom
-
b1
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
b2
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
b3
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
h1
¶ this is a 3x1 numpy array
- Type
numpy.array
-
h2
¶ this is a 3x1 numpy array
- Type
numpy.array
-
h3
¶ this is a 3x1 numpy array
- Type
numpy.array
-
h_matrix
¶ this is a 3x3 numpy array
- Type
numpy.array
-
interstitials
¶
-
lattice_parameter
¶ the length of the lattice parameter, usually in Angstroms.
- Type
float
-
n_atoms
¶ the number of atoms in the structure
- Type
float
-
remove_atom
(symbol, position)[source]¶ remove an atom from the structure
This method checks for atom at the position, if an atom exists. It is removed from the structure then the position is recorded as a vacancy.
- Parameters
symbol (str) – the symbol of the atom
position (list of float) – the position of the atom
-
structure_comment
¶ a comment about the structure
- Type
str
-
symbols
¶ a list of the symbols in the structure
- Type
list of str
-
vacancies
¶ a list of vacancies in the structure
- Type
list of pyflamestk.base.Atom
-
-
class
pypospack.base.
Simulation
[source]¶ Bases:
object
an abstract class for simulations
not currently using this yet
-
pypospack.base.
make_super_cell
(structure, sc)[source]¶ makes a supercell from a given cell
- Parameters
structure (pyflamestk.base.Structure) – the base structure from which the supercell will be made from.
sc (list of int) – the number of repeat units in the h1, h2, and h3 directions
-
pypospack.base.
tail
(fname, n_lines, offset=None)[source]¶ replicates the tail command from unix like operations systems
- Parameters
fname (str) – filename
n_lines (int) – the number of lines
Note
this is dependent upon the tail command in the unx operating system this should actually be rewritten as to be OS agnostic.
pypospack.crystal module¶
Crystallographic classes and methods for pypospack.
This module represents simulation cells are crystallographic representions and classes and methods to support this represention.
-
pypospack.crystal.
iso_chemical_symbols
¶ list of chemical symbols
- Type
list
-
pypospack.crystal.
atom_info
¶ dictionary of chemical symbols, and a dictionary of their values
- Type
dict
-
class
pypospack.crystal.
Atom
(symbol, position, magmom=0)[source]¶ Bases:
object
description of an atom
This position is a data structure which contains information about an individual atom
- Parameters
symbol (str) – the standard ISO symbol for an element
position (list of float) – the position of the atom the units are dependent upon use.
magmom (float) – the magnetic moment of the atom.
-
symbol
¶ the standard ISO symbol for an element
- Type
str
-
position
¶ the position of the atom, usually in direct coordinates
- Type
numpy.ndarray
-
magentic_moment
¶ the magnetic moment of the atom
- Type
float
-
class
pypospack.crystal.
RadialDistributionFunction
[source]¶ Bases:
object
-
pairCorrelationFunction_3D
(y, z, S, rMax, dr)[source]¶ Compute the three-dimensioanl pair correlation function
Compute the three-dimensional pair correlation function for a set of spherical particles contained in a cube with side length S. This simple function finds reference particles such that a sphere of radius rMax drawn around the particle will fit entirely within the cube, eliminating the need to compensate for edge effects. If no such particles exist, an error is returned. Try a smaller rMax…or write some code to handle edge effects! ;)
- Parameters
x (numpy.ndarray) – an array of x positions of centers of particles
y (numpy.ndarray) – an array of y positions of centers of particles
z (numpy.ndarray) – an array of z positions of centers of particles
S (list) – length of each side of the cube in space
rMax (float) – outer diameter of largest spherical shell
dr (float) – increment for increasing radius of spherical shell
- Returns
- first element is a numpy array containing the correlation
function g(r) radii. the second element is a numpy array containing the radii of the spherical shells used to compute g(r). the final element are the indices of the refence particles
- Return type
tuple
-
-
class
pypospack.crystal.
SimulationCell
(obj=None)[source]¶ Bases:
object
A structural representation of a material system
A structural system consists of a vector of lattice vector which forms the boundaries of the simulation cell, and an atomic basis of atoms defined in the direct coordinates of the lattice vectors.
- Parameters
obj (optional) – if this argument is set then the this constructor acts as a copy constructor. Will takse
ase.atoms.Atoms
and
-
comment
¶ a descriptive description of the crystal structure
- Type
str
-
atomic_basis
¶ a list of atoms contained within the crystal structure.
- Type
list
ofpypospack.crystallography.Atoms
-
a0
¶ a scaling factor which scales the lattice vectors by a0. Default is 1.
- Type
float
-
H
¶ a numpy array containing the lattice vectors as row vectors. Default is [[1,0,0],[0,1,0],[0,0,1]]
- Type
numpy.ndarray
-
ptol
¶ tolerance in which to find an atom/layer. Defaults to None.
- Type
float
,optional
-
vacancies
¶ a list of vacancy sites contained within the crystal structure.
- Type
list
ofpypospack.crystal.Atoms
-
interstitials
¶ a list of interstitial sites contained within the crystal structure.
- Type
list
ofpypospack.crystal.Atoms
-
a1
¶ the length of h1 lattice vector
- Type
float
-
a2
¶ the length of the h2 lattice vector
- Type
float
-
a3
¶ the length of the h3 lattice vector
- Type
float
-
add_atom
(symbol, position)[source]¶ add an atom to the structure
Checks to see if an existing atom exists at the position we are trying to add an atom, then if the position is empty. The atom is added then added to the list of interstitials.
- Parameters
symbol (str) – the symbol of the atom to be added
position (str) – the position of the atom to be added
- Raises
ValueError – If an atom already exists in the position.
-
add_interstitial
(symbol, position)[source]¶ add an interstitial to the atomic basis
- Parameters
symbol (str) – the symbol of the atom
position (
list
offloat
) – the position of the atom
-
add_vacancy
(symbol, position)[source]¶ create a vacancy
Creates a vacancy by removing an atom from the atomic basis
- Parameters
symbol (str) – the symbol of the atom
position (
list
offloat
) – the position of the atom
-
b1
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
b2
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
b3
¶ this is a 3x1 numpy array, in reciprocal space
- Type
numpy.array
-
check_if_atom_exists_at_position
(symbol, position)[source]¶ determines if there is an atom at a position
This code looks for atoms in the list of atoms in the atomic_basis.
- Returns
- The first element if true in an atom exists at the location,
False if it doesn’t exist. The second element is an int which indicates the index of the atom at that position. The index is negative if it is the list of interstitials.
- Return type
tuple
-
h1
¶ which is the a1 lattice vector
- Type
numpy.ndarray
-
h2
¶ which is the a2 lattice vector
- Type
numpy.array
-
h3
¶ this is the a3 lattice vector
- Type
numpy.array
-
n_atoms
¶ the number of atoms in the structure
- Type
float
-
remove_atom
(symbol, position)[source]¶ remove an atom from the structure
This method checks for atom at the position, if an atom exists. It is removed from the structure then the position is recorded as a vacancy.
- Parameters
symbol (str) – the symbol of the atom
position (
list
offloat
) – the position of the atom
-
symbols
¶ a list of the symbols in the structure
- Type
list of str
-
class
pypospack.crystal.
StructureDatabase
[source]¶ Bases:
object
structure database
-
filename
¶ file to read/write the yaml file
- Type
str
-
directory
¶ the directory of the structure database
- Type
str
-
structures
¶ key is structure name, value is another dict with key/value pairs for ‘filename’ and ‘filetype’
- Type
dict
-
check
()[source]¶ sanity checks for the fitting database
This method checks the fitting database for the following errors: (1) the structure database exists, (2) files for the structure database exist
- Returns
returns a string if there is a problem
- Return type
str
- Raises
ValueError – if there is a problem with the configuration
-
contains
(structure)[source]¶ check to see that the structure in the structure database
- Parameters
structure (str) –
- Returns
- True if structure is in structure database. False if the
structure is not in the structure database
- Return type
bool
-
-
pypospack.crystal.
cartesian2direct
(x, H)[source]¶ transforms cartesian coordinates to direct coordinates
- Parameters
x (numpy.ndarray) – the cartesian coordinates
H (numpy.ndarray) – the H matrix of lattice vectors
- Returns
the direct coordinate vector
- Return type
(numpy.ndarray)
pypospack.potential module¶
-
class
pypospack.potential.
PotentialInformation
[source]¶ Bases:
object
Read/Write Empirical Interatomic Potential Information
pypospack uses yaml files to store configuration information for required for optimization routines.
-
filename
¶ filename of the yaml file to read/write configuration file. Default is pypospack.potential.yaml’
- Type
str
-
elements
¶ list of string of chemical symbols
- Type
list
-
parameter_names
¶ list of parameter names
- Type
list
-
potential_type
¶ type of potential
- Type
str
-
param_info
¶ param info
- Type
dict
-
eam_pair_potential
¶ name of the functional form for the eam pair potential. Set by default to None.
- Type
str
-
eam_embedding_function
¶ name of the functional form the eam embedding function. Set by default to None.
- Type
str
-
eam_density_function
¶ name of the functional form of the eam electron desnsity function. Set by default to None.
- Type
str
-
check
()[source]¶ performs sanity checks to potential configuration
doe the following checks: 1. check to see if the potential type is supported.
- Raises
ValueError – if the potential type is unsupported
-
free_parameter_names
¶
-
pypospack.dft module¶
pypospack.dft
This is module for some functional utilies for DFT simulations
-
pypospack.dft.
determine_kpoint_meshes
(simulation_cell, rho_min=1, rho_max=10, d_rho=0.1, kpoint_min=3, kpoint_max=15)[source]¶ - Parameters
simulation_cell (pypospack.crystal.SimulationCell) – The simulation cell in which to determine the kpoint density. Any class which subclasses pypospack.crystal.SimulationCell is usable.
rho_min (float) – lowest linear kpoint density to start. Default is 1.
rho_max (float) – largest linear kpoint density to end. Default is 10.
d_rho (float) – the size of the step of the linear kpoint density. Default is 0.1
kpoint_min (int) – Minimum number of kpoints in a linear direction. Default is 3, which is appropriate for approximately cubic crystals.
kpoint_max – Maximum number of kpoints is a linear direction. Default is 15, which is appropriate for approximately cubic crystals.
-
pypospack.dft.
get_kpoint_mesh
(simulation_cell, linear_kpoint_density)[source]¶ This function determines what the kpoint mesh should be given a linear kpoint density. This is inspired from the kpoint generation methodology of VASP.
- Parameters
simulation_cell (pyflamestk.crystal.SimulationCell) –
linear_kpoint_density (str) –
pypospack.eam module¶
-
class
pypospack.eam.
EamFile2
[source]¶ Bases:
object
- Ref:
https://sites.google.com/a/ncsu.edu/cjobrien/tutorials-and-guides/eam http://www.ctcms.nist.gov/potentials/ http://lammps.sandia.gov/doc/pair_eam.html
-
Nr
¶
-
Nrho
¶
-
comments
¶
-
dens
¶
-
drho
¶
-
element_list
¶
-
embed
¶
-
filename
¶
-
pair
¶
-
rcut_global
¶
-
title
¶
-
class
pypospack.eam.
EamFileWriter
(title, elements, filename, Nrho, drho, Nr, dr)[source]¶ Bases:
object
pypospack.eamtools module¶
-
class
pypospack.eamtools.
EamSetflFile
[source]¶ Bases:
object
This class wites a setfl file.
There are three components to the EAM model: the embedding energy, the electron density, and interatomic pair potential. LAMMPS uses a very old format for reading/writing EAM files.
The potential functions are stored as they would be generated from their functional forms, in units eV. However, they are written to be compliant with the setfl format which requires the element to be stored as V(r)*r.
Both the electron density function and the potential energy has a physical requirement that V(r_cut) = 0 and rho(r_cut) = 0. The application of a cutoff function not implemented by this class, and it is responsibility of the code using this class to ensure this.
All units of measurement are in metal units. Distance being Angstroms, and energy being eV.
- Parameters
None –
-
comments
¶ The setfl file format has a three line comment section at the beginning of the file.
- Type
list of str
-
filename
¶ This is the filename to either read/write too.
- Type
str
-
symbols
¶ This is a list of symbols modelled by the Embedded Atom Model.
- Type
list of str
-
n_symbols
¶ This is the number of elements for the setfl file.
- Type
int
-
N_r
¶ The number of points sampled for the distance from the nuclei in the electron density function, or the distance between two atoms in pair potentials.
- Type
int
-
N_rho
¶ The number of points where the electron density is sampled.
- Type
int
-
d_r
¶ Distance between the point where the potential functions and the electron density function are evaluated.
- Type
float
-
d_rho
¶ Distance between the points where the delectron density is sampled.
- Type
float
-
r
¶ This is a :numpy.ndarray: array of possible evaluations from d_r to r_max with N_r intervals. It does not include r = 0.
- Type
numpy.ndarray
-
rho
¶ This is an :numpy.ndarray: array of possible evaluations from d_rho to rho_max with N_rho interals. It does not include rho = 0.
- Type
numpy.ndarray
-
func_embedding
¶ This is a dictionary containing the embedding function. The embedding function is indexed by elements in the symbols attribute. The embedding function is stored as an :numpy.ndarray: of length N_r. This attribute is initialized as None.
- Type
OrderedDict
-
func_density
¶ This is a dictionary containing the electron density function indexed by elements in the symbols attribute. The density function is stored as an :numpy.ndarray: of length N_r. This attribute is initialized as None.
- Type
OrderedDict
-
func_pair_potential
¶ They has the format ‘sym_i.sym_j’ which are generated from unique combinations from the symbols attribute. The pairs are selected as s_i, s_j in S, where i <= j. This attribute is initialized as none.
- Type
OrderedDict
- Ref:
https://sites.google.com/a/ncsu.edu/cjobrien/tutorials-and-guides/eam http://www.ctcms.nist.gov/potentials/ http://lammps.sandia.gov/doc/pair_eam.html
-
N_r
-
N_rho
-
comments
-
get_str_setfl_header_section__nargs_line
(N_rho=None, d_rho=None, N_r=None, d_r=None, r_cut=None)[source]¶
-
n_symbols
number of elements which this file describes
- Type
(int)
-
process_setfl_comments
()[source]¶ The header section of the setfl files containes three lines which can have arbitrary text in it.
- Parameters
None –
- Returns
(list of str)
-
process_setfl_header_section
()[source]¶ Process the header section of the setfl file.
The header section consists of two sections
-
process_setfl_pairpotential_section
()[source]¶ The SETFL convention for storing V(r) is as r*V(r). This was probably important during the time when computational cycles were expensive. However, we divide this storage value by r to get the potential in eV.
-
symbols
-
write
(filename, symbols, r, rcut, rho, pair, embedding, density)[source]¶ write a setfl file
- Parameters
filename (str) –
symbols (list) –
r (np.ndarray) –
rcut (numpy.ndarray) –
rho (numpy.ndarray) –
pair (collections.OrderedDict) –
embedding (collections.OrderedDict) –
density (collections.OrderedDict) –
-
class
pypospack.eamtools.
SeatonSetflReader
(path)[source]¶ Bases:
object
Reader for setfl formatted EAM files.
- Parameters
path (str) – Path to the setfl file.
-
cutoff
¶ Cutoff distance for all functions.
Note
Measured in Angstroms.
- Returns
float
-
d_r
¶ Distance between points at which interatomic potential and embedding function are evaluated.
- Returns
float
-
d_rho
¶ Distance between points where the electron density is evaluated.
- Returns
float
-
density_function
(symbol)[source]¶ Tabulated values of the density function.
- Parameters
symbol (str) – Elemental symbol.
- Returns
list of float
-
element_pairs
¶ Elemental symbol pairs specified in the file.
- Returns
tuple of str
-
elements
¶ Elemental symbols specified in the file.
- Returns
tuple of str
-
embedding_function
(symbol)[source]¶ Tabulated values of the embedding function.
- Parameters
symbol (str) – Elemental symbol.
- Returns
list of float
-
n_r
¶ Number of points at which interatomic potential and embedding function are evaluated.
- Returns
int
-
n_rho
¶ Number of points at which electron density is evaluated.
- Returns
int
pypospack.eipfit module¶
This module contains the pyposmat engine for parameterization
-
class
pypospack.eipfit.
EipFittingEngine
(fname_config_pyposmat='pyposmat.config', fname_config_potential='pyposmat.potential', fname_config_qoi='pyposmat.qoi', fname_results='results.out', fname_log='pyposmat.log', random_seed=None, restart=False)[source]¶ Bases:
object
Generic Fitting Engine
This fitting engine does not have an algorithm.
- Parameters
fname_config_pyposmat (string) – filename of the configuration file. default is pyposmat.config
fname_config_potential (string) – filename of the potential file. default is pyposmat.potential
fname_config_qoi (string) – filename of the qoi file
random_seed (int) – random seed to use. Default is set to None, which generates the random seed automatically.
restart (bool) – when set to True, attempts to restart simulations from existing information contained in the directory
-
fname_config_pyposmat
¶ - Type
str
-
fname_config_potential
¶ - Type
str
-
fname_config_qoi
¶ - Type
str
-
random_seed
¶ - Type
int
-
restart
¶ - Type
bool
pypospack.elements module¶
Properties of the chemical elements.
Each chemical element is represented as an object instance. Physicochemical and descriptive properties of the elements are stored as instance attributes.
- Author
- Version
2018.02.06
Requirements¶
Revisions¶
- 2018.02.06
Style and docstring fixes.
- 2016.02.25
Fixed some ionization energies.
References
Examples
>>> from elements import ELEMENTS
>>> len(ELEMENTS)
109
>>> str(ELEMENTS[109])
'Meitnerium'
>>> ele = ELEMENTS['C']
>>> ele.number, ele.symbol, ele.name, ele.eleconfig
(6, 'C', 'Carbon', '[He] 2s2 2p2')
>>> from pprint import pprint
>>> pprint(ele.eleconfig_dict)
{(1, 's'): 2, (2, 'p'): 2, (2, 's'): 2}
>>> sum(ele.mass for ele in ELEMENTS)
14659.1115599
>>> for ele in ELEMENTS:
... ele.validate()
... ele = eval(repr(ele))
pypospack.exceptions module¶
pypospack exception classes
pypospack.kde module¶
-
pypospack.kde.
Chiu1999_h
(X)[source]¶ Cross validation method of Chiu 1999
Chiu, S.T., Annls. of Stat., 1991, 19, 1883-1905 https://projecteuclid.org/download/pdf_1/euclid.aos/1176348376
pypospack.lammps module¶
-
class
pypospack.lammps.
SimulationManager
(qoi_info=None, structure_info=None, potential_info=None)[source]¶ Bases:
object
- Parameters
qoi_info (
str
orpypospack.potfit.QoiDatabase
) – contains the configuration information either by passing the class or the filename of the QOI configuration file.structure_info (
str
orpypospack.potfit.StructureDatabase
) – contains the configuration information by either class or filename for the structure database.potential_info (
str
orpypospack.potfit.PotentialInformaiton
) – contains the configuration information by either class or filename for the potential formalism.
-
obj_lammps_tasks
¶ - Type
dict
-
structure_db
¶ - Type
dict
-
variable_names (
obj:list of :obj:str): a list of variable names
-
variable_dict
¶ a dict of variables
- Type
dict
-
potential
¶ an instance of the potential
- Type
pypospack.potential
pypospack.optimization module¶
classes and functions for optimization techniques
-
class
pypospack.optimization.
ConjugateGradientParameterOptimization
[source]¶ Bases:
pypospack.optimization.MultiobjectiveParameterOptimization
-
class
pypospack.optimization.
MultiObjectiveProblem
[source]¶ Bases:
object
A multiple objective function class
A multiple objective problem is defined as a problem which requires the simultaneous minimization of multiple objectives at the same time.
-
obj_func
¶ a list of objective functions
- Type
list
-
-
class
pypospack.optimization.
ParetoParameterOptimzation
[source]¶ Bases:
pypospack.optimization.MultiobjectiveParameterOptimization
pypospack.pareto module¶
This module provides pareto calculation functions
Eugene J. Ragasa, University of Florida, developed the original version of this code. Dmitriy Morozov, Lawrence Berkeley Labs, provided speed ups for the Pareto versions of the code in Dec 2016.
pypospack.potfit module¶
This module contains the pyposmat engine for parameterization
The fitting engine is build in multiple class for managability of code and to divide the code into functionality. In general, there are classes which deal with reading/writing configuration files, classes to deal with determination of simulations to be run from the quantities of interest.
-
class
pypospack.potfit.
AbstractFittingEngine
(fname_config_structures='pypospack.structure.yaml', fname_config_potential='pypospack.potential.yaml', fname_config_qoi='pypospack.qoi.yaml', fname_results='results.out', fname_log='pypospack.log', random_seed=None, restart=False)[source]¶ Bases:
object
Generic Fitting Engine
This fitting engine does not have an algorithm.
- Parameters
fname_config_pyposmat (string) – filename of the configuration file. default is pyposmat.config
fname_config_potential (string) – filename of the potential file. default is pyposmat.potential
fname_config_qoi (string) – filename of the qoi file
random_seed (int) – random seed to use. Default is set to None, which generates the random seed automatically.
restart (bool) – when set to True, attempts to restart simulations from existing information contained in the directory
-
fname_config_potential
¶ - Type
str
-
fname_config_qoi
¶ - Type
str
-
random_seed
¶ - Type
int
-
restart
¶ - Type
bool
-
structure_info
¶ - Type
pypospack.potfit.StructureDatabase
-
potential_info
¶ - Type
pypospack.potfit.PotentialInformation
-
qois_info
¶ - Type
pypospack.potfit.QoiDatabase
-
qoi_manager
¶ - Type
pypospack.qoi.QoiManager
-
simulation_manager
¶
-
free_parameters
¶ a list of free parameters
- Type
(
list
ofstr
)
-
parameter_names
¶ a list of the parameter names
- Type
(
list
ofstr
)
-
qoi_names
¶ a list of the qoi names
- Type
(
list
ofstr
)
pypospack.qoi module¶
-
class
pypospack.qoi.
Qoi
(qoi_name, qoi_type, structures)[source]¶ Bases:
object
Abstract Quantity of Interest
- Parameters
qoi_name (str) –
qoi_type (str) –
structure_names (list of str) –
-
qoi_name
¶ this is a unique identifier
- Type
str
-
qoi_type
¶ this should be set by the implementing class
- Type
str
-
structure_names
¶
-
reference_values
¶ these are the reference values of quantities of interest which we want to calculate.
- Type
dict
-
task_definitions
¶ task_definition[task_name] task_definition[task_name][task_type] task_definition[task_name][structure]
- Type
dict
-
task_dependencies
¶ task_dependencies[task_name]
- Type
dict
-
results
¶ these are the results after aggregating the values from the different simulations and making some calculations.
- Type
dict
-
add_precedent_task
(task_name, precedent_task_name, precedent_variables)[source]¶ add a precedent task
- Parameters
task_name (str) –
precedent_task_name (str) –
precedent_variables (str) –
- Raises
ValueError –
-
add_task
(task_type, task_name, task_structure, bulk_structure_name=None, task_options=None)[source]¶
-
predicted_value
¶
-
reference_value
¶
-
task_configurations
¶
pypospack.statistics module¶
implementation of some statistical functions
This module implements some staistical tools which are not currently implemented in any widely deployed python package.
-
pypospack.statistics.
kullbach_lieber_divergence
(f, g, n)[source]¶ Calculate the Kullbach-Lieber Divergence between f and g
This functions does a monte carlo estimation of the Kullbach-Lieber divergence pre-metric between two probability distribution functions f and g.
Notes
for f and q, the following classes are supported. scipy.stats.kde.gaussian_kde
- Parameters
f (
scipy.stats.gaussian_kde
) – A probability distribution functiong (
scipy.stats.gaussian_kde
) – A probability distribution functionn (int) – The number of sampling points
- Returns
returns a both the KLD convergence value, and the estimated error of the KLD value
- Return type
tuple
- Raises
Run –
pypospack.util module¶
-
pypospack.util.
tail
(fname, n_lines, offset=None)[source]¶ replicates the tail command from unix like operations systems
- Parameters
fname (str) – filename
n_lines (int) – the number of lines
Note
this is dependent upon the tail command in the unx operating system this should actually be rewritten as to be OS agnostic.
pypospack.utils module¶
-
pypospack.utils.
tail
(fname, n_lines, offset=None)[source]¶ replicates the tail command from unix like operations systems
- Parameters
fname (str) – filename
n_lines (int) – the number of lines
Note
this is dependent upon the tail command in the unx operating system this should actually be rewritten as to be OS agnostic.
pypospack.visualization module¶
pypospack.visualization
This module contains classes for visualizatio of results done in a variety of processed defined throughout the pypospack package library
Author: Seaton Ullberg, 2017
- Version Requirements:
bokeh > 0.12.7, to avoid tornado conflicts, https://github.com/bokeh/bokeh/issues/6152
-
class
pypospack.visualization.
ParetoOptimizationParamVsErrorScatter
[source]¶ Bases:
pypospack.visualization.ParetoOptimizationVisualization
pypospack.vizpareto module¶
-
class
pypospack.vizpareto.
ParetoFittingPostProcessor
(n_iterations, data_dir)[source]¶ Bases:
object
-
n_iterations
¶ number of iterations
- Type
int
-
free_param_names
¶ free parameter names
- Type
list
ofstr
-
qoi_ref_values
¶ qoi reference values
- Type
list
offloat
-
data_dir
¶ data directory
- Type
str
-
simulation_results
¶ simulation results
- Type
list
ofpyflamestk.pareto.SimulationResults
-
err_idx
¶ error index
- Type
list
ofint
-
qoi_idx
¶ qoi index
- Type
list
ofint
-
param_idx
¶ parameter index
- Type
list
ofint
-
free_param_idx (:obj:`list` of
obj:`int): free parameter index
-
filename_culled_format
= 'culled_{:03d}.out'¶
-
filename_pareto_format
= 'pareto_{:03d}.out'¶
-
filename_results_format
= 'results_{:03d}.out'¶
-
pypospack.workflow module¶
-
class
pypospack.workflow.
LammpsWorkflowManager
(wf_name, wf_directory)[source]¶ Bases:
pypospack.workflow.WorkflowManager
-
initialize_tasks
(task_obj_config)[source]¶ initial tasks from a dictionary
- task_obj_config(
dict
ofdict
): a dict of configuration dictionaries
>>> task_obj_config = {} >>> task_obj_config['task1'] = {} >>> task_obj_config['task1']['module_name'] = 'pypospack.task.lammps' >>> task_obj_config['task1']['class_name'] = 'LammpsSimulation' >>> task_obj_config['task2'] = {} >>> ...
- task_obj_config(
-
-
class
pypospack.workflow.
WorkflowManager
(wf_name, wf_directory=None)[source]¶ Bases:
object
- Parameters
wf_name (str) – workflow task name
wf_directory (str) – workflow directory name
-
wf
¶
-
add_task
(task_name, task_module_name, task_class_name)[source]¶ add a task to the workflow
- Parameters
task_name (str) – unique task_name id
task_module_name (str) – module name to load
task_class_name (str) – module class to load
-
initialize_tasks
(task_obj_config)[source]¶ initial tasks from a dictionary
- task_obj_config(
dict
ofdict
): a dict of configuration dictionaries
>>> task_obj_config = {} >>> task_obj_config['task1'] = {} >>> task_obj_config['task1']['module_name'] = 'pypospack.task.lammps' >>> task_obj_config['task1']['class_name'] = 'LammpsSimulation' >>> task_obj_config['task2'] = {} >>> ...
- task_obj_config(


We need to know how your school talks to Canvas.
We also need your permission to talk to Canvas.
On the next page please check 'Stay signed in'!
After you see your grades start to load
please close and reopen this window.
TCNJ's is provided as an example...


Takuya Kitazawa
- M.S. in Information Science and Technology, specialized in recommender systems and scalable machine learning.
- 6+ years of hands-on industry experience as a full-stack software engineer, OSS developer, data scientist, machine learning engineer, and product manager.
- Productizing machine learning and data analytics in both B2C and B2B domain, by not only implementing the system but also translating business needs into technical problems.
Work
08/2021 – Present
Software Development Engineer - Personalization
Amazon, Vancouver, BC, Canada
10/2020 – 08/2021
Senior Product Manager
02/2021 – 08/2021
Treasure Data (Canada), Vancouver, BC, Canada
10/2020 – 02/2021
Treasure Data, Tokyo, Japan
- Served a product management role in the digital marketing, data analytics, and machine learning domain. Product features I was in charge of include: out-of-the-box data visualization, A/B testing, and predictive customer scoring.
- Productized solution templates in an in-house Treasure Boxes ecosystem to accelerate advanced, strategic use of rich customer data. I have also worked closely with the business development team to collaborate with the partners and develop the platform together.
02/2020 – 09/2020
Product Manager
04/2019 – 01/2020
Staff Engineer
08/2018 – 03/2019
Senior Engineer
Arm, Tokyo, Japan
(Spin-off Treasure Data as an independent organization)
As an engineer:
- Evangelized the connection of big data, machine learning, data science, and IoT, both for company's internal and external audiences.
- Worked closely with an internal sales engineering team and served as a data science consultant to accomplish clients' machine learning projects in a wide variety of industries, including retail, gaming, and online media.
- Represented individual contributors in Arm's data business unit, and mapped out granular IoT-data integrated use cases and solution ideas through prototyping and customer-facing work with global teams.
- Led the development of a brand-new Python SDK for an enterprise big data analytics platform, and renovated the surrounding data science ecosystem.
As a product manager:
- Worked with multi-regional cross-functional teams, and continuously delivered marketer-facing features in an enterprise customer data management platform by bridging the communications among internal/external and technical/non-technical stakeholders.
- I was particularly responsible for product development and strategy establishment in the applied machine learning and customer data analytics domain, and we have successfully recognized as "Strong Performer" in The Forrester Wave™: Customer Analytics Technologies, Q3 2020.
- Led a collaborative project with Arm Research, an Arm's internal research-oriented group, and published a novel solution template for data-driven multi-touch attribution.
02/2017 – 07/2018
Data Science Engineer
Treasure Data, Tokyo, Japan
(Acquired by Arm)
- Regularly contributed to the development of Apache Hivemall, a scalable machine learning library running on Apache Hive and Spark.
- Led the development of out-of-the-box machine learning applications from competitor analysis and requirement gathering to system implementation and customer onboarding.
08/2015 – 06/2016
Part-time Software Engineer
Rakuten Institute of Technology, Tokyo, Japan
In the research organization, I have worked on the development of recommendation algorithms for an online golf booking service. Based on a previous study, I have conducted further assessments and proposed improvement ideas in terms of both theory and practice.
02/2012 – 02/2013
Part-time Software Engineer
HANASAKE PICTURES, Fukushima, Japan
Contributed to the development of (1) PHP applications for an avatar-based social networking service, and (2) an iOS application for virtual trial fitting using an image blending algorithm named Poisson Image Blending.
10/2011 – 03/2013
Part-time Research Assistant / Web Developer
The University of Aizu, Fukushima, Japan
Led the development of a Ruby on Rails-based web application "Aizu Weather" for regional weather monitoring, accompanied by interactive geospatial data visualization using d3.js.
Education
04/2015 – 03/2017
M.S. in Information Science and Technology
The University of Tokyo, Tokyo, Japan
Thesis: Persistently Cold-Starting Online Item Recommendation for Implicit Feedback Data
Advisor: Dr. Takayasu Matsuo
GPA: 4.0
Activities:
- Served as a student volunteer at RecSys 2016 (Sep 2016)
- Participated in Machine Learning Summer School Kyoto 2015 (Aug 2015)
Internship:
-
R&D Intern at Silver Egg Technology (Dec 2016 – Jan 2017)
- In-depth data analysis on customer's purchase dataset collected from a real-world e-commerce service.
- Proposing a novel recommendation algorithm, which has been a part of my master's thesis, to achieve higher accuracy of recommendation in the long run.
-
Machine Learning Intern at Treasure Data (Aug – Sep 2016)
- Implementing user-defined functions (UDFs) for state-of-the-art recommendation and anomaly detection techniques on Apache Hivemall.
- PoC implementation of a next-generation anomaly detection system for multiple system metrics, collected from an enterprise big data management platform.
04/2011 – 03/2015
B.S. in Computer Science and Engineering
The University of Aizu, Fukushima, Japan
Thesis: User Modeling in Folksonomies: Relational Clustering and Tag Weighting
Advisor: Dr. Masahide Sugiyama
GPA: 3.97
Honors and Awards:
- President's Award — Summa Cum Laude equivalent (2015)
- Dean's List of Distinguished Students (2012 – 2015)
- Best Paper Prize, IEEE Sendai Section Student Awards (2014)
- Innovative Award, The Tokyo American Center and Keio SFC Entrepreneurship Seminar and Business Plan Competition (2012)
Activities:
- Served as a teaching assistant in a Numerical Analysis course, and thought Java coding of numerical methods to 20+ undergraduates (Fall 2014)
- Participated in Security and Programming Camp 2011 to deepen knowledge in web security (Aug 2011)


Before Change
// if path.endswith(os.path.sep):
// path = path[:-1]
caslib, path_remaining, tmp_caslib = caslibify(self.conn, path, task = "save")
_file_name_ = self.model_name.replace(" ", "_")
_extension_ = ".sashdat"
model_tbl_file = path_remaining + _file_name_ + _extension_
After Change
// if path.endswith(os.path.sep):
// path = path[:-1]
with caslibify_context(self.conn, path, task = "save") as (caslib, path_remaining):
_file_name_ = self.model_name.replace(" ", "_")
_extension_ = ".sashdat"
model_tbl_file = path_remaining + _file_name_ + _extension_
weight_tbl_file = path_remaining + _file_name_ + "_weights" + _extension_
attr_tbl_file = path_remaining + _file_name_ + "_weights_attr" + _extension_
if self.model_table is not None:
ch = self.conn.table.tableexists(self.model_weights)
if ch.exists > 0:
rt = self._retrieve_("table.save", table = self.model_table, name = model_tbl_file, replace = True,
caslib = caslib)
if rt.severity > 1:
for msg in rt.messages:
print(msg)
raise DLPyError("something is wrong while saving the model to a table!")
if self.model_weights is not None:
ch = self.conn.table.tableexists(self.model_weights)
if ch.exists > 0:
rt = self._retrieve_("table.save", table = self.model_weights, name = weight_tbl_file,
replace = True, caslib = caslib)
if rt.severity > 1:
for msg in rt.messages:
print(msg)
raise DLPyError("something is wrong while saving the model weights to a table!")
CAS_tbl_name = random_name("Attr_Tbl")
rt = self._retrieve_("table.attribute", task = "convert", attrtable = CAS_tbl_name,
**self.model_weights.to_table_params())
if rt.severity > 1:
for msg in rt.messages:
print(msg)
raise DLPyError("something is wrong while extracting the model attributes!")
rt = self._retrieve_("table.save", table = CAS_tbl_name, name = attr_tbl_file, replace = True,
caslib = caslib)
if rt.severity > 1:
for msg in rt.messages:
print(msg)
raise DLPyError("something is wrong while saving the model attributes to a table!")
print("NOTE: Model table saved successfully.")
def save_weights_csv(self, path):
"""
Save model weights table as csv


When I spend too long without a taking a break, I get frustrated and bad-tempered. I tend to overlook the small stuff and can't see the answers to problems.
 But after doing SBNRR, I was able to calm down enough to look at the situation and remember that his anxiety had been bad these past few days. And that he was trying to be cool around people he didn't know while trying to hide his anxiety deep down. So I was able to let the comments wash over me, while I observe my little brother for his signs that things (the world) were getting too much.


Edit Account Information
The form is still in testing stage.
Name
Car Capacity
Profile picture
To upload a profile picture, enter the image address from an online source!!
Save
CANCEL


data health clinical monitoring care wellness disease patient using devices patients wearable information Med health-monitoring applications real-time Health integration streams research systems various including medicine models biomedical electronic medical help provide sensors use new {border-style better existing px;} #ffffff;} Data EMRs blood improve precision predictive used IEEE heart integrating –]. Clinical based biomedical, informatics integrate personalized Genet Institute Mount bioinformatics currently databases elements example, healthy like providers studies tools Sci activity chronic data, development genomic idiopathic model software EMR Medicine analysis analytics available biological database designed develop environmental integrated molecular profiling standards time vital Apache CV, Nat Translational aggregation capture diseases efforts human interstitial monitor rate, review risk translational Biomed Precision Table continuous developing device enable guidelines implementation learning mobile personal population quality resources state study support technology Center Dudley additional application approaches associated conditions design detection different disease, drug impact individualized interoperability management medicine. methods mining multiscale record required setting systems. Clin Icahn In: Inform Integrating Medical National Real-time Sinai Standards Wearable access algorithms captured cardiac consumer data-driven data. decision diverse future individual interpretation maintained modeling multiple pressure px; sleep smart technologies trials understand wearables {font-family Acids Annual Biology Cancer Chen Circulation Engineering Figure Harris International Nucleic Res Transl Wellness control daily font-size generated hospitals interventions measurements multi-omic necessary need obtained physiological recent records rehabilitation relevant respiratory sensor significant skin trial visualization (IEEE). (e.g. APIs Assoc Blood Buenos Conference EHR Electrical Electronics Engineers Engl FDA Gene Inf NJ: PHR Piscataway, Science Sensors Shameer Sinai, Trans Wang Withings ability aid big care. challenges clinically computing current define discovery double; early experiments factors features feedback gait genetic genomics important initiatives intervention investigations laboratory lead lung machine medication outcome patient’s physical physiologic potential rate related repositories set setting. sharing signs social solutions status streaming systematic wireless American Bioinformatics CDS Cell EMR. Environ Further, Heart Implementing Integration Joel PhD Rehabil School Technol actionable acute address adherence allow approach assess association basis biofeedback biosensors border-color border-width cancer capable care, combining common community decision-making defined devices, diagnosis diagnostic effective exposure expression findings genome identification improving individuals limited longitudinal mortality observational onset particular phenotypes. physician physiology pneumonia pressure, provides regulatory remote require requires resource role science scientific sensors. solid; standard strategies streams. systems: temperature, therapeutic training traits trends types utility variables variation {font-style {font-weight (%), (Millwood) Aff Apple Atlas Badgeley Biology, Biotechnol Currently, EMRs, Endo Eng Genome HealthData.gov Khader Methods Mining Miotto NYC. Nature New Patient Pulm Remote Research ResearchKit Rev Syst actionability activities activity, adhere aggregation, air alerts applications. asymptomatic benefits body bold burn caloric capture, cardiovascular comparative courier; dashboard death decisions developed diagnosis, disease. dynamic earlier em; engagement engineering environment era exposome fitness framework glucose home hospitalization identify illness implement implemented implications individualome infrastructure inpatient interface interventions. large-scale levels leverage measure measures medications models, monitoring. needed outcomes patients, patients. patients’ patterns phenotypes points policy populations prediction prevention process profile project provider pt;} rapid records, research. secured sensing services sign single states stream stress subclinical subset sudden techniques temporal testing text tracking understanding unified unique unnecessary way work