text:
# The Critical Point and Onset of Deconfinement (CPOD 2018), Corfu Island, Greece

Europe/Zurich
• Monday, 24 September
• 09:00 09:20
Talk (invitation for NA61): New results on spectra and fluctuations from NA61 20m
Speakers: Katarzyna Grebieszkow (Warsaw University of Technology (PL)), Katarzyna Grebieszkow (Warsaw University of Technology (PL))

K. Grebieszkow for the NA61/SHINE Collaboration

“New results on spectra and fluctuations from NA61”

The NA61/SHINE experiment aims to discover the critical point of strongly
interacting matter and study the properties of the onset of deconfinement. For this
purpose we perform a two-dimensional scan of the (T-mu_B) phase diagram by varying
the energy (5.1 < sqrt(s_NN) < 16.8/17.3 GeV) and the system size (p+p, p+Pb, Be+Be,
Ar+Sc, Xe+La, Pb+Pb) of the collisions.

In this presentation the NA61/SHINE results on particle spectra as well as
fluctuations and correlations in p+p, Be+Be, Ar+Sc, and Pb+Pb collisions will be
presented. In particular, the latest results on charged kaons spectra, charged
pions ratios (electromagnetic effects), protons intermittency, femtoscopic radii,
anisotropic flow, and higher order moments of multiplicity and net-charge
fluctuations are planned to be discussed. The NA61/SHINE data will be compared to
predictions of models and to the results from other experiments at the same energy
range.

Finally, the motivation, NA61/SHINE plans, and the first measurements of open charm
production in heavy ion collisions at the Super Proton Synchrotron energies will be
shown.

• 09:20 09:40
Talk: Recent measurements of identified hadron spectra and multiplicities in Ar+Sc and Be+Be collisions at SPS energies 20m
Speaker: Mr Maciej Piotr Lewicki (University of Wroclaw (PL))
• 09:40 10:00
Talk: Recent results from proton intermittency analysis in nucleus-nucleus collisions from NA61/SHINE at CERN SPS 20m
Speaker: Nikolaos Davis (Polish Academy of Sciences (PL))
• 10:00 10:20
Talk: First NA61/SHINE results on Bose-Einstein correlation function 20m
Speaker: Mr Barnabas Porfy (Hungarian Academy of Sciences (HU))
• 10:20 10:40
Talk: Anisotropic flow measurements from NA61/SHINE and NA49 experiments at CERN SPS 20m
Speakers: Ilya Selyuzhenkov (GSI / MEPhI), Viktor Klochkov (GSI), Oleg Golosov (National Research Nuclear University MEPhI (RU)), Evgeny Kashirin (National Research Nuclear University MEPhI (RU))
• 10:40 11:00
Talk: K*(892)0 production in p+p interactions at 158 GeV/c from NA61/SHINE 20m
Speaker: Angelika Magdalena Tefelska (Warsaw University of Technology (PL))

A. Tefelska for the NA61/SHINE Collaboration
“K*(892) 0 production in p+p interactions at 158 GeV/c from NA61/SHINE”

The NA61/SHINE experimental physics program is focused on searching of the critical
point and on the study of the properties of the onset of deconfinement. The scan of
the phase diagram of strongly interacting matter is done by changing the energy of
colliding ions (from 13A to 150/158A GeV) and by changing the system size (from p+p
to Pb+Pb).

The main topic of this talk are the preliminary results of K*(892)^0 meson
production in p+p interactions at beam momentum 158 GeV/c. The analysis K*(892)^0
was done for the first time with the template method in K^+ p^- decay channel. The
results include the double differential spectra d^2n/(dydp_T ),d^2n/(m_T dm_T dy) as well as
p_T integrated and extrapolated dn/dy spectra. The mass and width of K*(892)^0 in
function of transverse momenta are also presented with comparison to the world
data. Finally, the multiplicity of K*(892)^0 and the ratio of <K*(892)^0>/<K -> as a
function of sqrt(s_NN) is presented together with results of other experiments.

• 11:00 11:20
Talk: Open charm measurements at CERN SPS energies in the NA61/SHINE experiment - status and plans 20m
Speaker: Anastasia Merzlaya (St Petersburg State University (RU), Jagiellonian University (PL))

Open charm measurements at CERN SPS energies in the NA61/SHINE experiment  - status and plans

The study of open charm meson production provides an efficient tool for detailed investigations of the properties of hot and dense matter formed in nucleus-nucleus collisions. In particular, charm mesons are of vivid interest in the context of the phase-transition between confined hadronic matter and the quark-gluon plasma. Recently, the experimental setup of NA61/SHINE experiment was supplemented with a small-acceptance version of the Vertex Detector (SAVD) which was motivated by the importance and the possibility of the first direct measurements of open charm mesons in heavy ion collisions at SPS energies.

First exploratory data taking of Pb+Pb collisions at 150$A$ GeV/c with SAVD was performed in 2016, and a $D^0$  signal was extracted in it's $D^0 \rightarrow \pi^{+} + K^{-}$ decay channel. This was the first, direct observation of open charm in nucleus-nucleus collisions at the SPS energies. In October and November of 2017 a large statistic data set has been taken for Xe+La with SAVD at the beam momenta of 150$A$, 75$A$ and 40$A$ GeV/c; these data are currently under intense analysis.

The physics motivation behind the open charm measurements at the SPS energies will be discussed. The concept of the SAVD hardware and the status of the analysis will be shown, discussing challenges related to the reconstruction in SAVD. Also, the future plans of open charm measurements in the NA61/SHINE experiment after 2020 related to the upgraded version of the Vertex Detector will be presented.

###### Your browser is out of date!

Update your browser to view this website correctly. Update my browser now

×


text:
Copied to
clipboard

## G = C6×C4⋊C4order 96 = 25·3

### Direct product of C6 and C4⋊C4

direct product, metabelian, nilpotent (class 2), monomial, 2-elementary

Series: Derived Chief Lower central Upper central

 Derived series C1 — C2 — C6×C4⋊C4
 Chief series C1 — C2 — C22 — C2×C6 — C2×C12 — C3×C4⋊C4 — C6×C4⋊C4
 Lower central C1 — C2 — C6×C4⋊C4
 Upper central C1 — C22×C6 — C6×C4⋊C4

Generators and relations for C6×C4⋊C4
G = < a,b,c | a6=b4=c4=1, ab=ba, ac=ca, cbc-1=b-1 >

Subgroups: 108 in 92 conjugacy classes, 76 normal (16 characteristic)
C1, C2 [×3], C2 [×4], C3, C4 [×4], C4 [×4], C22, C22 [×6], C6 [×3], C6 [×4], C2×C4 [×10], C2×C4 [×4], C23, C12 [×4], C12 [×4], C2×C6, C2×C6 [×6], C4⋊C4 [×4], C22×C4, C22×C4 [×2], C2×C12 [×10], C2×C12 [×4], C22×C6, C2×C4⋊C4, C3×C4⋊C4 [×4], C22×C12, C22×C12 [×2], C6×C4⋊C4
Quotients: C1, C2 [×7], C3, C4 [×4], C22 [×7], C6 [×7], C2×C4 [×6], D4 [×2], Q8 [×2], C23, C12 [×4], C2×C6 [×7], C4⋊C4 [×4], C22×C4, C2×D4, C2×Q8, C2×C12 [×6], C3×D4 [×2], C3×Q8 [×2], C22×C6, C2×C4⋊C4, C3×C4⋊C4 [×4], C22×C12, C6×D4, C6×Q8, C6×C4⋊C4

Smallest permutation representation of C6×C4⋊C4
Regular action on 96 points
Generators in S96
(1 2 3 4 5 6)(7 8 9 10 11 12)(13 14 15 16 17 18)(19 20 21 22 23 24)(25 26 27 28 29 30)(31 32 33 34 35 36)(37 38 39 40 41 42)(43 44 45 46 47 48)(49 50 51 52 53 54)(55 56 57 58 59 60)(61 62 63 64 65 66)(67 68 69 70 71 72)(73 74 75 76 77 78)(79 80 81 82 83 84)(85 86 87 88 89 90)(91 92 93 94 95 96)
(1 53 32 59)(2 54 33 60)(3 49 34 55)(4 50 35 56)(5 51 36 57)(6 52 31 58)(7 82 20 76)(8 83 21 77)(9 84 22 78)(10 79 23 73)(11 80 24 74)(12 81 19 75)(13 88 91 70)(14 89 92 71)(15 90 93 72)(16 85 94 67)(17 86 95 68)(18 87 96 69)(25 64 42 46)(26 65 37 47)(27 66 38 48)(28 61 39 43)(29 62 40 44)(30 63 41 45)
(1 83 37 89)(2 84 38 90)(3 79 39 85)(4 80 40 86)(5 81 41 87)(6 82 42 88)(7 46 13 52)(8 47 14 53)(9 48 15 54)(10 43 16 49)(11 44 17 50)(12 45 18 51)(19 63 96 57)(20 64 91 58)(21 65 92 59)(22 66 93 60)(23 61 94 55)(24 62 95 56)(25 70 31 76)(26 71 32 77)(27 72 33 78)(28 67 34 73)(29 68 35 74)(30 69 36 75)

G:=sub<Sym(96)| (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38,39,40,41,42)(43,44,45,46,47,48)(49,50,51,52,53,54)(55,56,57,58,59,60)(61,62,63,64,65,66)(67,68,69,70,71,72)(73,74,75,76,77,78)(79,80,81,82,83,84)(85,86,87,88,89,90)(91,92,93,94,95,96), (1,53,32,59)(2,54,33,60)(3,49,34,55)(4,50,35,56)(5,51,36,57)(6,52,31,58)(7,82,20,76)(8,83,21,77)(9,84,22,78)(10,79,23,73)(11,80,24,74)(12,81,19,75)(13,88,91,70)(14,89,92,71)(15,90,93,72)(16,85,94,67)(17,86,95,68)(18,87,96,69)(25,64,42,46)(26,65,37,47)(27,66,38,48)(28,61,39,43)(29,62,40,44)(30,63,41,45), (1,83,37,89)(2,84,38,90)(3,79,39,85)(4,80,40,86)(5,81,41,87)(6,82,42,88)(7,46,13,52)(8,47,14,53)(9,48,15,54)(10,43,16,49)(11,44,17,50)(12,45,18,51)(19,63,96,57)(20,64,91,58)(21,65,92,59)(22,66,93,60)(23,61,94,55)(24,62,95,56)(25,70,31,76)(26,71,32,77)(27,72,33,78)(28,67,34,73)(29,68,35,74)(30,69,36,75)>;

G:=Group( (1,2,3,4,5,6)(7,8,9,10,11,12)(13,14,15,16,17,18)(19,20,21,22,23,24)(25,26,27,28,29,30)(31,32,33,34,35,36)(37,38,39,40,41,42)(43,44,45,46,47,48)(49,50,51,52,53,54)(55,56,57,58,59,60)(61,62,63,64,65,66)(67,68,69,70,71,72)(73,74,75,76,77,78)(79,80,81,82,83,84)(85,86,87,88,89,90)(91,92,93,94,95,96), (1,53,32,59)(2,54,33,60)(3,49,34,55)(4,50,35,56)(5,51,36,57)(6,52,31,58)(7,82,20,76)(8,83,21,77)(9,84,22,78)(10,79,23,73)(11,80,24,74)(12,81,19,75)(13,88,91,70)(14,89,92,71)(15,90,93,72)(16,85,94,67)(17,86,95,68)(18,87,96,69)(25,64,42,46)(26,65,37,47)(27,66,38,48)(28,61,39,43)(29,62,40,44)(30,63,41,45), (1,83,37,89)(2,84,38,90)(3,79,39,85)(4,80,40,86)(5,81,41,87)(6,82,42,88)(7,46,13,52)(8,47,14,53)(9,48,15,54)(10,43,16,49)(11,44,17,50)(12,45,18,51)(19,63,96,57)(20,64,91,58)(21,65,92,59)(22,66,93,60)(23,61,94,55)(24,62,95,56)(25,70,31,76)(26,71,32,77)(27,72,33,78)(28,67,34,73)(29,68,35,74)(30,69,36,75) );

G=PermutationGroup([(1,2,3,4,5,6),(7,8,9,10,11,12),(13,14,15,16,17,18),(19,20,21,22,23,24),(25,26,27,28,29,30),(31,32,33,34,35,36),(37,38,39,40,41,42),(43,44,45,46,47,48),(49,50,51,52,53,54),(55,56,57,58,59,60),(61,62,63,64,65,66),(67,68,69,70,71,72),(73,74,75,76,77,78),(79,80,81,82,83,84),(85,86,87,88,89,90),(91,92,93,94,95,96)], [(1,53,32,59),(2,54,33,60),(3,49,34,55),(4,50,35,56),(5,51,36,57),(6,52,31,58),(7,82,20,76),(8,83,21,77),(9,84,22,78),(10,79,23,73),(11,80,24,74),(12,81,19,75),(13,88,91,70),(14,89,92,71),(15,90,93,72),(16,85,94,67),(17,86,95,68),(18,87,96,69),(25,64,42,46),(26,65,37,47),(27,66,38,48),(28,61,39,43),(29,62,40,44),(30,63,41,45)], [(1,83,37,89),(2,84,38,90),(3,79,39,85),(4,80,40,86),(5,81,41,87),(6,82,42,88),(7,46,13,52),(8,47,14,53),(9,48,15,54),(10,43,16,49),(11,44,17,50),(12,45,18,51),(19,63,96,57),(20,64,91,58),(21,65,92,59),(22,66,93,60),(23,61,94,55),(24,62,95,56),(25,70,31,76),(26,71,32,77),(27,72,33,78),(28,67,34,73),(29,68,35,74),(30,69,36,75)])

60 conjugacy classes

 class 1 2A ··· 2G 3A 3B 4A ··· 4L 6A ··· 6N 12A ··· 12X order 1 2 ··· 2 3 3 4 ··· 4 6 ··· 6 12 ··· 12 size 1 1 ··· 1 1 1 2 ··· 2 1 ··· 1 2 ··· 2

60 irreducible representations

 dim 1 1 1 1 1 1 1 1 2 2 2 2 type + + + + - image C1 C2 C2 C3 C4 C6 C6 C12 D4 Q8 C3×D4 C3×Q8 kernel C6×C4⋊C4 C3×C4⋊C4 C22×C12 C2×C4⋊C4 C2×C12 C4⋊C4 C22×C4 C2×C4 C2×C6 C2×C6 C22 C22 # reps 1 4 3 2 8 8 6 16 2 2 4 4

Matrix representation of C6×C4⋊C4 in GL4(𝔽13) generated by

 12 0 0 0 0 12 0 0 0 0 4 0 0 0 0 4
,
 1 0 0 0 0 12 0 0 0 0 8 0 0 0 5 5
,
 5 0 0 0 0 1 0 0 0 0 12 11 0 0 0 1
G:=sub<GL(4,GF(13))| [12,0,0,0,0,12,0,0,0,0,4,0,0,0,0,4],[1,0,0,0,0,12,0,0,0,0,8,5,0,0,0,5],[5,0,0,0,0,1,0,0,0,0,12,0,0,0,11,1] >;

C6×C4⋊C4 in GAP, Magma, Sage, TeX

C_6\times C_4\rtimes C_4
% in TeX

G:=Group("C6xC4:C4");
// GroupNames label

G:=SmallGroup(96,163);
// by ID

G=gap.SmallGroup(96,163);
# by ID

G:=PCGroup([6,-2,-2,-2,-3,-2,-2,288,313,151]);
// Polycyclic

G:=Group<a,b,c|a^6=b^4=c^4=1,a*b=b*a,a*c=c*a,c*b*c^-1=b^-1>;
// generators/relations

׿
×
𝔽

format: plain


text:
# Parallel Computation With yt¶

yt has been instrumented with the ability to compute many – most, even – quantities in parallel. This utilizes the package mpi4py to parallelize using the Message Passing Interface, typically installed on clusters.

## Capabilities¶

Currently, yt is able to perform the following actions in parallel:

This list covers just about every action yt can take! Additionally, almost all scripts will benefit from parallelization with minimal modification. The goal of Parallel-yt has been to retain API compatibility and abstract all parallelism.

## Setting Up Parallel yt¶

To run scripts in parallel, you must first install mpi4py as well as an MPI library, if one is not already available on your system. Instructions for doing so are provided on the mpi4py website, but you may have luck by just running:

$pip install mpi4py  If you have an Anaconda installation of yt and there is no MPI library on the system you are using try: $ conda install mpi4py

This will install MPICH2 and will interfere with other MPI libraries that are already installed. Therefore, it is preferable to use the pip installation method.

Once mpi4py has been installed, you’re all done! You just need to launch your scripts with mpirun (or equivalent) and signal to yt that you want to run them in parallel by invoking the yt.enable_parallelism() function in your script. In general, that’s all it takes to get a speed benefit on a multi-core machine. Here is an example on an 8-core desktop:

$mpirun -np 8 python script.py  Throughout its normal operation, yt keeps you aware of what is happening with regular messages to the stderr usually prefaced with: yt : [INFO ] YYY-MM-DD HH:MM:SS  However, when operating in parallel mode, yt outputs information from each of your processors to this log mode, as in: P000 yt : [INFO ] YYY-MM-DD HH:MM:SS P001 yt : [INFO ] YYY-MM-DD HH:MM:SS  in the case of two cores being used. It’s important to note that all of the processes listed in Capabilities work in parallel – and no additional work is necessary to parallelize those processes. ## Running a yt Script in Parallel¶ Many basic yt operations will run in parallel if yt’s parallelism is enabled at startup. For example, the following script finds the maximum density location in the simulation and then makes a plot of the projected density: import yt yt.enable_parallelism() ds = yt.load("RD0035/RedshiftOutput0035") v, c = ds.find_max("density") print(v, c) p = yt.ProjectionPlot(ds, "x", "density") p.save()  If this script is run in parallel, two of the most expensive operations - finding of the maximum density and the projection will be calculated in parallel. If we save the script as my_script.py, we would run it on 16 MPI processes using the following Bash command: $ mpirun -np 16 python2.7 my_script.py

Note

If you run into problems, the you can use Remote and Disconnected Debugging to examine what went wrong.

### How do I run my yt job on a subset of available processes¶

You can set the communicator keyword in the enable_parallelism() call to a specific MPI communicator to specify a subset of available MPI processes. If none is specified, it defaults to COMM_WORLD.

### Creating Parallel and Serial Sections in a Script¶

Many yt operations will automatically run in parallel (see the next section for a full enumeration), however some operations, particularly ones that print output or save data to the filesystem, will be run by all processors in a parallel script. For example, in the script above the lines print(v, c) and p.save() will be run on all 16 processors. This means that your terminal output will contain 16 repetitions of the output of the print statement and the plot will be saved to disk 16 times (overwritten each time).

yt provides two convenience functions that make it easier to run most of a script in parallel but run some subset of the script on only one processor. The first, is_root(), returns True if run on the ‘root’ processor (the processor with MPI rank 0) and False otherwise. One could rewrite the above script to take advantage of is_root() like so:

import yt
yt.enable_parallelism()

v, c = ds.find_max("density")
p = yt.ProjectionPlot(ds, "x", "density")
if yt.is_root():
print(v, c)
p.save()

The second function, only_on_root() accepts the name of a function as well as a set of parameters and keyword arguments to pass to the function. This is useful when the serial component of your parallel script would clutter the script or if you like writing your scripts as a series of isolated function calls. I can rewrite the example from the beginning of this section once more using only_on_root() to give you the flavor of how to use it:

import yt
yt.enable_parallelism()

def print_and_save_plot(v, c, plot, verbose=True):
if verbose:
print(v, c)
plot.save()

v, c = ds.find_max("density")
p = yt.ProjectionPlot(ds, "x", "density")
yt.only_on_root(print_and_save_plot, v, c, plot, verbose=True)

## Types of Parallelism¶

In order to divide up the work, yt will attempt to send different tasks to different processors. However, to minimize inter-process communication, yt will decompose the information in different ways based on the task.

### Spatial Decomposition¶

During this process, the index will be decomposed along either all three axes or along an image plane, if the process is that of projection. This type of parallelism is overall less efficient than grid-based parallelism, but it has been shown to obtain good results overall.

The following operations use spatial decomposition:

### Grid Decomposition¶

The alternative to spatial decomposition is a simple round-robin of data chunks, which could be grids, octs, or whatever chunking mechanism is used by the code frontend begin used. This process allows yt to pool data access to a given data file, which ultimately results in faster read times and better parallelism.

The following operations use chunk decomposition:

### Parallelization over Multiple Objects and Datasets¶

If you have a set of computational steps that need to apply identically and independently to several different objects or datasets, a so-called embarrassingly parallel task, yt can do that easily. See the sections below on Parallelizing over Multiple Objects and Parallelization over Multiple Datasets (including Time Series).

#### Use of piter()¶

If you use parallelism over objects or datasets, you will encounter the piter() function. piter is a parallel iterator, which effectively doles out each item of a DatasetSeries object to a different processor. In serial processing, you might iterate over a DatasetSeries by:

for dataset in dataset_series:
<process>

But in parallel, you can use piter() to force each dataset to go to a different processor:

yt.enable_parallelism()
for dataset in dataset_series.piter():
<process>

In order to store information from the parallel processing step to a data structure that exists on all of the processors operating in parallel we offer the storage keyword in the piter function. You may define an empty dictionary and include it as the keyword argument storage to piter(). Then, during the processing step, you can access this dictionary as the sto object. After the loop is finished, the dictionary is re-aggregated from all of the processors, and you can access the contents:

yt.enable_parallelism()
my_dictionary = {}
for sto, dataset in dataset_series.piter(storage=my_dictionary):
<process>
sto.result = <some information processed for this dataset>
sto.result_id = <some identfier for this dataset>

print(my_dictionary)

## Parallelizing over Multiple Objects¶

It is easy within yt to parallelize a list of tasks, as long as those tasks are independent of one another. Using object-based parallelism, the function parallel_objects() will automatically split up a list of tasks over the specified number of processors (or cores). Please see this heavily-commented example:

# As always...
import yt
yt.enable_parallelism()

import glob

# The number 4, below, is the number of processes to parallelize over, which
# is generally equal to the number of MPI tasks the job is launched with.
# If num_procs is set to zero or a negative number, the for loop below
# will be run such that each iteration of the loop is done by a single MPI
# task. Put another way, setting it to zero means that no matter how many
# MPI tasks the job is run with, num_procs will default to the number of
num_procs = 4

# fns is a list of all the simulation data files in the current directory.
fns = glob.glob("./plot*")
fns.sort()

# This dict will store information collected in the loop, below.
# Inside the loop each task will have a local copy of the dict, but
# the dict will be combined once the loop finishes.
my_storage = {}

# In this example, because the storage option is used in the
# parallel_objects function, the loop yields a tuple, which gets used
# as (sto, fn) inside the loop.
# In the loop, sto is essentially my_storage, but a local copy of it.
# If data does not need to be combined after the loop is done, the line
# would look like:
#       for fn in parallel_objects(fns, num_procs):
for sto, fn in yt.parallel_objects(fns, num_procs, storage = my_storage):

# Open a data file, remembering that fn is different on each task.
dd = ds.all_data()

# This copies fn and the min/max of density to the local copy of
# my_storage
sto.result_id = fn
sto.result = dd.quantities.extrema("density")

# Makes and saves a plot of the gas density.
p = yt.ProjectionPlot(ds, "x", "density")
p.save()

# At this point, as the loop exits, the local copies of my_storage are
# combined such that all tasks now have an identical and full version of
# my_storage. Until this point, each task is unaware of what the other
# Below, the values in my_storage are printed by only one task. The other
if yt.is_root()
for fn, vals in sorted(my_storage.items()):
print(fn, vals)

This example above can be modified to loop over anything that can be saved to a Python list: halos, data files, arrays, and more.

## Parallelization over Multiple Datasets (including Time Series)¶

The same parallel_objects machinery discussed above is turned on by default when using a DatasetSeries object (see Time Series Analysis) to iterate over simulation outputs. The syntax for this is very simple. As an example, we can use the following script to find the angular momentum vector in a 1 pc sphere centered on the maximum density cell in a large number of simulation outputs:

import yt
yt.enable_parallelism()

# Load all of the DD*/output_* files into a DatasetSeries object
# in this case it is a Time Series

# Define an empty storage dictionary for collecting information
# in parallel through processing
storage = {}

# Use piter() to iterate over the time series, one proc per dataset
# and store the resulting information from each dataset in
# the storage dictionary
for sto, ds in ts.piter(storage=storage):
sphere = ds.sphere("max", (1.0, "pc"))
sto.result = sphere.quantities.angular_momentum_vector()
sto.result_id = str(ds)

# Print out the angular momentum vector for all of the datasets
for L in sorted(storage.items()):
print(L)

Note that this script can be run in serial or parallel with an arbitrary number of processors. When running in parallel, each output is given to a different processor.

You can also request a fixed number of processors to calculate each angular momentum vector. For example, the following script will calculate each angular momentum vector using 4 workgroups, splitting up the pool available processors. Note that parallel=1 implies that the analysis will be run using 1 workgroup, whereas parallel=True will run with Nprocs workgroups.

import yt
yt.enable_parallelism()

ts = yt.DatasetSeries("DD*/output_*", parallel = 4)

for ds in ts.piter():
sphere = ds.sphere("max", (1.0, "pc))
L_vecs = sphere.quantities.angular_momentum_vector()

If you do not want to use parallel_objects parallelism when using a DatasetSeries object, set parallel = False. When running python in parallel, this will use all of the available processors to evaluate the requested operation on each simulation output. Some care and possibly trial and error might be necessary to estimate the correct settings for your simulation outputs.

## Parallel Performance, Resources, and Tuning¶

Optimizing parallel jobs in yt is difficult; there are many parameters that affect how well and quickly the job runs. In many cases, the only way to find out what the minimum (or optimal) number of processors is, or amount of memory needed, is through trial and error. However, this section will attempt to provide some insight into what are good starting values for a given parallel task.

### Chunk Decomposition¶

In general, these types of parallel calculations scale very well with number of processors. They are also fairly memory-conservative. The two limiting factors is therefore the number of chunks in the dataset, and the speed of the disk the data is stored on. There is no point in running a parallel job of this kind with more processors than chunks, because the extra processors will do absolutely nothing, and will in fact probably just serve to slow down the whole calculation due to the extra overhead. The speed of the disk is also a consideration - if it is not a high-end parallel file system, adding more tasks will not speed up the calculation if the disk is already swamped with activity.

The best advice for these sort of calculations is to run with just a few processors and go from there, seeing if it the runtime improves noticeably.

Projections, Slices, and Cutting Planes

Projections, slices and cutting planes are the most common methods of creating two-dimensional representations of data. All three have been parallelized in a chunk-based fashion.

• Projections: projections are parallelized utilizing a quad-tree approach. Data is loaded for each processor, typically by a process that consolidates open/close/read operations, and each grid is then iterated over and cells are deposited into a data structure that stores values corresponding to positions in the two-dimensional plane. This provides excellent load balancing, and in serial is quite fast. However, the operation by which quadtrees are joined across processors scales poorly; while memory consumption scales well, the time to completion does not. As such, projections can often be done very fast when operating only on a single processor! The quadtree algorithm can be used inline (and, indeed, it is for this reason that it is slow.) It is recommended that you attempt to project in serial before projecting in parallel; even for the very largest datasets (Enzo 1024^3 root grid with 7 levels of refinement) in the absence of IO the quadtree algorithm takes only three minutes or so on a decent processor.
• Slices: to generate a slice, chunks that intersect a given slice are iterated over and their finest-resolution cells are deposited. The chunks are decomposed via standard load balancing. While this operation is parallel, it is almost never necessary to slice a dataset in parallel, as all data is loaded on demand anyway. The slice operation has been parallelized so as to enable slicing when running in situ.
• Cutting planes: cutting planes are parallelized exactly as slices are. However, in contrast to slices, because the data-selection operation can be much more time consuming, cutting planes often benefit from parallelism.

### Object-Based¶

Like chunk decomposition, it does not help to run with more processors than the number of objects to be iterated over. There is also the matter of the kind of work being done on each object, and whether it is disk-intensive, cpu-intensive, or memory-intensive. It is up to the user to figure out what limits the performance of their script, and use the correct amount of resources, accordingly.

Disk-intensive jobs are limited by the speed of the file system, as above, and extra processors beyond its capability are likely counter-productive. It may require some testing or research (e.g. supercomputer documentation) to find out what the file system is capable of.

If it is cpu-intensive, it’s best to use as many processors as possible and practical.

For a memory-intensive job, each processor needs to be able to allocate enough memory, which may mean using fewer than the maximum number of tasks per compute node, and increasing the number of nodes. The memory used per processor should be calculated, compared to the memory on each compute node, which dictates how many tasks per node. After that, the number of processors used overall is dictated by the disk system or CPU-intensity of the job.

### Domain Decomposition¶

The various types of analysis that utilize domain decomposition use them in different enough ways that they are be discussed separately.

Halo-Finding

Halo finding, along with the merger tree that uses halo finding, operates on the particles in the volume, and is therefore mostly chunk-agnostic. Generally, the biggest concern for halo finding is the amount of memory needed. There is subtle art in estimating the amount of memory needed for halo finding, but a rule of thumb is that the HOP halo finder is the most memory intensive (HaloFinder()), and Friends of Friends (FOFHaloFinder()) being the most memory-conservative. For more information, see Halo Analysis.

Volume Rendering

The simplest way to think about volume rendering, is that it load-balances over the i/o chunks in the dataset. Each processor is given roughly the same sized volume to operate on. In practice, there are just a few things to keep in mind when doing volume rendering. First, it only uses a power of two number of processors. If the job is run with 100 processors, only 64 of them will actually do anything. Second, the absolute maximum number of processors is the number of chunks. In order to keep work distributed evenly, typically the number of processors should be no greater than one-eighth or one-quarter the number of processors that were used to produce the dataset. For more information, see 3D Visualization and Volume Rendering.

• Don’t be afraid to change how a parallel job is run. Change the number of processors, or memory allocated, and see if things work better or worse. After all, it’s just a computer, it doesn’t pass moral judgment!
• Similarly, human time is more valuable than computer time. Try increasing the number of processors, and see if the runtime drops significantly. There will be a sweet spot between speed of run and the waiting time in the job scheduler queue; it may be worth trying to find it.
• If you are using object-based parallelism but doing CPU-intensive computations on each object, you may find that setting num_procs equal to the number of processors per compute node can lead to significant speedups. By default, most mpi implementations will assign tasks to processors on a ‘by-slot’ basis, so this setting will tell yt to do computations on a single object using only the processors on a single compute node. A nice application for this type of parallelism is calculating a list of derived quantities for a large number of simulation outputs.
• It is impossible to tune a parallel operation without understanding what’s going on. Read the documentation, look at the underlying code, or talk to other yt users. Get informed!
• Sometimes it is difficult to know if a job is cpu, memory, or disk intensive, especially if the parallel job utilizes several of the kinds of parallelism discussed above. In this case, it may be worthwhile to put some simple timers in your script (as below) around different parts.
import yt
import time

yt.enable_parallelism()

t0 = time.time()
bigstuff, hugestuff = StuffFinder(ds)
BigHugeStuffParallelFunction(ds, bigstuff, hugestuff)
t1 = time.time()
for i in range(1000000):
tinystuff, ministuff = GetTinyMiniStuffOffDisk("in%06d.txt" % i)
array = TinyTeensyParallelFunction(ds, tinystuff, ministuff)
SaveTinyMiniStuffToDisk("out%06d.txt" % i, array)
t2 = time.time()

if yt.is_root()
print("BigStuff took %.5e sec, TinyStuff took %.5e sec" % (t1 - t0, t2 - t1))

• Remember that if the script handles disk IO explicitly, and does not use a built-in yt function to write data to disk, care must be taken to avoid race-conditions. Be explicit about which MPI task writes to disk using a construction something like this:
if yt.is_root()
file = open("out.txt", "w")
file.write(stuff)
file.close()

• Many supercomputers allow users to ssh into the nodes that their job is running on. Many job schedulers send the names of the nodes that are used in the notification emails, or a command like qstat -f NNNN, where NNNN is the job ID, will also show this information. By ssh-ing into nodes, the memory usage of each task can be viewed in real-time as the job runs (using top, for example), and can give valuable feedback about the resources the task requires.

Below is a script used to calculate the redshift of first 99.9% ionization in a simulation. This script was designed to analyze a set of 100 outputs on Gordon, running on 128 processors. This script goes through three phases:

1. Define a new derived field, which calculates the fraction of ionized hydrogen as a function only of the total hydrogen density.
2. Load a time series up, specifying parallel = 8. This means that it will decompose into 8 jobs. So if we ran on 128 processors, we would have 16 processors assigned to each output in the time series.
3. Creating a big cube that will hold our results for this set of processors. Note that this will be only for each output considered by this processor, and this cube will not necessarily be filled in in every cell.
4. For each output, distribute the grids to each of the sixteen processors working on that output. Each of these takes the max of the ionized redshift in their zone versus the accumulation cube.
5. Iterate over slabs and find the maximum redshift in each slab of our accumulation cube.

At the end, the root processor (of the global calculation) writes out an ionization cube that contains the redshift of first reionization for each zone across all outputs.

import yt
from yt.utilities.parallel_tools.parallel_analysis_interface \
import communication_system

import h5py
import time
import numpy as np

@yt.derived_field(name="IonizedHydrogen", units="",
display_name=r"\frac{\rho_{HII}}{\rho_H}")
def IonizedHydrogen(field, data):
return data["HII_Density"]/(data["HI_Density"]+data["HII_Density"])

ts = yt.DatasetSeries("SED800/DD*/*.index", parallel=8)

ionized_z = np.zeros(ts[0].domain_dimensions, dtype="float32")

t1 = time.time()
for ds in ts.piter():
z = ds.current_redshift
for g in parallel_objects(ds.index.grids, njobs = 16):
i1, j1, k1 = g.get_global_startindex() # Index into our domain
i2, j2, k2 = g.get_global_startindex() + g.ActiveDimensions
# Look for the newly ionized gas
newly_ion = ((g["IonizedHydrogen"] > 0.999)
& (ionized_z[i1:i2,j1:j2,k1:k2] < z))
ionized_z[i1:i2,j1:j2,k1:k2][newly_ion] = z
g.clear_data()

print("Iteration completed  %0.3e" % (time.time()-t1))
comm = communication_system.communicators[-1]
for i in range(ionized_z.shape[0]):
ionized_z[i,:,:] = comm.mpi_allreduce(ionized_z[i,:,:], op="max")
print("Slab % 3i has minimum z of %0.3e" % (i, ionized_z[i,:,:].max()))
t2 = time.time()
print("Completed.  %0.3e" % (t2-t1))

if comm.rank == 0:
f = h5py.File("IonizationCube.h5", "w")
f.create_dataset("/z", data=ionized_z)


text:
Monday, January 27, 2014

\includegraphics{} in ps file not showing

If you are using pdf format in includegraphics, convert all of them to eps, then it will work.

Note: Remember to put \usepackage{epstopdf} in the preamble in case it prompts an error that eps is not foud.


text:
# Math Help - Remainders when large numbers are divided

1. ## Remainders when large numbers are divided

hi, can some one answer these and tell me hoe u got them?

a) determine the remainder when 2^2009+1 is divided by 17

b) prove that 30^99+61^100 is divisible by 31

c) it is known that numbers p and 8p^2+1 are primes. Find p

thnx so much u lifesaver
justanotherperson

2. Hello, Just!

b) Prove that $30^{99}+61^{100}$ is divisible by 31
We have: . $N \;=\;30^{99} + 61^{100} \;=\;30^{99} + (30+31)^{100}$

Expand the binomial: . $N \;=\;30^{99} + \bigg[30^{100} + C_1\cdot30^{99}\cdot31 + C_2\cdot30^{98}\cdot31^2 + \hdots + C_{99}\cdot30\cdot31^{99} + 31^{100}\bigg]$

We have: . $N \;=\;\bigg[30^{99} + 30^{100}\bigg] + \bigg[C_1\cdot30^{99}\cdot 31 +\; C_2\cdot30^{98}\cdot 31^2 + \hdots +\; C_{99}\cdot30\cdot31^{99} \;+\; 31^{100}\bigg]$

. . . . . . . $N \;=\;\bigg[30^{99} + \;30^{100}\bigg] +\; \underbrace{31\cdot\bigg[C_1\cdot30^{99} \;+\; C_2\cdot30^{98}\cdot 31 + \hdots +\; C_{99}\cdot30\cdot31^{98} \;+\; 31^{99} \bigg]}_{\text{a multiple of 31}}$

The first group is: . $30^{99} + 30^{100} \;=\;30^{99} + 30\cdot30^{99} \;=\;(1+30)\cdot30^{99} \;=\;31\cdot30^{99}$ . . .
a multiple of 31

Hence: . $N \;=\;31a + 31b \;=\;31(a+b)$

. . Therefore, $N$ is divisible by 31.

3. Well Soroban helped you with the hardest one but here's some help on a and c) as well if you need it.
a) Observe that 2^8 = (15*17+1). That means you can just take 2009 mod 8 to find the power of 2 you need to calculate.
c) Here's a very big hint. What is 8p^2+1 mod 3 if p leaves a remainder of either 1 or 2 when divided by 3? You'll soon see a pattern if you try a few primes, and you should be able to prove it's true for all primes of either of those forms.

4. ## Hi can someone explain (a) in more simple terms

Hi can someone explain question (a)? i dont really understand the mod8 part.

P.S. justanotherperson, do you happen to be doing euler questions from "the school"


text:
zbMATH — the first resource for mathematics

Topologies generated by discrete subspaces. (English) Zbl 1009.54005
A topological space $$X$$ is called discretely generated if for every $$A\subset X$$ the closure of $$A$$ is the union of the closures of discrete subspaces of $$A$$, and $$X$$ is a weakly discretely generated space if for every $$A\subset X$$ with $$\overline{A}\neq A$$ there exists a discrete subset $$D$$ of $$A$$ such that $$\overline{D}\smallsetminus A\neq\emptyset$$. The authors prove that sequential spaces, monotonically normal spaces and compact spaces with countable tightness are discretely generated. Also, such is a regular space $$X$$ which has a nested local base at any point of $$X$$. The authors establish that under the Continuum Hypothesis any discretely generated dyadic compact space is metrizable. They show that there exist pseudocompact Tikhonov spaces in ZFC which are not weakly discretely generated. The authors prove that any Tikhonov countably compact space of weight $$\leq\omega_1$$ is weakly discretely generated while there are models of ZFC with countably compact Tikhonov spaces of weight $$\omega_2$$ which fail to be weakly discretely generated. The paper closes with seven open problems, which indicate a natural line of further investigations on discretely and weakly discretely generated spaces.

MSC:
 54A25 Cardinality properties (cardinal functions and inequalities, discrete subsets) 54A35 Consistency and independence results in general topology 54D30 Compactness 54D55 Sequential spaces 54E35 Metric spaces, metrizability


text:
### Home > CALC > Chapter 1 > Lesson 1.3.1 > Problem1-107

1-107.

Sandra was playing around with inverses and thinks she has discovered something interesting. She thinks that if $f(x) = g^{-1} (x)$, then the area of the regions shaded at right are equal. Use $f ( x ) = \frac { 1 } { 3 } x + 1$ with $a = 3$ and $b = 5$ to verify Sandra's conjecture.

If $f(x)=\frac{1}{3}x+1$ then $f^{-1}(x)=3(x-1)$

Substitute in the values for $a$ and $b$. Are the values equal?


text:
# Continuity of functions

1. Sep 22, 2009

### dannysaf

1)Let f and g be functions such that f (x) + g(x) and f (x) − g(x) are
continuous at x = x0 . Must f and g be continuous at x = x0 ?

2)What can be said about the continuity of f (x) + g(x) at x = x0 , if
f (x) is continuous and g(x) is discontinuous at x = x0 ?

3)What can be said about the continuity of f (x)g(x) at x = x0 , if
f (x) is continuous and g(x) is discontinuous at x = x0 ?

2. Sep 22, 2009

### HallsofIvy

Re: Continuity

I think the facts that f(x)= ((f+g)(x)+ (f-g)(x))/2 and g(x)= ((f+g)(x)- (f-g)(x))/2 will help a lot!


text:
# Hirzebruch surfaces

I am sorry for too naive and stupid question,

How can I express the 2nd Hirzebruch surface, $F_{2}$ in terms of $SO(3)$. Can F_{2} be realizable as the total space of a bundle over $\mathbb{R}_{+}$ with fibre $SO(3)$.

I have to admit that my knowledge of Hirzebruch surfaces is limited to the few lines in the wikipedia page.

-
@ Grigory M - Thanks for your reply at SE. I posted this here expecting a quicker response. If the base space if a compact space, say $[a,b]$ or $S^{1}$. Thanks –  J Verma Jun 16 '11 at 19:39

What you want almost works, but with a little twist. The group $SO(3)$ is acting on $F_2$, so that there are two orbits that are $\mathbb CP^1$ and all other orbits are $SO(3)$. More precisely, $F_2$ can be seen as a compactification of $\mathbb R_+\times SO(3)$. Indeed, $F_2$ can be seen as a compactificaton of $(\mathbb C^2\setminus 0)/\pm Id$, and $\mathbb C^2\setminus 0\cong \mathbb R_+\times SU(2)$. Here $\mathbb R_+$ means positive reals.
Details. Each Hirzebruch surface $F_n$ can be obtained by a quotient construction from $F_1$. Recall, that $F_1$ is the surface that is obtained by a blow up of a single point on $\mathbb CP^2$. I.e., we "replace" a point on $\mathbb CP^2$ by $\mathbb CP^1$. Of course we all know that $SU(2)$ is acting on $\mathbb CP^2$ fixing a point and a line at infinity (just take the usual action of $SU(2)$ on $\mathbb C^2$ fixing $0$ and extend it to the action on $\mathbb CP^2$). When we blow up $0$ on $\mathbb CP^2$ the action of $SU(2)$ extends on $F_1$.
Now, $F_n$ can be obtained from $F_1$ by the quotient, $F_n\cong F_1/\mathbb Z_n$, where $\mathbb Z_n$ is the group of scalar matrices generated by $e^{2\pi i/n}\times Id$ acting in the standard way on $\mathbb C^2$ (and hence on $F_1$). Finally, notice that in the case of $F_2$ the corresponding group $\mathbb Z_2$ belongs to $SU(2)$ (since $det(-Id)=1$). And since $SO(3)\cong SU(2)/\mathbb Z_2$ this explains, hopefully, the construction.
Can you say more or suggest some reference about how $F_{2}$ is the compactification of $SO(3) \times \mathbb{R}_{+}$. –  J Verma Jun 16 '11 at 19:49


text:
# Chapter 14 - Acids and Bases - Exercises: 41

$$HClO_4 > HClO_2 > NH_4^+ > H_2O$$

#### Work Step by Step

A larger $K_a$ value determines that the acid is stronger. Therefore, the order is as follows: $$HClO_4 > HClO_2 > NH_4^+ > H_2O$$

After you claim an answer you’ll have 24 hours to send in a draft. An editor will review the submission and either publish your submission or provide feedback.


text:
# Earth Cubed

## Vector Operations in Hoskins and Simmons Coordinates

In my post Hoskins and Simmons (1974) Coordinate System, I derived the following scaling quantities which will be used to derive the vector operations of Grad, Div and Curl in Hoskins Coordinate system.

$h_{\mu}= \left| \frac{r}{\sqrt{1-\mu^2}} \right|$
$h_{\lambda}=r \mu$
$h_{\sigma} =-\sigma \frac{mg}{RT}$

The coordinates in Hoskins coordinate system are dimensionless . (see nondimentionalization of Navier Stokes).

The gradient is defined as (see lectures on coordinate transforms):

$\nabla \phi = \frac{\vec e_{\mu}}{h_{\mu}} \frac{\partial \phi}{\partial \mu} + \frac{\vec e_{\lambda}}{h_{\lambda}}\frac{\partial \phi}{\partial \lambda}+\frac{\vec e_{\sigma}}{h_{\sigma}}\frac{\partial \phi}{\partial \sigma}=\left(\vec e_{\mu}\right)\frac{1-\mu^2}{r} \frac{\partial \phi}{\partial \mu} + \left(\vec e_{\lambda}\right)\frac{1}{r \mu}\frac{\partial \phi}{\partial \lambda}-\left(\vec e_{\sigma}\right)\frac{RT}{\sigma mg}\frac{\partial \phi}{\partial \sigma}$

The divergence is defined as:

$\nabla \cdot = \frac{1}{h_{\mu}} \frac{\partial }{\partial \mu} + \frac{1}{h_{\lambda}}\frac{\partial}{\partial \lambda}+\frac{1}{h_{\sigma}}\frac{\partial}{\partial \sigma}=\frac{1-\mu^2}{r} \frac{\partial}{\partial \mu} + \frac{1}{r \mu}\frac{\partial}{\partial \lambda}-\frac{RT}{\sigma mg}\frac{\partial}{\partial \sigma}$

The curl is defined by:

$\nabla \times \vec A = \frac{1}{h_{\sigma}h_{\mu}h_{\lambda}} \left| \begin{array}{ccc} \vec e_{\sigma} & \vec e_{\mu} & \vec e_{\lambda} \\ \frac{\partial}{\partial \sigma} & \frac{\partial}{\partial \mu} & \frac{\partial}{\partial \lambda} \\ A_{\sigma}h_{\sigma} & A_{\mu}h_{\mu} & A_{\lambda}h_{\lambda} \end{array} \right|$

(note, the direction of the longitudinal coordinate $\lambda$ is defined to obey the right hand rule)

This gives for the components

$\left[ \nabla \times \vec A \right]_{\sigma}=\frac{RT}{r \mu \sigma mg}\left(\sigma \frac{mg}{RT}\frac{\partial A_{\lambda}}{\partial \mu}+ r \mu\frac{\partial A_{\mu}}{\partial \lambda} \right)$

$\left[ \nabla \times \vec A \right]_{\mu}= -\frac{\sqrt{1-\mu^2}RT}{r\sigma mg}\left( \frac{r}{\sqrt{1-\mu^2}}\frac{\partial A_{\sigma}}{\partial \lambda}+\sigma \frac{mg}{RT} \frac{\partial A_{\lambda}}{\partial \sigma} \right)$

$\left[ \nabla \times \vec A \right]_{\lambda}= \frac{\sqrt{1-\mu^2}RT}{r^2 \mu }\left( r \mu\frac{\partial A_{\mu}}{\partial \sigma}-\frac{r}{\sqrt{1-\mu^2}} \frac{\partial A_{\sigma}}{\partial \mu} \right)$

Which Simplifies to:

$\left[ \nabla \times \vec A \right]_{\sigma}= \frac{1}{r\mu}\frac{\partial A_{\lambda}}{\partial \mu}+ \frac{RT}{\sigma m g}\frac{\partial A_{\mu}}{\partial \lambda}$

$\left[ \nabla \times \vec A \right]_{\mu}= -\frac{RT}{\sigma m g}\frac{\partial A_{\sigma}}{\partial \lambda}- \frac{\sqrt{1-\mu^2}}{r} \frac{\partial A_{\lambda}}{\partial \sigma}$

$\left[ \nabla \times \vec A \right]_{\lambda}= \frac{\sqrt{1-\mu^2}RT}{r}\frac{\partial A_{\mu}}{\partial \sigma}-\frac{RT}{r\mu} \frac{\partial A_{\sigma}}{\partial \mu}$


text:
$$\require{cancel}$$

# 2.4 Atomic Phenomena

Variety is the spice of life, not of science. So far this chapter has focused on heat energy, kinetic energy, and gravitational energy, but it might seem that in addition to these there is a bewildering array of other forms of energy. Gasoline, chocolate bars, batteries, melting water --- in each case there seems to be a whole new type of energy. The physicist's psyche rebels against the prospect of a long laundry list of types of energy, each of which would require its own equations, concepts, notation, and terminology. The point at which we've arrived in the study of energy is analogous to the period in the 1960's when a half a dozen new subatomic particles were being discovered every year in particle accelerators. It was an embarrassment. Physicists began to speak of the “particle zoo,” and it seemed that the subatomic world was distressingly complex. The particle zoo was simplified by the realization that most of the new particles being whipped up were simply clusters of a previously unsuspected set of fundamental particles (which were whimsically dubbed quarks, a made-up word from a line of poetry by James Joyce, “Three quarks for Master Mark.”) The energy zoo can also be simplified, and it's the purpose of this section to demonstrate the hidden similarities between forms of energy as seemingly different as heat and motion.

### 2.4.1 Heat is kinetic energy.

What is heat really? Is it an invisible fluid that your bare feet soak up from a hot sidewalk? Can one ever remove all the heat from an object? Is there a maximum to the temperature scale?

The theory of heat as a fluid seemed to explain why colder objects absorbed heat from hotter ones, but once it became clear that heat was a form of energy, it began to seem unlikely that a material substance could transform itself into and out of all those other forms of energy like motion or light. For instance, a compost pile gets hot, and we describe this as a case where, through the action of bacteria, chemical energy stored in the plant cuttings is transformed into heat energy. The heating occurs even if there is no nearby warmer object that could have been leaking “heat fluid” into the pile.

An alternative interpretation of heat was suggested by the theory that matter is made of atoms. Since gases are thousands of times less dense than solids or liquids, the atoms (or clusters of atoms called molecules) in a gas must be far apart. In that case, what is keeping all the air molecules from settling into a thin film on the floor of the room in which you are reading this book? The simplest explanation is that they are moving very rapidly, continually ricocheting off of the floor, walls, and ceiling. Though bizarre, the cloud-of-bullets image of a gas did give a natural explanation for the surprising ability of something as tenuous as a gas to exert huge forces.

a / A vivid demonstration that heat is a form of motion. A small amount of boiling water is poured into the empty can, which rapidly fills up with hot steam. The can is then sealed tightly, and soon crumples.

The experiment shown in figure a, for instance, can be explained as follows. The high temperature of the steam is interpreted as a high average speed of random motions of its molecules. Before the lid was put on the can, the rapidly moving steam molecules pushed their way out of the can, forcing the slower air molecules out of the way. As the steam inside the can thinned out, a stable situation was soon achieved, in which the force from the less dense steam molecules moving at high speed balanced against the force from the more dense but slower air molecules outside. The cap was put on, and after a while the steam inside the can began to cool off. The force from the cooler, thin steam no longer matched the force from the cool, dense air outside, and the imbalance of forces crushed the can.

b / Random motion of atoms in a gas, a liquid, and a solid.

This type of observation leads naturally to the conclusion that hotter matter differs from colder in that its atoms' random motion is more rapid. In a liquid, the motion could be visualized as people in a milling crowd shoving past each other more quickly. In a solid, where the atoms are packed together, the motion is a random vibration of each atom as it knocks against its neighbors.

We thus achieve a great simplification in the theory of heat. Heat is simply a form of kinetic energy, the total kinetic energy of random motion of all the atoms in an object. With this new understanding, it becomes possible to answer at one stroke the questions posed at the beginning of the section. Yes, it is at least theoretically possible to remove all the heat from an object. The coldest possible temperature, known as absolute zero, is that at which all the atoms have zero velocity, so that their kinetic energies, $$K=(1/2)mv^2$$, are all zero. No, there is no maximum amount of heat that a certain quantity of matter can have, and no maximum to the temperature scale, since arbitrarily large values of $$v$$ can create arbitrarily large amounts of kinetic energy per atom.

The kinetic theory of heat also provides a simple explanation of the true nature of temperature. Temperature is a measure of the amount of energy per molecule, whereas heat is the total amount of energy possessed by all the molecules in an object.

There is an entire branch of physics, called thermodynamics, that deals with heat and temperature and forms the basis for technologies such as refrigeration. Thermodynamics is discussed in more detail in chapter 5, and I've provided here only a brief overview of the thermodynamic concepts that relate directly to energy.

### 2.4.2 All energy comes from particles moving or interacting.

If I stretch the spring in figure c and then release it, it snaps taut again. The creation of some kinetic energy shows that there must have been some other form of energy that was destroyed. What was it?

c / The spring's energy is really due to electrical interactions among atoms.

We could just invent a new type of energy called “spring energy,” study its behavior, and call it quits, but that would be ugly. Are we going to have to invent a new forms of energy like this, over and over? No: the title of this book doesn't lie, and physics really is fundamentally simple. As shown in figure d, when we bend or stretch an object, we're really changing the distances between the atoms, resulting in a change in electrical energy. Electrical energy isn't really our topic right now --- that's what most of the second half of this book is about --- but conceptually it's very similar to gravitational energy. Like gravitational energy, it depends on $$1/r$$, although there are some interesting new phenomena, such as the existence of both attraction and repulsion, which doesn't occur with gravity because gravitational mass can't be negative. The real point is that all the apparently dissimilar forms of energy in figure d turn out to be due to electrical interactions among atoms.

e / This figure looks similar to the previous ones, but the scale is a million times smaller. The little balls are the neutrons and protons that make up the tiny nucleus at the center of a uranium atom. When the nucleus splits (fissions), the source of the kinetic energy is partly electrical and partly nuclear.

Even if we wish to include nuclear reactions (figure e) in the picture, there still turn out to be only four fundamental types of energy:
•  kinetic energy (including heat)
• gravitational energy
• electrical and magnetic energy
• nuclear energy

Astute students have often asked me how light fits into this picture. This is a very good question, and in fact it could be argued that it is the basic question that led to Einstein's theory of relativity as well as the modern quantum picture of nature. Since these are topics for the second half of the book, we'll have to be content with half an answer at this point. For now, we may think of light energy as a form of kinetic energy, but one calculated not according to $$(1/2)mv^2$$ but by some other equation. (We know that $$(1/2)mv^2$$ would not make sense, because light has no mass, and furthermore, high-energy beams of light do not differ in speed from low-energy ones.)

Example 21: Temperature during boiling

$$\triangleright$$ If you stick a thermometer in a pan of water, and watch the temperature as you bring the water to a boil, you'll notice an interesting fact. The temperature goes up until the boiling point is reached, but then stays at $$100°\text{C}$$ during the whole time the water is being boiled off. The temperature of the steam is also $$100°\text{C}$$. Why does the temperature “stick” like this? What's happening to all the energy that the stove's burner is putting into the pan?

d / All these energy transformations turn out at the atomic level to be due to changes in the distances between atoms that interact electrically.

$$\triangleright$$ As shown in figure d, boiling requires an increase in electrical energy, because the atoms coming out as gas are moving away from the other atoms, which attract them electrically. It is only this electrical energy that is increasing, not the atoms' kinetic energy, which is what the thermometer can measure.

Example 22: Diffusion

$$\triangleright$$ A drop of food coloring in a cup of water will gradually spread out, even if you don't do any mixing with a spoon. This is called diffusion. Why would this happen, and what effect would temperature have? What would happen with solids or gases?

$$\triangleright$$ Figure b shows that the atoms in a liquid mingle because of their random thermal motion. Diffusion is slow (typically on the order of a centimeter a minute), despite the high speeds of the atoms (typically hundreds of miles per hour). This is due to the randomness of the motion: a particular atom will take a long time to travel any significant distance, because it doesn't travel in a straight line.

Based on this picture, we expect that the speed of diffusion should increase as a function of temperature, and experiments show that this is true.

Diffusion also occurs in gases, which is why you can smell things even when the air is still. The speeds are much faster, because the typical distance between collisions is much longer than in a liquid.

We can see from figure b that diffusion won't occur in solids, because each atom vibrates around an equilibrium position.

##### Discussion Questions

◊ I'm not making this up. XS Energy Drink has ads that read like this: All the “Energy” ... Without the Sugar! Only 8 Calories!” Comment on this.”

### Contributors

Benjamin Crowell (Fullerton College). Conceptual Physics is copyrighted with a CC-BY-SA license.


text:
# Is there an optimum length for a swing for a childs mass?

If you want to maximize the maximum velocity a child could go, what would be the optimum height?

If you wanted to maximize the efficiency of a child "pumping" their legs to gain velocity, what would be the optimum height?

I hope that I am correctly understanding how a child pumping their legs makes it possible for them to gain momentum. They shift the center of mass of the swing+child outside the normal position of being in-line with the rope/chain. By shifting the center of mass behind t's normal position, they are allowing gravity to place a small amount of force in their direction of motion. When their center of mass and the rope is parallel with the force of gravity (like a plumb bob), they cannot impart any additional velocity on their swing motion. When they are at the apex, they can impart the most force.

I imagine too short a swing, and the child will not have a very high maximum velocity, and the time between pumps will be too short.

I imagine too long, and the wind resistance will be too great, and the childs mass compared to the entire swing will be too little.

-

Well, I suspect that $M_{swing} \gg M_{legs}$ is pretty bad for the efficiency in that meaning. With a child's legs being less than 10 kg, that suggests that swing massing over ~100 kg would be impossible to move much. Of course 100 kg of steel cable makes one heck of a swing. I suspect that air resistance limits the height before we get that long, which makes my answer incomplete. In my defense I assumed you were talking about reasonably realizable swings. The tallest one I've used was about 6 meters, and I was able to get it near horizontal. That was fast. –  dmckee Feb 6 '12 at 19:00


text:
# Quantizing noise occurs in

1. PCM
2. TDM
3. FDM
4. PPM

Option 1 : PCM

## Pulse Code Modulation (PCM) System MCQ Question 1 Detailed Solution

Quantization

• It is the process through which a range of continuous analog values are quantized or rounded off to a single value, thereby forming samples of a discrete digital signal.
• Quantization Error occurs when there is a difference between an input value and it’s quantized value.
• Quantization occurs when an analog signal is converted into it’s digital form, thus it occurs in Pulse Code modulation (PCM).

PCM:

• PCM stands for Pulse Code Modulation.
• It is a technique by which an analog signal gets converted into digital form to have signal transmission through a digital network.
• The major steps involved in PCM are sampling, quantizing, and encoding.

• With PCM, the amplitude of the analog signal is sampled at regular intervals and translated into a binary number.
• The difference between the original signal and the translated digital signal is called the quantizing error.

Some Advantages associated with PCM are:

• Immunity to transmission noise and interference.
• It is possible to regenerate the coded signal along the transmission path.
• The Quantization Noise depends on the number of quantization levels and not on the number of samples produced per second.
• The storage of Coded signals is easy.

• Requires larger Bandwidth.
• Need synchronization
• Not compatible with analog systems.

# The main advantage of PCM is:

1. Less bandwidth
2. Better performance in presence of a noise
3. Possibility of multiplexing
4. Less power

Option 2 : Better performance in presence of a noise

## Pulse Code Modulation (PCM) System MCQ Question 2 Detailed Solution

• PCM (Pulse Code Modulation) is a digital scheme for transmitting analog data.
• The amplitude of an analog signal can take any value over a continuous range, i.e. it can take on infinite values.
• But, digital signal amplitude can take on finite values.
• Analog signals can be converted into digital by sampling and quantizing.

• Encoding is possible in PCM.
• Very high noise immunity, i.e. better performance in the presence of noise.
• Convenient for long-distance communication.
• Good signal to noise ratio.

• The circuitry is complex.
• It requires a large bandwidth.
• Synchronization is required between transmitter and receiver.

# The number of bits used in a 4096 level PCM system is:

1. 12
2. 16
3. 20
4. 10

Option 1 : 12

## Pulse Code Modulation (PCM) System MCQ Question 3 Detailed Solution

Concept:

The number of levels for an n-bit PCM system is given by:

L = 2n

We can also state that the number of bits for a given quantization level will be:

n = log2 L

Calculation:

The number of levels given = 4096, i.e. L = 4096

The number of bits used will be:

n = log2 (4096)

= log2 (212)

= 12 log2 (2)

n = 1

The bandwidth of PCM is given by:

$$BW=n{f_s}$$

n = number of bits to encode

fs = sampling frequency

# In PCM, if the number of quantization levels is increased from 4 to 64, then the bandwidth requirement will approximately be:

1. 4 times
2. 16 times
3. 8 times
4. 3 times

Option 4 : 3 times

## Pulse Code Modulation (PCM) System MCQ Question 4 Detailed Solution

Concept:

The number of levels for an n-bit PCM system is given by:

L = 2n

We can also state that the number of bits for a given quantization level will be:

n = log2 L

Also, the bandwidth of PCM is given by:

$$BW=n{f_s}$$

n = number of bits to encode

fs = sampling frequency

Calculation:

For L = 4 quantization levels, the number of bits n = log2 4 = 2 bits. The bandwidth is, therefore:

B.W. = 2 fs

Similarly, For L = 64 quantization levels, the number of bits n = log2 64 = 6 bits. The bandwidth is, therefore:

B.W. = 6 fs

Clearly, the Bandwidth is increased by 3 times.

# The bandwidth requirement of a telephone channel is

1. 3 kHz
2. 5 kHz
3. 10 kHz
4. 15 kHz

Option 1 : 3 kHz

## Pulse Code Modulation (PCM) System MCQ Question 5 Detailed Solution

The bandwidth requirement of a telephone channel is approximately 3 kHz.

• The internationally accepted frequency range of standard telephone channel is 300 – 3400 Hz.
• The range of audible human frequency varies from 20 Hz to about 20 kHz which is much higher than the bandwidth of the telephone channel.
• Clearly, the telephone channel's bandwidth is much lower than the human ear's audible bandwidth. The main reasons for it are:
• Acceptable Voice Quality when reproduced at the receiving end.
• Low Cost.
• Savings in Bandwidth.
• Hence, if we provide about 4 kHz of BW (including a guard band) per telephone channel, it would be sufficient for voice quality.

# Consider the following:1. Pulse-position modulation.2. Pulse-code modulation.3. Pulse-width modulation.Which of the above communications are not digital?

1. 1 and 2 only
2. 2 and 3 only
3. 1 and 3 only
4. 1, 2 and 3

Option 3 : 1 and 3 only

## Pulse Code Modulation (PCM) System MCQ Question 6 Detailed Solution

PAM (Pulse Amplitude Modulation): In analog modulation, if the amplitude of a pulse or duration of a pulse is varied according to the instantaneous values of the baseband modulating signal, then such a technique is called as Pulse Amplitude Modulation (PAM). This is similar to AM modulation in which the carrier amplitude varies according to the modulating signal.

PWM (Pulse Width Modulation)It is a process in which output signals of low frequency are generated from the input pulse of high frequency. This is similar to the FM modulation technique.

PPM (Pulse Position Modulation)Pulse Position Modulation (PPM) is an analog modulating scheme in which the amplitude and width of the pulses are kept constant, while the position of each pulse, with reference to the position of a reference pulse, varies according to the instantaneous sampled value of the message signal. This makes it similar to a Phase modulation.

PCM (Pulse Code Modulation)It is a technique by which an analog signal gets converted into digital form to have signal transmission through a digital network. ∴ This belongs to a digital modulation scheme.

# What is the required bandwidth of the PCM system for 256 quantization levels when 48 telephone channels, each bandlimited to 4 kHz, are to be time-division multiplexed by this PCM?

1. 6.246 MHz
2. 3.464 MHz
3. 3.072 MHz
4. 1.544 MHz

Option 3 : 3.072 MHz

## Pulse Code Modulation (PCM) System MCQ Question 7 Detailed Solution

Concept:

The bandwidth of a PCM system for an encoded signal sampled at a frequency of fs is given by:

B.W. = n fs

fs = Sampling frequency

n = number of bits used for encoding.

n is related to the number of quantization levels (L) as:

L = 2n

or n = log2L

Calculation:

Since the sampling frequency is not mentioned, we'll assume it to be sampled at the Nyquist rate, i.e.

fs = 2fm

fm = Maximum frequency present at the modulating signal.

∴ For the given bandlimited signal with a frequency 4 kHz, the sampling frequency will be:

fs = 2 × 4 = 8 kHz

With L = 256, the number of bits will be:

n = log2 256 = log28

n = 8 bits

Now for 48 such channels, the required bandwidth will be:

B.W. = 48 × n × fs = 48 × 8 × 8000

B.W. = 3.072 MHz

# A 5-bit encoder is used. Each level represents 1 V. On account of modulation, voltage involved is 27.39 V. The quantization error is

1. 0.39 V
2. 0.6 V
3. 0.09 V
4. 0 V

Option 1 : 0.39 V

## Pulse Code Modulation (PCM) System MCQ Question 8 Detailed Solution

In order to complete analog to digital conversion, each sample value is mapped to a discrete level (represented by a sequence of bits) in a process called quantization.

In a B-bit quantizer, each quantization level is represented with B bits, so that the number of levels equals 2B

Number of levels = 25 = 32

Each level represents 1 V, so for 32 levels = 32 V

On account of modulation, voltage involved is 27.39 V

The quantization error = 0.39 V

# A binary channel with capacity 36 kbit/sec is available for PCM voice transmission. If the signal is band-limited to 3.2 kHz, then the appropriate values of quantizing level and the sampling frequency will be, respectively

1. 32, 3.6 kHz
2. 64, 7.2 kHz
3. 64, 3.6 kHz
4. 32, 7.2 kHz

Option 4 : 32, 7.2 kHz

## Pulse Code Modulation (PCM) System MCQ Question 9 Detailed Solution

Concept:

The transmission rate of a PCM signal is given by:

Rb = nfs

n = number of bits to encode a sample

fs = Sampling frequency.

Analysis:

Given the transmission bandwidth capacity of the binary channel is:

Bch = 36 k bits / sec

The bandwidth of the message signal is fm = 3.2 kHz.

Sampling frequency must be at least:

fs ≥ 2 fm

fs ≥ 2 × 3.2 kHz

fs ≥ 6.4 kHz

Let the quantization level be q, we can write:

q = 2n

n = number of bits required to encode the sample.

Since the channel must support the data rate of the PCM signal, we can write:

Rb ≤ Rch

nfs ≤ 36        ---(1)

From the given options, the sampling frequency will be 7.2 kHz, i.e. we can write:

7.2k × n ≤ 36k

n ≤ 5

2n ≤ 25

q < 32

∴ The appropriate values of the quantizing level and sampling frequencies are q = 32 and fs = 7.2 kHz.

# Match List-l with List-II and select the correct answer using the code given below the lists : List - I List - II  A. Pilot carrier  1. Delta modulation  B. Tuned circuit  2. Frequency modulation  C. Slope oveload  3. PCM  D. A to D converter  4. Single sideband AM

1. A - 3, B - 2, C - 1, D - 4
2. A - 4, B - 2, C - 1, D - 3
3. A - 3, B - 1, C - 2, D - 4
4. A - 4, B - 1, C - 2, D - 3

Option 2 : A - 4, B - 2, C - 1, D - 3

## Pulse Code Modulation (PCM) System MCQ Question 10 Detailed Solution

Pilot carrier:

In communication, a pilot carrier is a single frequency, transmitted over a communication system for synchronization, control, continuity purposes we use it in the SSB (single sideband AM) scheme.

Tuned circuit:

A tuned circuit is nothing but a variable capacitor by varying the voltage we can vary the capacitor, by varying capacitor we can vary the frequency. It is used in FM (frequency modulation scheme)

$$f = \frac{1}{{2\pi \sqrt {LC} }}$$

When the slope of manage signal $$\frac{d}{{dt}}m\left( t \right) > \frac{{\rm{\Delta }}}{{{T_s}}}$$

Where Δ = steps sign then this problem occurs in the delta modulation (DM) scheme.

NOTE:

When $$\frac{d}{{dt}}m\left( t \right) < \frac{{\rm{\Delta }}}{{{T_s}}}$$ then granular noise error (GNE) occur.

A to D converter:

In pulse coded modulation scheme after sampling of signal, we do quantization. The process which is similar to analog to digital conversion.

# The coding system typically used in digital telemetry is

1. PPM (Pulse Position Modulation)
2. PAM (Pulse Amplitude Modulation)
3. PCM (Pulse Code Modulation)
4. PDM (Pulse Duration Modulation)

Option 3 : PCM (Pulse Code Modulation)

## Pulse Code Modulation (PCM) System MCQ Question 11 Detailed Solution

Pulse modulation is the process of transmitting signals in the form of pulses (discontinuous signal) by using special techniques.

Pulse modulation techniques are divided into two types:

Analog pulse Modulation, which includes:

• Pulse Analog Modulation (PAM)
• Pulse Width Modulation (PWM)
• Pulse position modulation (PPM)

Digital Pulse Modulation, which includes:

• Pulse code modulation (PCM)
• Delta Modulation (DM)

Telemetry may be defined as measurement at a distance.

The pulse telemetry system uses a pulse carrier, which is modulated using one of the pulse modulation techniques like PAM, PWM, PPM, and PCM.

PCM is used in digital telemetry.

# An analog voltage in the range 0 to 8 V is divided into 16 equal intervals for conversion to 4-bit digital output. The maximum quantization error (in V) is _________

## Pulse Code Modulation (PCM) System MCQ Question 12 Detailed Solution

Concept:

The concept of converting on an analog signal to its digital counterpart is explained with the help of the following diagram:

∴ The maximum quantization is given as:

$${Q_{e\left( {max} \right)}} = \frac{{\rm{\Delta }}}{2}$$

Δ = step size given by:

$${\rm{\Delta }} = \frac{{{V_{max}} - {V_{min}}}}{L}$$

L = Number of levels

Calculation:

With analog input in the range 0 to 8 V and L = 16, the step size will be:

$${\rm{\Delta }} = \frac{{8 - 0}}{{16}} = 0.5$$

Now, the maximum quantization error will be:

$${Q_{e\left( {max} \right)}} = \frac{{0.5}}{2} = 0.25$$

# Which of the following measures cannot be effective in reducing the noise?

1. Reducing in signalling rate
2. Increase in transmitted power
3. Increase in channel bandwidth
4. None of the above

Option 3 : Increase in channel bandwidth

## Pulse Code Modulation (PCM) System MCQ Question 13 Detailed Solution

Signal to noise ratio is one of the important parameters to analyze the performance of a communication system. It is, therefore, always desirable to reduce the noise power and increase the signal power for efficient transmission and reception.

The factors that determine the amount of noise present include:

Bandwidth:

• The amount of noise present is proportional to the channel bandwidth.
• More the channel bandwidth, the more will be the noise present.
• For Example, White noise is uniformly present for all the frequencies. More the bandwidth more will be the net effect of noise
• ∴ Increasing the channel bandwidth cannot help in reducing the noise.

Signaling Rate:

• More the signaling rate, narrower will be the pulses in time domain.
• Since the time and frequency domain are inversely related, more the signaling rate, more will the spread in the frequency domain.
• This will result in more interference with noise.
• ∴ Less the signaling rate, less will be the interference of noise.

Transmitted Power:

• The signal power depends on the transmitted power.
• More the transmitted power, more will be the signal power, that will result in more signal to noise ratio.
• ∴ The effect of noise is reduced when the transmitted power is increased.

# In PCM system, the encoder

1. assigns quantized values
2. changes quantized value to binary value
3. changes quantized value to numerical value
4. Changes numerical values to binary values

Option 2 : changes quantized value to binary value

## Pulse Code Modulation (PCM) System MCQ Question 14 Detailed Solution

PCM is a technique by which an analog signal gets converted into digital form to have signal transmission through a digital network.

The major steps involved in PCM is sampling, quantizing, and encoding.

Encoder:

• An encoder performs the conversion of the quantized signal into binary codes.
• This unit generates a digitally encoded signal which is a sequence of binary pulses that acts as the modulated output.
• At it is a binary encoder thus generates a binary code sequence. That is transmitted through the transmission path

Important Points

Low Pass Filter :

• Here, the message signal which is the continuous-time form is allowed to pass through a low pass filter (LPF).
• This LPF whose cutoff frequency is fm eliminates the high-frequency components of the signal and passes only the frequency components that lie below fm.

Sampler:

• The output of the LPF is then fed to a sampler where the analog input signal is sampled at regular intervals.
• This sampling frequency is so selected that it must follow the sampling theorem that is expressed as:

$${f_s} \ge 2{f_m}$$

• The output of the sampler is a signal that is discrete-time continuous amplitude signal denoted as nTs which is nothing but a PAM signal.

Quantizer:

• A quantizer is a unit that rounds off each sample to the nearest discrete level.
• The Sampler provides a continuous range signal and hence still an analog one.
• The quantizer performs the approximation of each sample thus assigning it a particular discrete level.

# A message signal having peak-to-peak value of 2 V, root mean square value of 0.1 V and bandwidth of 5 kHz is sampled and fed to a pulse code modulation (PCM) system that uses a uniform quantizer. The PCM output is transmitted over a channel that can support a maximum transmission rate of 50 kbps. Assuming that the quantization error is uniformly distributed, the maximum signal to quantization nose ratio that can be obtained by the PCM system (rounded off to two decimal places) is _____

## Pulse Code Modulation (PCM) System MCQ Question 15 Detailed Solution

Concept:

For PCM, the noise power (Np) is given by:

$${N_p} = \frac{{{{\rm{\Delta }}^2}}}{{12}}$$

Where $${\rm{\Delta }} = \frac{{{V_{peak - peak}}}}{{{2^n}}}$$

For calculating n, the bit-rate and the bandwidth of message signal is given as:

Bitrate, Rb = nfs

fs = 2fm (Nyquist criteria)

Signal power = (RMS value of signal)2

Calculation:

Given

RMS value of signal = 0.1 V

Signal power = (0.1)2 = 0.01     ---(1)

Bit rate Rb = nfs

Rb = n (2fm)

50 = n (2 × 5)

n = 5

Step size will be:

$${\rm{\Delta }} = \frac{{{V_{peak - peak}}}}{{{2^n}}} = \frac{{2V}}{{{2^5}}} = \frac{1}{{{2^4}}}$$

Now, the Noise Power will be:

$$\frac{{{{\rm{\Delta }}^2}}}{{12}} = {\left( {\frac{1}{{{2^4}}}} \right)^2}\frac{1}{{12}} = \frac{1}{{{2^8} \times 12}}$$

∴ The required Signal to Noise Ratio (SNR) will be:

$$\frac{{Signal\;power}}{{Noise\;Power}} = \frac{{0.01}}{{\left( {\frac{1}{{{2^8} \times 12}}} \right)}}$$

= 30.72

# The increase in signal-to-quantization noise ratio for a uniform PCM by an extra bit is

1. 3 dB
2. 6 dB
3. 8 dB
4. 12 dB

Option 2 : 6 dB

## Pulse Code Modulation (PCM) System MCQ Question 16 Detailed Solution

Concept:

The Signal to Noise (SNR) Ratio for a PCM system is given by:

SNR = (1.8 + 6n) dB

Where ‘n’ is the number of bits per sample.

Calculation:

For n number of bits, the Signal to Noise Ratio will be:

SNR1 = (1.8 + 6n) dB

With the increase in one bit ( "n+1" bits), the SNR becomes:

SNR2 = (1.8 + 6(n+1)) dB

SNR2 - SNR1 = 6 dB

Some salient features of a PCM system are:

• Immunity to transmission noise and interference.
• It is possible to regenerate the coded signal along the transmission path.
• The Quantization Noise depends on the number of quantization levels and not on the number of samples produced per second.

# As compared to the A-law compander, the μ-law compander produces

1. More companding at low amplitudes
2. More companding at high amplitudes
3. Less companding for low amplitudes
4. Less companding for high amplitudes

Option 1 : More companding at low amplitudes

## Pulse Code Modulation (PCM) System MCQ Question 17 Detailed Solution

Explanation:

Companding

It is used in voice signal transmission only.

• In telephone transmission, the signal variation is not uniform and the probability of occurrence of the large voltage is very less, most of the cases signal assumes lower voltages only.
• If the uniform quantizer is used most of the samples quantized into the same value and signal reconstruction is not possible.
• To overcome this problem non – a uniform quantizer is used, in this method step size depends on the probability.
• If the probability of occurrence is more then the step size should be less and vice versa.

Based on the characteristics of the compressor, companding is classified into two types.

1) μ law

2) A law

μ law

A law:

The SNR value is more when compared to μ law companding.

Conclusion:

μ-law compander produces more companding at low amplitudes.

Note:

1) The practical value of μ is 255

2) The practical value of A is 87.6

# In a Pulse Code Modulated system, the number of bits is increased from 7 to 8 bits. The improvement in signal to quantization noise ratio will be

1. 2 dB
2. 4 dB
3. 6 dB
4. 8 dB

Option 3 : 6 dB

## Pulse Code Modulation (PCM) System MCQ Question 18 Detailed Solution

The Signal to Noise (SNR) Ratio for a PCM system is given by:

SNR = 1.8 + 6n dB (where ‘n’ is the number of bits per sample)

For 8 number of bits, the Signal to Noise Ratio will be:

1.8 + 6 × 8 dB

So the SNR would increase by:

1.8 + 6 × 8  - (1.8 + 6 × 7)

= 6 dB

Some salient features of a PCM system are:

• Immunity to transmission noise and interference.
• It is possible to regenerate the coded signal along the transmission path.
• The Quantization Noise depends on the number of quantization levels and not on the number of samples produced per second.

# The secondary TDM level provides

1. 24-channels in μ –law systems and 30 channels for a-law systems
2. 48-channels in μ –law systems and 96 channels for a-law systems
3. 96-channels in μ –law systems and 120 channels for a-law systems
4. 128-channels in μ –law systems and 200 channels for a-law systems

Option 3 : 96-channels in μ –law systems and 120 channels for a-law systems

## Pulse Code Modulation (PCM) System MCQ Question 19 Detailed Solution

The Secondary TDM level provides

(i) 96-channels and 6.312 Mbps data rate in μ – law system.

(ii) 128-channels and 8.448 Mbps data rate in the A-law system.

μ -law is a companding method and it is followed in Japan and the USA.

A-law is a companding method and it is followed in India and European countries.

Companding is a process where low amplitude signals are expanded and high amplitude signals are compressed at the transmitter side and reverse operation is performed at the receiver side.

Companding is two types:

(i) μ-law Companding

(ii) A-law Companding

# In a PCM system, a five bit-encoder is used. If the difference between two consecutive levels is 1 V, then the range of the encoder is

1. 0-31 V
2. 0-30 V
3. 1-32 V
4. 1-30 V

Option 1 : 0-31 V

## Pulse Code Modulation (PCM) System MCQ Question 20 Detailed Solution

Concept:

For an 'n-bit' encoder, the number of levels will be:

L = 2n

The range of an encoder in volts can be calculated as:

0 ≤ Range ≤  (2n - 1) × Step size

Step size = Change in amplitude between two successive levels.

Analysis:

For n = 5, the number of levels will be:

L = 25 = 32

Given step size = 1 V, i.e. every successive levels has a difference of 1 V between them.

∴ The range of the encoder will be:

0 V ≤ Range ≤  (32 - 1) × 1 V

0 V ≤ Range ≤  31 V


text:
# PoS(DIS2017)196

The photon PDF from high-mass Drell Yan data at the LHC

F. Giuli

Contribution: pdf

Abstract

In this contribution, we review the results of the recent paper "The photon PDF from high-mass Drell Yan data at the LHC" (arXiv:1701.08553), where a determination of the photon PDF from fits to recent ATLAS measurements of high-mass Drell-Yan dilepton production at centre-of-mass energy of 8 TeV is presented.


text:
# LAMBDA Deep Learning Blade Server and Quad Workstation with 4-10 GPUs

#### Up to 10 GPUs. Fully Customizable. Ubuntu, TensorFlow, PyTorch, Keras, CUDA, and cuDNN pre-installed.

Operating System: Ubuntu 18.04 + Lambda Stack

Software: TensorFlow, PyTorch, Caffe, Keras, CUDA, cuDNN

Processor: 2x Intel Xeon Gold 6230 (20 Cores, 2.10 GHz)

GPUs: 8x RTX 8000 + NVLink

Memory: 768 GB

Operating System Drive: 3.84 TB NVMe

Extra Storage: 4 TB SSD

Warranty & Support: Three years of hardware coverage, plus technical support from a Lambda engineer

$64,790.00 EMAIL FOR MORE INFO Premium Lambda Blade 8x RTX 6000 2x Xeon Gold 5218 (16 Cores) 8x RTX 6000 GPUs 512 GB of Memory 1.92 TB NVMe SSD 4 TB SATA SSD Starting at$ 41,458.00

8x RTX 8000

2x Xeon Gold 5218 (16 Cores)

8x RTX 8000 GPUs

768 GB of Memory

3.84 TB NVMe SSD

4 TB SATA SSD

Starting at

$59,753.00 EMAIL FOR MORE INFO #### Trusted by thousands of customers worldwide #### Researchers and engineers at universities, start-ups, Fortune 500s, public agencies, and national labs use Lambda to power their artificial intelligence workloads. #### Trusted by thousands of customers worldwide #### Researchers and engineers at universities, start-ups, Fortune 500s, public agencies, and national labs use Lambda to power their artificial intelligence workloads. ### Deep Learning Workstation with 4 GPUs ###### GPU workstation with RTX 2080 Ti, RTX 6000, RTX 8000, or Titan V. Ubuntu, TensorFlow, PyTorch, Keras, CUDA, and cuDNN pre-installed. Trusted by Top A.I. Research Groups Lambda Stack comes free with your computer. Machine Learning libraries work out-of-the box and can be updated automatically. Explore Lambda's Research Our research papers have been accepted into the top machine learning and graphics conferences, including ICCV, SIGGRAPH Asia, NeurIPS, and ACM Transactions on Graphics (TOG). Basic Workstation 4x RTX 2080 Ti In Stock (Ships in 2-3 Days) Intel i9-9820X CPU (10 Cores) RTX 2080 Ti (11 GB VRAM) 64 GB Memory 2 TB NVMe (3,500 MB/s Read) Starting at$ 9,139

In Stock (Ships in 2-3 Days)

Intel i9-9920X CPU (12 Cores)

RTX 6000 (24 GB VRAM)

128 GB Memory

2 TB NVMe (3,500 MB/s Read)

Starting at

$21,563 Max Workstation 4x Quadro RTX 8000 In Stock (Ships in 2-3 Days) Intel W-2195 CPU (18 Cores) RTX 8000 (48 GB VRAM) 256 GB Memory 2 TB NVMe (3,500 MB/s Read) Starting at$ 33,579

RenderNet: A Deep Conv. Network for Differentiable Rendering from 3D Shapes

### HoloGAN: Unsupervised learning of 3D representations from natural images

(Submitted on 2 Apr 2019 (v1), last revised 1 Oct 2019 (this version, v2))

We propose a novel generative adversarial network (GAN) for the task of unsupervised learning of 3D representations from natural images. Most generative models rely on 2D kernels to generate images and make few assumptions about the 3D world. These models therefore tend to create blurry images or artefacts in tasks that require a strong 3D understanding, such as novel-view synthesis. HoloGAN instead learns a 3D representation of the world, and to render this representation in a realistic manner. Unlike other GANs, HoloGAN provides explicit control over the pose of generated objects through rigid-body transformations of the learnt 3D features. Our experiments show that using explicit 3D features enables HoloGAN to disentangle 3D pose and identity, which is further decomposed into shape and appearance, while still being able to generate images with similar or higher visual quality than other generative models. HoloGAN can be trained end-to-end from unlabelled 2D images only. Particularly, we do not require pose labels, 3D shapes, or multiple views of the same objects. This shows that HoloGAN is the first generative model that learns 3D representations from natural images in an entirely unsupervised manner.
 Comments: International Conference on Computer Vision ICCV 2019. For project page, see this https URL Subjects: Computer Vision and Pattern Recognition (cs.CV) Cite as: arXiv:1904.01326 [cs.CV] (or arXiv:1904.01326v2 [cs.CV] for this version)

Try the Bibliographic Explorer
(can be disabled at any time)

## Bibliographic data

[Enable Bibex(What is Bibex?)]

## Submission history

From: Thu Nguyen-Phuoc [view email][v1] Tue, 2 Apr 2019 10:36:01 UTC (4,497 KB)
[v2] Tue, 1 Oct 2019 10:41:28 UTC (3,832 KB)


text:
Proposed unidirectional authentication scheme

I've been looking around for a way to authenticate a client to the server and deliver a message, but in a unidirectional fashion - that is, the client sends messages to the server, but the server cannot send anything to the client. I want to both deliver the message and also convince the server that the client does indeed know a PSK.

When two way communication is available, the trivial solution would be to use something like SRP, or to simply have the server generate a nonce and the client then uses the encrypted nonce as a verification tag for the message:

M = message
K = pre-shared key
N = <random> (nonce)

C --> S: <request nonce>
S --> C: N
C --> S: Enc(K, N | M)

As long as the nonce is indeed unique, the client will be able to prove to the server that it has possession of K.

However, in the case of a one-way client to server communication, having the client generate the nonce allows an eavesdropper to replay a previous message:

C --> S: N | Enc(K, N) | Enc(K, M)

Without the channel back from the server to the client, the server has to accept the client's choice of a nonce and therefore a passive attacker can choose a previously-sent message while an attacker that manages MitM can intercept messages and resend them at will.

Here is my proposal:

M = message
K = pre-shared key
N = <random> (nonce generated by the client)
R = time slice size (the length of time the nonce will be valid)
T = time-stamp / R

C --> S: N | Enc(K, N | T) | Enc(K, M)

The server can validate the signature by calculating Enc(K, N | T) from the clear-text N and its own time-stamp and comparing to the message from the client - possibly allowing the previous and next time slices in case of clock drift. Once confirmed, the server can safely Dec(K, M) to get the message.

This scheme is still vulnerable to an attacker replaying a message within the time window R, so the server has to maintain a cache of all nonces used within the time window, and ignore any message that starts with a nonce that has already been cached. The cache can be discarded when its time has expired.

I've spent a couple of hours turning this around in my mind, and so far other than the obvious need to have an accurate time source, I don't see an issue with this scheme. I'd appreciate it if someone could verify my design.

Edited: Thanks to a comment, I'll mention that an assumption I've made is that both client and server can get accurate time using, for example, NTP.

• The point of a nonce is that it's never reused. Why not have the server just verify that the nonce wasn't reused (for instance, by making it a counter and having the server keep track of the highest counter value seen in a valid message)? Aside from that, this is roughly how Kerberos does authenticators; one big negative is that you need fairly synced clocks (the standard way, incidentally, is to put the actual timestamp in the message directly and have the server check that the timestamp isn't too long ago). – cpast May 16 '15 at 2:18
• @cpast because: 1. I don't want the server to have to remember all used nonces for all times 2. A counter would have to be tracked by both the client and the server, and they could go out of sync without any facility to get them back into sync. Time is more-or-less universal, and both client and server could sync with time servers. I didn't mention that in my post, but both client and server are able to get accurate time, they're both on-line. I'll edit. – Arik Baratz May 16 '15 at 11:15


text:
# Definition of completeness in Quantum Mechanics

I am struggling with the concept of completeness in Quantum Mechanics. I have studied the theory of Hilbert spaces and I know that an orthonormal set is defined to be complete if it is maximal.

However, my QM professor stated that an orthonormal set of eigenstates is complete if and only if by definition its spectrum is non-degenerate. This is where I am lost, because it is the same as requiring that all eigenspaces be 1-dimensional, whereas there are plenty of examples of degenerate spectra. Can anyone help me? What is the definition of completeness?

EDIT: I think I got it. An orthonormal subset of a Hilbert space $$\mathcal{H}$$ is complete if it is maximal. There is another notion of completeness though. A set of observables, represented by the commuting selfadjoint operators $$A_1, \dots, A_n$$ on $$\mathcal{H}$$, is complete if its spectrum is non-degenerate. In this case, there exists a unique (up to normalization) orthonormal basis of eigenstates.

• Commuting self-adjoint operators have the same eigenstates. So you only need one of them. The non-degeneracy implies that these eigenstates are orthogonal. The non-degeneracy does not impose the completeness. You can also have a complete basis when there are degeneracies, but then the basis is not unique. Apr 24 '21 at 4:23
• This is what I thought initially, but then I can't work out why my QM professor defines a set of operators to be complete if there is no degeneracy. He may just be wrong at this point. Apr 24 '21 at 8:33
• Get yourself a good book on functional analysis. Then you can find out what actual definitions of these concepts are. Apr 25 '21 at 4:44

The degeneracy only affects the orthogonality in the sense that the basis elements of an orthonormal set would not be unique. When the spectrum is non-degenerate then the orthonormal set would be unique. One can still have an orthonormal set for the case where there are degeneracies, but then any two elements with degenerate eigenvalues can be replaced by suitable linear combinations of them.

Does it make sense? If not I can add some math.

• It makes perfect sense, but I don't understand why we should limit ourselves to the non-degenerate case. I see nothing wrong with having multiple bases. We just choose one and move on, right? Or is that physically unacceptable? Apr 23 '21 at 9:31
• The issue comes with the fact that you refer to eigenstates. That begs the question of some Hermitian operator, perhaps the Hamiltonian, which would then introduce the possibility for degeneracies. When we talk about a Hilbert space, there is no Hermitian operator per se. Hence, we can select any orthonormal basis. But it may not be convenient to use when studying a specific Hermitian operator and its spectrum. Apr 23 '21 at 13:02
• I still don't get it. It seems to me that there are two definitions of completeness. Dirac says that a complete set of eigenstates is a Hilbert basis, without ever mentioning degeneracy. I'm a bit confused... Apr 23 '21 at 14:32
• Ok, I think I got it. I have edited the question to include my answer. Apr 23 '21 at 14:42

A set of $$n$$ orthonormal eigenstates if there are $$n$$ eigenvalues obviously is only complete if there is no degeneracy. However such a statement is not very useful in my opinion. A set of $$n$$ orthonormal eigenstates matches the description of an orthonormal set regardless of $$n$$, but if $$n$$ is less than the number of eigenstates, including degeneracies, it is also not complete. This is another rather useless statement. A true, useful statement is that not all true statements are useful.

• I don't agree with the first statement you made. I know that if the $n$ eigenvalues are distinct, then the corrisponding eigenvectors are linearly independent. The converse is not true though. Apr 23 '21 at 14:23
• I don't see your point. The statement is that the $n$ states are orthonormal, so they are independent as well. Apr 23 '21 at 15:13
• Yeah you're right, sorry. I still think what you wrote is wrong though. Anyway, I found a solution and I have edited my question. Apr 23 '21 at 15:22
• Why? Anyway good luck with your mathematicsl quest. Apr 23 '21 at 18:59
• I think a set of $n$ orthonormal eigenstates could form a basis even if it is degenerate. But I might just be tripping. Apr 23 '21 at 21:32


text:
Contents

# Contents

## Idea

Much like the Gamma function generalizes the functional equation

$\Gamma(z + 1) \;=\; z \, \Gamma(z)$

to non-integer values of $z$, so the Barnes $G$-function $G(-)$ corresponds to the functional equation

(1)$G(z + 1) \;=\; \Gamma(z) \, G(z) \,.$

Just as for $z =n \in \mathbb{N}$, $\Gamma(n+1) = n!$, so $G(n+2) = n!(n-1)! \cdots 1!$.

(…)

## Properties

### Special values

(2)$G(1) \;=\; 1$
$G(1/2) \;=\; 2^{1/24} \cdot e^{ \tfrac{3}{2} \zeta^'(-1) } \cdot \pi^{ - 1/4 } \,.$

(WP here)

### Stirling-like asymptotic expansion

$ln G(1 + z) \;=\; z^2 \left( \tfrac{1}{2} ln(z) - \tfrac{3}{4} \right) + \tfrac{1}{2} ln(2 \pi) z - \tfrac{1}{12} ln(z) + \zeta^'(-1) + \mathcal{O}(z^{-1}) \,,$

where $\zeta$ denotes the Riemann zeta function.

(e.g. WP here, WMW (14))

### Relations to the Gamma-function

A version of the Gauss multiplication formula for the Gamma function:

###### Proposition

$\underoverset {j = 1} {N} {\prod} \Gamma(j/2) \;=\; \frac { G(N/2+ 1) \cdot G(N/2 + 1/2) } { G(1/2) } \,.$

(Kotěšovec 13, p. 2)
###### Proof

By repeated use of the translation formula (1) and using the initial value $G(1) = 1$ (2):

In the case that $N = 2M$ in an even number:

$\underoverset {j = 1} {N} {\prod} \Gamma(j/2) \;=\; \underoverset {j = 1} {M} {\prod} \Gamma(j) \cdot \underoverset {j = 1} {M} {\prod} \Gamma(j - \frac{1}{2}) \;=\; G(M+1) \cdot G(M +1/2) /G(1/2) \;=\; G(N/2 + 1) \cdot G(N/2 + 1/2)/G(1/2).$

In the case that $N = 2M+1$ is an odd number:

$\underoverset {j = 1} {N} {\prod} \Gamma(j/2) \;=\; \underoverset {j = 1} {M} {\prod} \Gamma(j) \cdot \underoverset {j = 1} {M+1} {\prod} \Gamma(j - \frac{1}{2}) \;=\; G(M+1) \cdot G(M +3/2) /G(1/2) \;=\; G(N/2 + 1/2) \cdot G(N/2 + 1)/G(1/2).$