text:
# Need help understanding inductors

1. Aug 29, 2015

### Curious146

I'm having a hard time visualizing what is happening in an inductor and why it is happening. I understand the graphs and practical application but I can't seem to physically understand what is happening as you pass current through the inductor besides the fact that it builds a magnetic field. I think the relationship between the magnetic field and the circuit is confusing me.

If anyone could help me with a basic explanation of why an inductor resists change to current it would be greatly appreciated.

2. Aug 29, 2015

### Staff: Mentor

Welcome to the PF, Curious.

At least for me, the basic inductor differential equation has helped me the most to feeling comfortable using them:

$$v(t) = L \frac{di(t)}{dt}$$

So the voltage across an inductor is related to the change in the current through the inductor. This helps to explain the phase shift in voltage across inductors in circuit analysis problems, and also helps to understand the kickback voltage that is generated when you open a circuit that has an inductor carrying a current through it.

3. Aug 29, 2015

### dlgoff

This interactive image from the HyperPhysics website may give you ways to visualize the differential equation that berkeman provided and the physics behind it.

4. Aug 30, 2015

### meBigGuy

di/dt is the change in current per unit time. It is key to understanding inductors.

When a current goes through an inductor it creates a magnetic field. You just need to accept that or watch some feynman physics lectures (well, youtube might have some videos, too) Creating that field required energy. When you initially apply voltage to an inductor, initially there is no field. The current slowly starts ramping up as the field is created. (di/dt is created by V based on the inductor size) The formation of the field resists (slows, or impedes) the growing current. An ideal inductor has no ohmic resistance so the current, and the field, can grow forever for any given V. If I stop the current from growing (which, strangely enough, leaves zero voltage across the inductor since di/dt is zero), the field is simply maintained. If I reduce the current, the field collapses some while trying to keep the current the same (and a voltage results).

So the basic action of an inductor is that it resists current changes through stored energy in its magnetic field. Increasing current is resisted by the growing field, decreasing current is resisted by the collapsing field.
If I stop the current altogether, I get a huge voltage as the field collapses and creates an infinite voltage to try to maintain the field.

v(t)=L di(t)dt basically means that applying a constant voltage causes a constant ramp in current (regulated by the increasing magnetic field).

To say it another way, the creation of a magnetic field induces current that impedes the growth of the field. The field changes cutting across the wires always resists the current that is creating or collapsing the field.

According to Lenz's law the direction of induced e.m.f is always such that it opposes the change in current that created it.

5. Aug 30, 2015

### William White

Its important to get the terminology correct in the case of inductors.

Ideal inductors don't resist change in current; they oppose a change which is a crucial difference.

The total opposition to current in an AC circuit is impedance, or which resistance is just a part. Of course, in reality, all components have a resistive element, but this is a different process, and its important not to confuse the two, because very different results arise.

6. Aug 30, 2015

### cnh1995

Inductor stores energy in magnetic form. When you apply step voltage to an RL circuit, inductor acts as an open switch at that instant, causing all the voltage to drop across it. It opposes the applied voltage till the rate of change of current is 0 (almost), which depends on the time constant L/R. This behavior is best explained with a differential equation that you already know. As the current builds up, energy gets stored in the inductor and it finally becomes LI2/2 at the steady state. If you removed L from the circuit, the steady state would appear instantly after applying the voltage. But with inductor, it takes some time (in which the inductor stores energy) to reach the same steady state condition.

7. Aug 30, 2015

### jim hardy

Charge in motion is current
but unlike matter in motion, charge has no mass to establish inertia.

There's a quaint property of the universe that surrounds charge in motion with a magnetic field,
and that's where charge in motion stores its "inertia".

Mass in motion has kinetic energy ½ M v2
Charge in motion has energy (Kinetic or Potential? i'm unsure) ½ L I2
where L is inductance of the circuit, amount of magnetic flux per amp.
We can physically arrange the circuit to maximize inductance.

so what goes on in an inductor is: electrical energy is moved from the source into the magnetic field, to be returned at some later time.

magnetic field around a wire , courtesy http://hyperphysics.phy-astr.gsu.edu/hbase/magnetic/magcur.html

arranging the circuit for more inductance

any help ?

old jim

8. Sep 2, 2015

### Staff: Mentor

Note to participants: please reserve inclusion of losses for another thread.

The goal in the present discussion is towards an understanding of pure inductance as a circuit element.

9. Sep 2, 2015

### jim hardy

It was observed before it was figured out. Look up Lenz's law.

Here is a simplistic explanation at the nuts & bolts level.

In this inductor, should current try to change because of something somebody did out there in the external circuit,
the magnetic field must grow or shrink.
As it does, the magnetic lines move outward or inward. As they cross the conductors they apply force to free charges inside the conductors. You do believe in QV cross B ?
Those forces, integrated along the length of the wire, make a voltage at the inductor's terminals that opposes the change in current.
(Search on Lenz's Law).

Now as you know, rate of change is slope on a graph ,
and rate of change of current of current is di/dt,
and the voltage across an inductor is L * di/dt

Sinusoids don't change shape when you differentiate them so it's not apparent by looking at them this derivative exists, all you see is phase shift.

Here's an actual 'scope photo of volts across an inductor with a triangle wave current

current above, ~20 ma p-p
voltage below , somewhat less than a volt p-p

Triangle wave current has two distinct slopes
and (almost) square voltage wave has two distinct levels,
which to me is visual proof e = L di/dt.
(Rounded corners of squarewave are a secondary effect from imperfect iron core in this inductor. They weren't there with air core.)

The inductor does its best to keep current constant.

Same exact reason a flywheel resists change in rotation. Energy is conserved. Magnetic of the inductor field stores it .

There's probably an electrical analogy to gyroscopic properties of a flywheel too, but my vector calculus is too weak to explore that thought.

Any help? When your mind will work it like inertia, the formulas become intuitive.
Surely you've spun motors by hand and felt their inertia. The work you put in with your hand comes back out as force opposing your hand, not as heat. Energy is stored in the inertia for return later. Just like an inductor.

I oversimplify this way to help you over the same stumbling blocks i struggled past.
Work those differential equations and refine your mental model until the math flows naturally from it. That sure beats cramming for exams...

old jim

10. Sep 2, 2015

### LvW

If it helps - I can offer another "analogy", which is even more than an anlogy:
We can replace the energy of the magnetic field by the energy of the E-field of a capacitor.

The background is as follows: There is an active electronic circuit involving two opamps which can mimic the behaviour of a passive one-sided grounded coil (inductor).
The core of this circuit is the so-called "generalized impedance converter (GIC)" which often is used as a replacement for an inductor in active filters and oscillator circuuits.
This GIC based active inductor consists of two equal opamps, 4 equal resistors and one capacitor and the "simulated" inductance is L=R²C (unit is Henry).
It has been prooved that this circuit can replace a grounded inductor in the time as well as in the frequency domain.
And the "inductive" behaviour of the circuit can be verified using the voltage storage capabilities of the capacitor.

PS: Keyword GIC can be found in wikipedia.

11. Sep 2, 2015

### jim hardy

that's a handy circuit

i once used this one, from old National appnote AN31 ?

http://www.ti.com/ww/en/bobpease/assets/AN-31.pdf

but GIC is new to me.....

if every day i learn something new, i should eventually know something.

old jim

12. Sep 3, 2015

### meBigGuy

Doesn't seem to be one. Do you have a link you like for GIC. Can it emulate ideal inductors? or is it someone limited like the Gyrator.

13. Sep 3, 2015

### meBigGuy

I would love to change all instances of the word "resists" to "opposes" in my post #4 as suggested by William White in post #5. He is absolutely correct.

Yet another summary of that which precedes:

A growing field cuts through coil turns inducing a current that opposes the growing current that is causing the field. And vice versa: A shrinking field cuts through the coil turns and induces a current that opposes the reduction in current that is shrinking the field. The inductor naturally opposes any change in current. This causes it to impede AC currents (quantified as impedance).

Inductor Field energy increases or decreases with the square of the current. ½ L I2
The current change either requires that energy be supplied to the field (for increasing current) or be dissipated externally (for decreasing current).

When the current is shut off abruptly and completely, the ideal inductor will create an infinite voltage to maintain the current flow and dissipate its stored energy. Sparks will generally ensue.

14. Sep 3, 2015

### LvW

Sorry - you are right. I was of the opinion that wiki has a description. As it seems - that is not the case.
Here is a good link (GIC for an "ideal" inductor - as far as a real opamp does allow it):

(Sorry - this works only if you are registered/logged in to the site). Therefore, I have nclosed a pdf paper (active inductor on page 10).

Such a two-opamp circuit is often used in active filters (active realization of LRC structures).

A comment to Jim Hardy`s circuit: This is one version of a LOSSY inductor; however, I think it is an equivalent to a real inductor (coil) in the frequency domain only (sinusoidal signals in the time domain).
It does not mimic the true step response of a lossy inductor.

#### Attached Files:

• ###### ActiveL_FDNR_Leapfrog.pdf
File size:
894.9 KB
Views:
478
Last edited: Sep 3, 2015
15. Sep 19, 2015

### leright

Hey Curious,

Basically, time varying magnetic flux through the inductor is generated by the time varying current (magnetic fields are generated by currents through wires and moving charges) flowing through the inductor (remember inductors only have an effect for time varying currents). We know from Faraday's law and Lenz's law that a voltage is induced across the inductor in such a way that it produces a current that opposes the change in the flux caused by the original changing current. Generally, Faraday's law and Lenz's law are axiomatic descriptions of nature but really there are more fundamental explanations for these phenomena based on special relativity. Basically, nature does not like changing magnetic flux/fields and generates EMFs (voltages) that resist these changing fluxes (and in turn resists the change in the current). Also, I think Jim's analogy to inertia for massive bodies is excellent and I never thought about it quite that way before.

Regards,
Matt

16. Sep 30, 2015

### Bringitondown

Hi All,

Silly question here i'm sure. But.

Why does current not travel the shortest distance across an inductive coil (if the coils are physically touching and not insulated) instead of all the way through the coil.

Any insight.

Thanks.

17. Sep 30, 2015

### Staff: Mentor

In that case, you'd expect it would take the shortest/easiest path, and it will; the consequence being that it won't show the value of L you'd designed for. So because we need the current to follow the full path along the wire you must space the turns so each is separated from its neighbours by an air gap, or else coat the wire with another form of insulation.

18. Sep 30, 2015

### Bringitondown

Thanks for the reply NascentOxygen,

So If the windings are touching in an Inductor, transformer, motor/generator etc they will always have a form of insulation?
What has thrown me is that in some pictures of the components stated it looks like there is no insulation, but from your reply I assume that there would be some sort of clear insulating varnish or something similar.

Thoughts?

Thanks

19. Sep 30, 2015

### Bringitondown

eg.

20. Sep 30, 2015

### Staff: Mentor

As NO says, they are generally insulated. "Magnet Wire" has very thin insulation, since the voltage between adjacent turns is usually low. You can get magnet wire with standard thin insulation, or with "double build" or "triple build" insulation thicknesses, if you need more insulation or if you need the extra physical strength (with very fine magnet wire).


text:
# tl ; dr

In this post I look at the family of collexeme analysis methods originated by Gries and Stefanowitsch. Since they use a lot of Base R, and love using vectors, there is a hurdle that needs to be conquered if you are used to the rectangles in tidy data. I first give an overview of what the method tries to do, and then at the end show the hurdle in detail, followed by the steps necessary to enable the computation of the desired variables and statistical tests (association measures). Basically, you need to convert from pure tidy data to a tidy contingency format.

# Introduction

So in order to finalize my database on Chinese ideophones, creatively entitled CHIDEOD, I decided to work through Stefan Gries’s Quantitative corpus linguistics with R (2016; 2nd edition; companion website here).
That together with Natalia Levshina’s How to do linguistics with R (2015; 1st edition; companion website here), which I worked through last June, has given me a lot of inspiration to tackle a number issues I have been struggling with, or at least thinking about without really knowing how to tackle them — I guess that counts as struggling with. By the way, it is locally kind of confirmed currently that Levshina will be a keynote speaker at our CLDC conference in May. So you can already prepare those abstracts if you wish to attempt to present here in Taipei.

Anyway, one of the more intriguing family of methods to investigate the relation between constructions and words that fill the slots is the family of collexeme analysis.

# What is collexeme analysis?

As Gries (2019) discusses, the methodology of collexeme analysis is an extension of the notions of a) collocation (which words really belong together, e.g. watch TV and watch a movie will have a stronger collocational bond than watch a powerpoint presentation, although the latter has become a weekly activity), and b) colligation (what constructions belong together, e.g. watch will typically be followed by a noun, although verb phrases like watch him play also occur).

So the basis of this method is a contingency table (or cross-table; or kruistabel if you love Dutch; lièlián biǎo 列聯表 in Chinese (apparently)). Basically, something like this, that should look somewhat familiar:

Element 2 Not element 2 / other elements Sum
Element 1 a b a + b
Not element 1 / other elements c d c + d
Sum a + c b + d a + b + c + d

These letters (a, b, c, d) play an important role in colloxeme analyses. So stay tuned for that.

## Approach 1: Collexeme analysis

So what Stefanowitsch & Gries (2003) wanted to investigate was the [N waiting to happen] construction, e.g. an accident waiting to happen, a disaster waiting to happen etc. In this collexeme analysis you are quantifying to what degree the words found in a corpus occur in that construction: are they attracted or repulsed, and by how much?

In this scenario, element 1 is e.g. an accident, and element 2 the construction waiting to happen.

waiting to happen not waiting to happen Sum
an accident a b a + b
not an accident c d c + d
Sum a + c b + d a + b + c + d

## Approach 2: Distinctive collexeme analysis

A year later, Gries & Stefanowitsch (2004) extended the methodology to quantify to what degree the words prefer to appear in one of two constructions. For example, the ditransitive give him a call vs. the prepositional give a call to him. Here the table changes into:

ditransitive prepositional Sum
give a b a + b
not give c d c + d
Sum a + c b + d a + b + c + d

## Approach 3: Co-varying collexeme analysis

The third seminal paper was published in the same year (Gries & Stefanowitsch 2004; ISBN: 9781575864648) sought to quantify the attraction / repulsion between two different slots in a construction, e.g. trick … into buying, force … into accepting etc. For this, the table is adapted to:

accepting not accepting Sum
force a b a + b
not force c d c + d
Sum a + c b + d a + b + c + d

## Okay, I get that table stuff, what next?

Let’s say you were able to get the frequencies from a corpus – I should probably mention that, *cough* *cough* not everybody agrees with this kind of contingency tables, the overview paper by Gries (2019) has plenty of interesting references and exciting rebuttals – and you have this table, possibly for lots of elements and/or constructions.

We’ll keep an example here that I calculated with Gries’s (2016) book mentioned above. One of the case studies looks at verbs that co-occur with the modal verb must, e.g. must accept, must agree, must confess, vs. how much these verbs occur with other modal verbs, e.g should accept, should agree etc. So in this case, element 1 was a verb (confess) and element 2 was must; not-element-1 were all the other verbs, and not-element-2 were all the other modal verbs.

The respective table from an abstract level looks like this:

must not must Sum
confess a b a + b
not confess c d c + d
Sum a + c b + d a + b + c + d

I got these frequencies from the BNC (as Gries shows in his book, but I used my tidyverse skillsTM to get them, so if they are slightly off, then it was because of not following his script completely):

must not must Sum
confess 11 1 12
not confess 1990 62114 64104
Sum 2001 62115 64116

Or in a Base R table:

a <- 11
b <- 1
c <- 1990
d <- 62114

confess <- c(a, b)
notconfess <- c(c, d)

must.table <- rbind(confess, notconfess)
colnames(must.table) <- c("must", "notmust")
must.table
##            must notmust
## confess      11       1
## notconfess 1990   62114

What do you do now?

Now it’s time for letter math!

The association measure (read: statistical test) that Gries & Stefanowitsch, as well as others, have used most is the Fisher Yates Exact test, and more precisely the negative $$log10$$ of its $$p$$-value. Underlying this (see the link in this paragraph) are calculations using those letter cells (a,b,c,d). Luckily we don’t need to do that manually because R has a function for this – fischer.test():

fisher.test(must.table)
##
##  Fisher's Exact Test for Count Data
##
## data:  must.table
## p-value = 3.106e-16
## alternative hypothesis: true odds ratio is not equal to 1
## 95 percent confidence interval:
##     49.90447 13241.49567
## sample estimates:
## odds ratio
##   344.6593

So as you can see the pvalue is 3.105600710^{-16}. If we take the negative $$log10$$ of this, it becomes 15.5078544, which gives us the result we expected.

An easier way of computing the Fisher Yates Exact test of this table is by using the letter math and the pv.Fischer.collostr function provided by Levshina’s Rling package:

Rling::pv.Fisher.collostr(a, b, c, d)
## [1] 3.105601e-16

Other tests that have been proposed are so-called Reliance and Attraction (cf. Schmid & Küchenhoff 2013 a.o.). Reliance is the relative frequency of a verb (confess) with must with regard to all uses of the given verb; Attraction is the relative frequency of a verb (confess) with must based on all usages with must.

$Reliance = \frac{a}{a+b}$

$Attraction = \frac{a}{a+c}$

attraction <- a / (a+c) * 100
reliance <- a / (a+b) * 100

The Attraction of confess and must is 0.5497251 and the Reliance is 91.6666667. This high Reliance means that whenever confess occurs in the corpus after a modal it relies on must to occur. Its Attraction, however, has a much lower value: must does not necessarily occur with confess, in fact, it occurs with lots of other verbs as well!

The third group of tests is actually correlated to Attraction and Reliance: respectively $$\Delta P_{word \to construction}$$ and $$\Delta P_{construction \to word}$$ (cf. Ellis & Ferreira-Junior a.o.). They are also known as tests of cue validity and are caluclated as follows:

$\Delta P_{word \to construction} = cue_{construction} = \frac{a}{a + c} - \frac{b}{b + d}$

$\Delta P_{construction \to word} = cue_{verb} = \frac{a}{a + b} - \frac{c}{c + d}$

dP.cueCx <- a/(a + c) - b/(b + d)
dP.cueVerb <- a/(a + b) - c/(c + d)

So the $$\Delta P_{word \to construction}$$ of must confess is 0.0054812 and the $$\Delta P_{construction \to word}$$ of must confess is 0.8856234, so these numbers look a lot like those of Attraction and Reliance.

Anyway, I think you get the drift: if you have the contingency table, you choose an association measure (there are more than these three sets) and analyze the results.

# Tidy collostructions

So if that’s so clear, why am I writing this post? For me, the main difficulty with the approach is that Gries and Levshina love writing things in Base R (Gries even more than Levshina). But to someone who really started to appreciate R after the tidyverse became more available, there is this dissonance with the way they go about things.

One of the biggest difference is the obsessive-compulsion of tidyverse to think in rectangles, a.k.a. dataframes or tibbles, rather than the vector( letter)s that Gries and Levshina love using, especially in their letter mathematics.

As a consequence of this “rectangling” and tidy format (long and skinny), rather than contingency format (2 x 2), it is challenging to compute even basic chisquare.tests.

So in Base R, a chisquare is easy to compute, but then hard to continue working with, because this thick text block is given and you can’t really access the contents (but there are solutions, like broom::tidy):

chisq.test(must.table)
## Warning in chisq.test(must.table): Chi-squared approximation may be
## incorrect
##
##  Pearson's Chi-squared test with Yates' continuity correction
##
## data:  must.table
## X-squared = 282.63, df = 1, p-value < 2.2e-16

In a tidy format, you typically have to jump through a lot of hoops to either get to use the same function or use one of the newer alternative functions:

library(tidyverse)
must.tibble <- tribble(
~ verb, ~ must, ~notmust,
"confess", 11, 1,
"notconfess", 1990, 62114
)
must.tibble %>% kable()
verb must notmust
confess 11 1
notconfess 1990 62114
# this function will give you bad output
# so you can't just simply do this
chisq.test(must.tibble$must, must.tibble$notmust)
## Warning in chisq.test(must.tibble$must, must.tibble$notmust): Chi-squared
## approximation may be incorrect
##
##  Pearson's Chi-squared test with Yates' continuity correction
##
## data:  must.tibble$must and must.tibble$notmust
## X-squared = 0, df = 1, p-value = 1

## Hoop 1: make it really tidy

must.tibble %>%
pivot_longer(cols = c(must, notmust),
names_to = "modal",
values_to = "n") %>% # now it is really tidy
kable()
verb modal n
confess must 11
confess notmust 1
notconfess must 1990
notconfess notmust 62114

## Hoop 2: uncount

must.tibble %>%
pivot_longer(cols = c(must, notmust),
names_to = "modal",
values_to = "n") %>% # now it is really tidy
uncount(n)  # uncount
## # A tibble: 64,116 x 2
##    verb    modal
##    <chr>   <chr>
##  1 confess must
##  2 confess must
##  3 confess must
##  4 confess must
##  5 confess must
##  6 confess must
##  7 confess must
##  8 confess must
##  9 confess must
## 10 confess must
## # … with 64,106 more rows

## Hoop 3: convert to table

must.tibble %>%
pivot_longer(cols = c(must, notmust),
names_to = "modal",
values_to = "n") %>% # now it is really tidy
uncount(n)  %>% # uncount
table() # turn to Base R table
##             modal
## verb          must notmust
##   confess       11       1
##   notconfess  1990   62114

## Hoop 4: chisquare

must.tibble %>%
pivot_longer(cols = c(must, notmust),
names_to = "modal",
values_to = "n") %>% # now it is really tidy
uncount(n)  %>% # uncount
table() %>% # turn to Base R table
chisq.test()
## Warning in chisq.test(.): Chi-squared approximation may be incorrect
##
##  Pearson's Chi-squared test with Yates' continuity correction
##
## data:  .
## X-squared = 282.63, df = 1, p-value < 2.2e-16

## Hoop 5: tidy with broom

must.tibble %>%
pivot_longer(cols = c(must, notmust),
names_to = "modal",
values_to = "n") %>% # now it is really tidy
uncount(n)  %>% # uncount
table() %>% # turn to Base R table
chisq.test()%>%
broom::tidy() %>%
kable()
## Warning in chisq.test(.): Chi-squared approximation may be incorrect
statistic p.value parameter method
282.6321 0 1 Pearson’s Chi-squared test with Yates’ continuity correction

I know there are some tidyverse-friendly functions like infer::chisq_test, but it seems to lack arguments like expected values (chisq.test()\$exp). So this awkward hoop jumping is annoying but gets the job done (for now?).

## From tidy to contingency

Anyway, while for most summary statistics a tidy format (see hoop 1) is the easiest to work with, I don’t think it’s very intuitive for the association measures paradigm.

So in this working example of must + V_inf_ construction what I did was get all the occurrences of all modal verbs + verbs in the infinitive from the BNC corpus. The second step I did was add a column with dplyr::case_when to identify if a modal verb was must or another modal verb.

Let’s look at this data shall we:

df.must
## # A tibble: 64,116 x 3
##    modal  verb      mod.type
##    <chr>  <chr>     <chr>
##  1 can    find      OTHER
##  2 should stop      OTHER
##  3 should recognise OTHER
##  4 will   cost      OTHER
##  5 might  think     OTHER
##  6 can    sink      OTHER
##  7 can    change    OTHER
##  8 must   help      MUST
##  9 ll     help      OTHER
## 10 ll     take      OTHER
## # … with 64,106 more rows

As you can see there are 64116 rows, and the table is just a count away form being tidy.

tidy.df.must <- df.must %>%
count(mod.type, verb, sort = TRUE)
tidy.df.must
## # A tibble: 2,522 x 3
##    mod.type verb      n
##    <chr>    <chr> <int>
##  1 OTHER    get    3750
##  2 OTHER    go     3421
##  3 OTHER    see    2409
##  4 OTHER    take   2056
##  5 OTHER    like   1778
##  6 OTHER    say    1647
##  7 OTHER    come   1460
##  8 OTHER    make   1383
##  9 OTHER    give   1245
## 10 OTHER    put    1162
## # … with 2,512 more rows

Much ‘prettier’, but what next? This is actually the mental step I struggled the most with, this dissonance between tidy and contingency. However, since we coded mod.type with a binary value: “OTHER” or “MUST”, it is actually trivial to dplyr::spread or dplyr::pivot_wider them to a “tidy contingency table”:

spread.tidy.df.must <- tidy.df.must %>%
pivot_wider(values_from = n,
names_from = mod.type)
spread.tidy.df.must
## # A tibble: 2,113 x 3
##    verb  OTHER  MUST
##    <chr> <int> <int>
##  1 get    3750   102
##  2 go     3421    94
##  3 see    2409    14
##  4 take   2056    63
##  5 like   1778     3
##  6 say    1647   105
##  7 come   1460    41
##  8 make   1383    62
##  9 give   1245    22
## 10 put    1162    18
## # … with 2,103 more rows

Hey, this looks a lot like those schematic tables we had at the beginning! But now the real challenge is to turn these numbers into the letters a, b, c, and d, so we can perform our letter math.

After changing all numeric values we have to doubles (instead of integers) and changing all NAs to 0, we can get the letters by following simple arithmetic from our original schematic table, e.g. if we know a and a+c, then c = a+c - a etc.

Element 2 Not element 2 / other elements Sum
Element 1 a b a + b
Not element 1 / other elements c d c + d
Sum a + c b + d a + b + c + d
spread.tidy.df.must %>%
mutate_if(is.numeric, ~ as.double(.x)) %>% # we'll want doubles instead of integers
mutate_if(is.numeric, ~ replace_na(.x, 0)) %>% # NAs should be 0

mutate(a = MUST,
ac = sum(MUST),
c = ac - a,
ab = MUST + OTHER,
b = ab - a,
abcd = sum(MUST, OTHER),
d = abcd - a - b -c,
aExp = (a + b)*(a + c)/(a + b + c + d)) -> abcd.must
abcd.must
## # A tibble: 2,113 x 11
##    verb  OTHER  MUST     a    ac     c    ab     b  abcd     d  aExp
##    <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
##  1 get    3750   102   102  2001  1899  3852  3750 64116 58365 120.
##  2 go     3421    94    94  2001  1907  3515  3421 64116 58694 110.
##  3 see    2409    14    14  2001  1987  2423  2409 64116 59706  75.6
##  4 take   2056    63    63  2001  1938  2119  2056 64116 60059  66.1
##  5 like   1778     3     3  2001  1998  1781  1778 64116 60337  55.6
##  6 say    1647   105   105  2001  1896  1752  1647 64116 60468  54.7
##  7 come   1460    41    41  2001  1960  1501  1460 64116 60655  46.8
##  8 make   1383    62    62  2001  1939  1445  1383 64116 60732  45.1
##  9 give   1245    22    22  2001  1979  1267  1245 64116 60870  39.5
## 10 put    1162    18    18  2001  1983  1180  1162 64116 60953  36.8
## # … with 2,103 more rows

So now we can easily perform all of the association measures we want, and rank them accordingly.

## Fischer Yates Exact

fye <- abcd.must %>%
mutate(fye = Rling::pv.Fisher.collostr(a, b, c, d)) %>%
#filter(verb == "confess") %>%
mutate(negfye = case_when(a < aExp ~ format(round(log10(fye)), nsmall = 2),
TRUE ~ format(round(- log10(fye)), nsmall = 2)),
negfye = as.double(negfye)) %>% #I did some rounding
arrange(desc(negfye)) %>%
select(verb, OTHER, MUST, fye, negfye)

fye %>% top_n(20) %>% kable()
verb OTHER MUST fye negfye
confess 1 11 0.0000000 16
say 1647 105 0.0000000 9
realise 22 11 0.0000000 9
recognise 46 13 0.0000000 8
know 432 38 0.0000001 7
remember 324 33 0.0000000 7
rank 3 6 0.0000001 7
decide 120 17 0.0000014 6
pay 354 30 0.0000052 5
wait 139 16 0.0000307 5
ensure 53 10 0.0000243 5
inform 5 5 0.0000065 5
stress 5 5 0.0000065 5
apologise 1 3 0.0001186 4
obey 2 3 0.0002895 4
look 560 33 0.0017845 3
feel 223 18 0.0006318 3
act 47 7 0.0014017 3
assume 24 5 0.0018726 3
reflect 24 5 0.0018726 3
mention 23 5 0.0015902 3
emerge 13 4 0.0016252 3
own 9 4 0.0005395 3
emphasise 7 3 0.0030892 3
register 7 3 0.0030892 3
balance 6 3 0.0022137 3
realize 6 3 0.0022137 3
respect 3 3 0.0005656 3
comply 1 2 0.0028599 3
exhibit 1 2 0.0028599 3
export 0 2 0.0009735 3
outperform 0 2 0.0009735 3
fye %>% arrange(negfye) %>% top_n(-20) %>% kable()
verb OTHER MUST fye negfye
like 1778 3 0.0000000 -20
see 2409 14 0.0000000 -18
hear 428 0 0.0000021 -6
help 820 7 0.0000185 -5
want 401 0 0.0000074 -5
tell 985 13 0.0003130 -4
give 1245 22 0.0031496 -3
put 1162 18 0.0006828 -3
need 461 4 0.0018961 -3
imagine 290 1 0.0019299 -3
call 268 0 0.0003216 -3
cause 211 0 0.0022792 -3
play 340 4 0.0291563 -2
happen 335 2 0.0039267 -2
afford 205 0 0.0035887 -2
pick 203 1 0.0239273 -2
appear 187 0 0.0049951 -2
benefit 147 0 0.0160195 -2

## Attraction, Reliance

abcd.must %>%
mutate(attraction = a / (a+c) * 100,
reliance = a / (a+b) * 100) %>%
arrange(desc(attraction)) %>%
top_n(20) %>%
select(verb, OTHER, MUST, attraction, reliance) %>%
kable()
## Selecting by reliance
verb OTHER MUST attraction reliance
export 0 2 0.099950 100
outperform 0 2 0.099950 100
acquaint 0 1 0.049975 100
capitalise 0 1 0.049975 100
capitulate 0 1 0.049975 100
class 0 1 0.049975 100
combat 0 1 0.049975 100
comfort 0 1 0.049975 100
dissociate 0 1 0.049975 100
enclose 0 1 0.049975 100
graft 0 1 0.049975 100
interrogate 0 1 0.049975 100
itch 0 1 0.049975 100
nurture 0 1 0.049975 100
plagiarise 0 1 0.049975 100
protrude 0 1 0.049975 100
rediscover 0 1 0.049975 100
redouble 0 1 0.049975 100
shoulder 0 1 0.049975 100
shrive 0 1 0.049975 100
stipulate 0 1 0.049975 100

## Delta P

abcd.must %>%
mutate(dP.cueCx = a/(a + c) - b/(b + d),
dP.cueVerb = a/(a + b) - c/(c + d)) %>%
arrange(desc(dP.cueCx)) %>%
select(verb,  OTHER, MUST, dP.cueCx, dP.cueVerb) %>%
top_n(20) %>%
kable()
verb OTHER MUST dP.cueCx dP.cueVerb
export 0 2 0.0009995 0.9688212
outperform 0 2 0.0009995 0.9688212
acquaint 0 1 0.0004998 0.9688061
capitalise 0 1 0.0004998 0.9688061
capitulate 0 1 0.0004998 0.9688061
class 0 1 0.0004998 0.9688061
combat 0 1 0.0004998 0.9688061
comfort 0 1 0.0004998 0.9688061
dissociate 0 1 0.0004998 0.9688061
enclose 0 1 0.0004998 0.9688061
graft 0 1 0.0004998 0.9688061
interrogate 0 1 0.0004998 0.9688061
itch 0 1 0.0004998 0.9688061
nurture 0 1 0.0004998 0.9688061
plagiarise 0 1 0.0004998 0.9688061
protrude 0 1 0.0004998 0.9688061
rediscover 0 1 0.0004998 0.9688061
redouble 0 1 0.0004998 0.9688061
shoulder 0 1 0.0004998 0.9688061
shrive 0 1 0.0004998 0.9688061
stipulate 0 1 0.0004998 0.9688061

# Conclusion

It is perfectly possible to perform association measures starting with a tidy dataframe. First you need to spread out with a binary variable, to make it a tidy contingency table. Then you can identify a, b, c, and d. Next you can chooose your preferred statistical test, rank verbs, and try to interpret the findings.

I should probably also mention that Gries is has been advocating to not just use one association measure, but three or more. Using just two, you can plot like Attraction and Reliance.

abcd.must %>%
mutate(attraction = a / (a+c) * 100,
reliance = a / (a+b) * 100) %>%
arrange(desc(attraction)) %>%
select(verb, OTHER, MUST, attraction, reliance) %>%
ggplot(aes(x = attraction,
y = reliance)) +
geom_point() +
gghighlight::gghighlight(attraction > 2 | 50 < reliance & reliance < 100,
label_key = verb) +
theme_minimal()

##### Thomas Van Hoey
###### PhD Candidate in Linguistics

My research interests include ideophones, (Premodern) Chinese, historical linguistics, Cognitive Linguistics, and lexical semantics.

format: plain


text:
Determine the value of the constant k so that the function
Question:

Determine the value of the constant k so that the function

$f(x)=\left\{\begin{array}{ll}k x^{2}, & \text { if } x \leq 2 \\ 3, & \text { if } x>2\end{array}\right.$ is continuous at $x=2$

Solution:

Given:

$f(x)=\left\{\begin{array}{l}k x^{2}, \text { if } x \leq 2 \\ 3, \text { if } x>2\end{array}\right.$

If $f(x)$ is continuous at $x=2$, then

$\lim _{x \rightarrow 2^{-}} f(x)=\lim _{x \rightarrow 2^{+}} f(x)=f(2)$              …..(1)

Now,

$\lim _{x \rightarrow 2^{-}} f(x)=\lim _{h \rightarrow 0} f(2-h)=\lim _{h \rightarrow 0} k(2-h)^{2}=4 k$

And, $f(2)=3$

From (1), we have

$4 k=3$

$\Rightarrow k=\frac{3}{4}$


text:
location:  Publications → journals
Search results

Search: MSC category 55 ( Algebraic topology )

 Expand all        Collapse all Results 1 - 25 of 41

1. CMB 2017 (vol 61 pp. 272)

Franz, Matthias
 Symmetric Products of Equivariantly Formal Spaces Let $$X$$ be a CW complex with a continuous action of a topological group $$G$$. We show that if $$X$$ is equivariantly formal for singular cohomology with coefficients in some field $$\Bbbk$$, then so are all symmetric products of $$X$$ and in fact all its $$\Gamma$$-products. In particular, symmetric products of quasi-projective M-varieties are again M-varieties. This generalizes a result by Biswas and D'Mello about symmetric products of M-curves. We also discuss several related questions. Keywords:symmetric product, equivariant formality, maximal variety, Gamma productCategories:55N91, 55S15, 14P25

2. CMB 2017 (vol 60 pp. 478)

Carrell, Jim; Kaveh, Kiumars
 Springer's Weyl Group Representation via Localization Let $G$ denote a reductive algebraic group over $\mathbb{C}$ and $x$ a nilpotent element of its Lie algebra $\mathfrak{g}$. The Springer variety $\mathcal{B}_x$ is the closed subvariety of the flag variety $\mathcal{B}$ of $G$ parameterizing the Borel subalgebras of $\mathfrak{g}$ containing $x$. It has the remarkable property that the Weyl group $W$ of $G$ admits a representation on the cohomology of $\mathcal{B}_x$ even though $W$ rarely acts on $\mathcal{B}_x$ itself. Well-known constructions of this action due to Springer et al use technical machinery from algebraic geometry. The purpose of this note is to describe an elementary approach that gives this action when $x$ is what we call parabolic-surjective. The idea is to use localization to construct an action of $W$ on the equivariant cohomology algebra $H_S^*(\mathcal{B}_x)$, where $S$ is a certain algebraic subtorus of $G$. This action descends to $H^*(\mathcal{B}_x)$ via the forgetful map and gives the desired representation. The parabolic-surjective case includes all nilpotents of type $A$ and, more generally, all nilpotents for which it is known that $W$ acts on $H_S^*(\mathcal{B}_x)$ for some torus $S$. Our result is deduced from a general theorem describing when a group action on the cohomology of the fixed point set of a torus action on a space lifts to the full cohomology algebra of the space. Keywords:Springer variety, Weyl group action, equivariant cohomologyCategories:14M15, 14F43, 55N91

3. CMB 2017 (vol 60 pp. 235)

Basu, Samik; Subhash, B
 Topology of Certain Quotient Spaces of Stiefel Manifolds We compute the cohomology of the right generalised projective Stiefel manifolds. Following this, we discuss some easy applications of the computations to the ranks of complementary bundles, and bounds on the span and immersibility. Keywords:projective Stiefel manifold, span, spectral sequenceCategories:55R20, 55R25, 57R20

4. CMB 2017 (vol 61 pp. 124)

Hemasundar, Gollakota V. V.; Simha, R. R.
 The Jordan Curve Theorem via Complex Analysis The aim of this article is to give a proof of the Jordan Curve Theorem via complex analysis. Keywords:Jordan Curve TheoremCategories:55P15, 30G12

5. CMB 2016 (vol 59 pp. 682)

Carlson, Jon F.; Chebolu, Sunil K.; Mináč, Ján
 Ghosts and Strong Ghosts in the Stable Category Suppose that $G$ is a finite group and $k$ is a field of characteristic $p\gt 0$. A ghost map is a map in the stable category of finitely generated $kG$-modules which induces the zero map in Tate cohomology in all degrees. In an earlier paper we showed that the thick subcategory generated by the trivial module has no nonzero ghost maps if and only if the Sylow $p$-subgroup of $G$ is cyclic of order 2 or 3. In this paper we introduce and study variations of ghost maps. In particular, we consider the behavior of ghost maps under restriction and induction functors. We find all groups satisfying a strong form of Freyd's generating hypothesis and show that ghosts can be detected on a finite range of degrees of Tate cohomology. We also consider maps which mimic ghosts in high degrees. Keywords:Tate cohomology, ghost maps, stable module category, almost split sequence, periodic cohomologyCategories:20C20, 20J06, 55P42

6. CMB 2016 (vol 59 pp. 483)

Crooks, Peter; Holden, Tyler
 Generalized Equivariant Cohomology and Stratifications For $T$ a compact torus and $E_T^*$ a generalized $T$-equivariant cohomology theory, we provide a systematic framework for computing $E_T^*$ in the context of equivariantly stratified smooth complex projective varieties. This allows us to explicitly compute $E_T^*(X)$ as an $E_T^*(\text{pt})$-module when $X$ is a direct limit of smooth complex projective $T_{\mathbb{C}}$-varieties with finitely many $T$-fixed points and $E_T^*$ is one of $H_T^*(\cdot;\mathbb{Z})$, $K_T^*$, and $MU_T^*$. We perform this computation on the affine Grassmannian of a complex semisimple group. Keywords:equivariant cohomology theory, stratification, affine GrassmannianCategories:55N91, 19L47

7. CMB 2015 (vol 58 pp. 575)

Martinez-Torres, David
 The Diffeomorphism Type of Canonical Integrations Of Poisson Tensors on Surfaces A surface $\Sigma$ endowed with a Poisson tensor $\pi$ is known to admit canonical integration, $\mathcal{G}(\pi)$, which is a 4-dimensional manifold with a (symplectic) Lie groupoid structure. In this short note we show that if $\pi$ is not an area form on the 2-sphere, then $\mathcal{G}(\pi)$ is diffeomorphic to the cotangent bundle $T^*\Sigma$. This extends results by the author and by Bonechi, Ciccoli, Staffolani, and Tarlini. Keywords:Poisson tensor, Lie groupoid, cotangent bundleCategories:58H05, 55R10, 53D17

8. CMB 2014 (vol 58 pp. 80)

Harada, Megumi; Horiguchi, Tatsuya; Masuda, Mikiya
 The Equivariant Cohomology Rings of Peterson Varieties in All Lie Types Let $G$ be a complex semisimple linear algebraic group and let $Pet$ be the associated Peterson variety in the flag variety $G/B$. The main theorem of this note gives an efficient presentation of the equivariant cohomology ring $H^*_S(Pet)$ of the Peterson variety as a quotient of a polynomial ring by an ideal $J$ generated by quadratic polynomials, in the spirit of the Borel presentation of the cohomology of the flag variety. Here the group $S \cong \mathbb{C}^*$ is a certain subgroup of a maximal torus $T$ of $G$. Our description of the ideal $J$ uses the Cartan matrix and is uniform across Lie types. In our arguments we use the Monk formula and Giambelli formula for the equivariant cohomology rings of Peterson varieties for all Lie types, as obtained in the work of Drellich. Our result generalizes a previous theorem of Fukukawa-Harada-Masuda, which was only for Lie type $A$. Keywords:equivariant cohomology, Peterson varieties, flag varieties, Monk formula, Giambelli formulaCategories:55N91, 14N15

9. CMB 2013 (vol 57 pp. 526)

Heil, Wolfgang; Wang, Dongxu
 On $3$-manifolds with Torus or Klein Bottle Category Two A subset $W$ of a closed manifold $M$ is $K$-contractible, where $K$ is a torus or Kleinbottle, if the inclusion $W\rightarrow M$ factors homotopically through a map to $K$. The image of $\pi_1 (W)$ (for any base point) is a subgroup of $\pi_1 (M)$ that is isomorphic to a subgroup of a quotient group of $\pi_1 (K)$. Subsets of $M$ with this latter property are called $\mathcal{G}_K$-contractible. We obtain a list of the closed $3$-manifolds that can be covered by two open $\mathcal{G}_K$-contractible subsets. This is applied to obtain a list of the possible closed prime $3$-manifolds that can be covered by two open $K$-contractible subsets. Keywords:Lusternik--Schnirelmann category, coverings of $3$-manifolds by open $K$-contractible setsCategories:57N10, 55M30, 57M27, 57N16

10. CMB 2013 (vol 57 pp. 225)

 Small Flag Complexes with Torsion We classify flag complexes on at most $12$ vertices with torsion in the first homology group. The result is moderately computer-aided. As a consequence we confirm a folklore conjecture that the smallest poset whose order complex is homotopy equivalent to the real projective plane (and also the smallest poset with torsion in the first homology group) has exactly $13$ elements. Keywords:clique complex, order complex, homology, torsion, minimal modelCategories:55U10, 06A11, 55P40, 55-04, 05-04

11. CMB 2013 (vol 57 pp. 245)

Brodskiy, N.; Dydak, J.; Lang, U.
 Assouad-Nagata Dimension of Wreath Products of Groups Consider the wreath product $H\wr G$, where $H\ne 1$ is finite and $G$ is finitely generated. We show that the Assouad-Nagata dimension $\dim_{AN}(H\wr G)$ of $H\wr G$ depends on the growth of $G$ as follows: \par If the growth of $G$ is not bounded by a linear function, then $\dim_{AN}(H\wr G)=\infty$, otherwise $\dim_{AN}(H\wr G)=\dim_{AN}(G)\leq 1$. Keywords:Assouad-Nagata dimension, asymptotic dimension, wreath product, growth of groupsCategories:54F45, 55M10, 54C65

12. CMB 2011 (vol 55 pp. 523)

Iwase, Norio; Mimura, Mamoru; Oda, Nobuyuki; Yoon, Yeon Soo
 The Milnor-Stasheff Filtration on Spaces and Generalized Cyclic Maps The concept of $C_{k}$-spaces is introduced, situated at an intermediate stage between $H$-spaces and $T$-spaces. The $C_{k}$-space corresponds to the $k$-th Milnor-Stasheff filtration on spaces. It is proved that a space $X$ is a $C_{k}$-space if and only if the Gottlieb set $G(Z,X)=[Z,X]$ for any space $Z$ with ${\rm cat}\, Z\le k$, which generalizes the fact that $X$ is a $T$-space if and only if $G(\Sigma B,X)=[\Sigma B,X]$ for any space $B$. Some results on the $C_{k}$-space are generalized to the $C_{k}^{f}$-space for a map $f\colon A \to X$. Projective spaces, lens spaces and spaces with a few cells are studied as examples of $C_{k}$-spaces, and non-$C_{k}$-spaces. Keywords:Gottlieb sets for maps, L-S category, T-spacesCategories:55P45, 55P35

13. CMB 2011 (vol 55 pp. 319)

Jardine, J. F.
 The Verdier Hypercovering Theorem This note gives a simple cocycle-theoretic proof of the Verdier hypercovering theorem. This theorem approximates morphisms $[X,Y]$ in the homotopy category of simplicial sheaves or presheaves by simplicial homotopy classes of maps, in the case where $Y$ is locally fibrant. The statement proved in this paper is a generalization of the standard Verdier hypercovering result in that it is pointed (in a very broad sense) and there is no requirement for the source object $X$ to be locally fibrant. Keywords:simplicial presheaf, hypercover, cocycleCategories:14F35, 18G30, 55U35

14. CMB 2011 (vol 55 pp. 48)

Chebolu, Sunil K.; Christensen, J. Daniel; Mináč, Ján
 Freyd's Generating Hypothesis for Groups with Periodic Cohomology Let $G$ be a finite group, and let $k$ be a field whose characteristic $p$ divides the order of $G$. Freyd's generating hypothesis for the stable module category of $G$ is the statement that a map between finite-dimensional $kG$-modules in the thick subcategory generated by $k$ factors through a projective if the induced map on Tate cohomology is trivial. We show that if $G$ has periodic cohomology, then the generating hypothesis holds if and only if the Sylow $p$-subgroup of $G$ is $C_2$ or $C_3$. We also give some other conditions that are equivalent to the GH for groups with periodic cohomology. Keywords:Tate cohomology, generating hypothesis, stable module category, ghost map, principal block, thick subcategory, periodic cohomologyCategories:20C20, 20J06, 55P42

15. CMB 2010 (vol 53 pp. 730)

Theriault, Stephen D.
 A Case When the Fiber of the Double Suspension is the Double Loops on Anick's Space The fiber $W_{n}$ of the double suspension $S^{2n-1}\rightarrow\Omega^{2} S^{2n+1}$ is known to have a classifying space $BW_{n}$. An important conjecture linking the $EHP$ sequence to the homotopy theory of Moore spaces is that $BW_{n}\simeq\Omega T^{2np+1}(p)$, where $T^{2np+1}(p)$ is Anick's space. This is known if $n=1$. We prove the $n=p$ case and establish some related properties. Keywords:double suspension, Anick's spaceCategories:55P35, 55P10

16. CMB 2010 (vol 53 pp. 438)

Chigogidze, A.; Nagórko, A.
 Near-Homeomorphisms of Nöbeling Manifolds We characterize maps between $n$-dimensional NÃ¶beling manifolds that can be approximated by homeomorphisms. Keywords:n-dimensional Nöbeling manifold, Z-set unknotting, near-homeomorphismCategories:55M10, 54F45

17. CMB 2009 (vol 40 pp. 108)

Schaer, J.
 Continuous Self-maps of the Circle Given a continuous map $\delta$ from the circle $S$ to itself we want to find all self-maps $\sigma\colon S\to S$ for which $\delta\circ\sigma = \delta$. If the degree $r$ of $\delta$ is not zero, the transformations $\sigma$ form a subgroup of the cyclic group $C_r$. If $r=0$, all such invertible transformations form a group isomorphic either to a cyclic group $C_n$ or to a dihedral group $D_n$ depending on whether all such transformations are orientation preserving or not. Applied to the tangent image of planar closed curves, this generalizes a result of Bisztriczky and Rival [1]. The proof rests on the theorem: {\it Let $\Delta\colon\bbd R\to\bbd R$ be continuous, nowhere constant, and $\lim_{x\to -\infty}\Delta(x)=-\infty$, $\lim_{x\to+\infty}\Delta (x)=+\infty$; then the only continuous map $\Sigma\colon\bbd R\to\bbd R$ such that $\Delta\circ\Sigma=\Delta$ is the identity $\Sigma=\id_{\bbd R}$. Categories:53A04, 55M25, 55M35

18. CMB 2009 (vol 40 pp. 193)

Kucerovsky, Dan
 Finite rank operators and functional calculus on Hilbert modules over abelian $C^{\ast}$-algebras We consider the problem: If $K$ is a compact normal operator on a Hilbert module $E$, and $f\in C_0(\Sp K)$ is a function which is zero in a neighbourhood of the origin, is $f(K)$ of finite rank? We show that this is the case if the underlying $C^{\ast}$-algebra is abelian, and that the range of $f(K)$ is contained in a finitely generated projective submodule of $E$. Categories:55R50, 47A60, 47B38

19. CMB 2009 (vol 40 pp. 341)

Lee, Hyang-Sook
 The stable and unstable types of classifying spaces The main purpose of this paper is to study groups $G_1$, $G_2$ such that $H^\ast(BG_1,{\bf Z}/p)$ is isomorphic to $H^\ast(BG_2,{\bf Z}/p)$ in ${\cal U}$, the category of unstable modules over the Steenrod algebra ${\cal A}$, but not isomorphic as graded algebras over ${\bf Z}/p$. Categories:55R35, 20J06

20. CMB 2008 (vol 51 pp. 535)

Csorba, Péter
 On the Simple $\Z_2$-homotopy Types of Graph Complexes and Their Simple $\Z_2$-universality We prove that the neighborhood complex $\N(G)$, the box complex $\B(G)$, the homomorphism complex $\Hom(K_2,G)$and the Lov\'{a}sz complex $\L(G)$ have the same simple $\Z_2$-homotopy type in the sense of Whitehead. We show that these graph complexes are simple $\Z_2$-universal. Keywords:graph complexes, simple $\Z_2$-homotopy, universalityCategories:57Q10, 05C10, 55P10

21. CMB 2008 (vol 51 pp. 310)

Witbooi, P. J.
 Relative Homotopy in Relational Structures The homotopy groups of a finite partially ordered set (poset) can be described entirely in the context of posets, as shown in a paper by B. Larose and C. Tardif. In this paper we describe the relative version of such a homotopy theory, for pairs $(X,A)$ where $X$ is a poset and $A$ is a subposet of $X$. We also prove some theorems on the relevant version of the notion of weak homotopy equivalences for maps of pairs of such objects. We work in the category of reflexive binary relational structures which contains the posets as in the work of Larose and Tardif. Keywords:binary reflexive relational structure, relative homotopy group, exact sequence, locally finite space, weak homotopy equivalenceCategories:55Q05, 54A05;, 18B30

22. CMB 2007 (vol 50 pp. 365)

Godinho, Leonor
 Equivariant Cohomology of $S^{1}$-Actions on $4$-Manifolds Let $M$ be a symplectic $4$-dimensional manifold equipped with a Hamiltonian circle action with isolated fixed points. We describe a method for computing its integral equivariant cohomology in terms of fixed point data. We give some examples of these computations. Categories:53D20, 55N91, 57S15

23. CMB 2007 (vol 50 pp. 440)

Raghuram, A.
 A KÃ¼nneth Theorem for $p$-Adic Groups Let $G_1$ and $G_2$ be $p$-adic groups. We describe a decomposition of ${\rm Ext}$-groups in the category of smooth representations of $G_1 \times G_2$ in terms of ${\rm Ext}$-groups for $G_1$ and $G_2$. We comment on ${\rm Ext}^1_G(\pi,\pi)$ for a supercuspidal representation $\pi$ of a $p$-adic group $G$. We also consider an example of identifying the class, in a suitable ${\rm Ext}^1$, of a Jacquet module of certain representations of $p$-adic ${\rm GL}_{2n}$. Categories:22E50, 18G15, 55U25

24. CMB 2007 (vol 50 pp. 206)

Golasiński, Marek; Gonçalves, Daciberg Lima
 Spherical Space Forms: Homotopy Types and Self-Equivalences for the Group $({\mathbb Z}/a\rtimes{\mathbb Z}/b) \times SL_2\,(\mathbb{F}_p)$ Let $G=({\mathbb Z}/a\rtimes{\mathbb Z}/b) \times \SL_2(\mathbb{F}_p)$, and let $X(n)$ be an $n$-dimensional $CW$-complex of the homotopy type of an $n$-sphere. We study the automorphism group $\Aut (G)$ in order to compute the number of distinct homotopy types of spherical space forms with respect to free and cellular $G$-actions on all $CW$-complexes $X(2dn-1)$, where $2d$ is the period of $G$. The groups ${\mathcal E}(X(2dn-1)/\mu)$ of self homotopy equivalences of space forms $X(2dn-1)/\mu$ associated with free and cellular $G$-actions $\mu$ on $X(2dn-1)$ are determined as well. Keywords:automorphism group, $CW$-complex, free and cellular $G$-action, group of self homotopy equivalences, Lyndon--Hochschild--Serre spectral sequence, special (linear) group, spherical space formCategories:55M35, 55P15, 20E22, 20F28, 57S17

25. CMB 2006 (vol 49 pp. 407)

Jardine, J. F.
 Intermediate Model Structures for Simplicial Presheaves This note shows that any set of cofibrations containing the standard set of generating projective cofibrations determines a cofibrantly generated proper closed model structure on the category of simplicial presheaves on a small Grothendieck site, for which the weak equivalences are the local weak equivalences in the usual sense. Categories:18G30, 18F20, 55U35
 Page 1 2 Next
 top of page | contact us | privacy | site map |


text:
## Algebraic & Geometric Topology

### Relative left properness of colored operads

#### Abstract

The category of $ℭ$–colored symmetric operads admits a cofibrantly generated model category structure. In this paper, we show that this model structure satisfies a relative left properness condition, ie that the class of weak equivalences between $Σ$–cofibrant operads is closed under cobase change along cofibrations. We also provide an example of Dwyer which shows that the model structure on $ℭ$–colored symmetric operads is not left proper.

#### Article information

Source
Algebr. Geom. Topol., Volume 16, Number 5 (2016), 2691-2714.

Dates
Revised: 9 December 2015
Accepted: 1 February 2016
First available in Project Euclid: 16 November 2017

https://projecteuclid.org/euclid.agt/1510841225

Digital Object Identifier
doi:10.2140/agt.2016.16.2691

Mathematical Reviews number (MathSciNet)
MR3572345

Zentralblatt MATH identifier
1350.18016

#### Citation

Hackney, Philip; Robertson, Marcy; Yau, Donald. Relative left properness of colored operads. Algebr. Geom. Topol. 16 (2016), no. 5, 2691--2714. doi:10.2140/agt.2016.16.2691. https://projecteuclid.org/euclid.agt/1510841225

#### References

• M Batanin, C Berger, Homotopy theory for algebras over polynomial monads, preprint (2013)
• C Berger, I Moerdijk, Axiomatic homotopy theory for operads, Comment. Math. Helv. 78 (2003) 805–831
• C Berger, I Moerdijk, The Boardman–Vogt resolution of operads in monoidal model categories, Topology 45 (2006) 807–849
• C Berger, I Moerdijk, Resolution of coloured operads and rectification of homotopy algebras, from “Categories in algebra, geometry and mathematical physics” (A Davydov, M Batanin, M Johnson, S Lack, A Neeman, editors), Contemp. Math. 431, Amer. Math. Soc., Providence, RI (2007) 31–58
• J,M Boardman, R,M Vogt, Homotopy invariant algebraic structures on topological spaces, Lecture Notes in Mathematics 347, Springer, Berlin (1973)
• G Caviglia, A model structure for enriched coloured operads, preprint (2014)
• D-C Cisinski, I Moerdijk, Dendroidal sets and simplicial operads, J. Topol. 6 (2013) 705–756
• W Dwyer, K Hess, Long knots and maps between operads, Geom. Topol. 16 (2012) 919–955
• A,D Elmendorf, I Kriz, M,A Mandell, J,P May, Rings, modules, and algebras in stable homotopy theory, Mathematical Surveys and Monographs 47, Amer. Math. Soc., Providence, RI (1997)
• B Fresse, Koszul duality of operads and homology of partition posets, from “Homotopy theory: relations with algebraic geometry, group cohomology, and algebraic $K$–theory” (P Goerss, S Priddy, editors), Contemp. Math. 346, Amer. Math. Soc., Providence, RI (2004) 115–215
• B Fresse, Props in model categories and homotopy invariance of structures, Georgian Math. J. 17 (2010) 79–160
• V Ginzburg, M Kapranov, Koszul duality for operads, Duke Math. J. 76 (1994) 203–272
• P Hackney, M Robertson, D Yau, Shrinkability, relative left properness, and derived base change, preprint (2015)
• J,E Harper, Homotopy theory of modules over operads and non–$\Sigma$ operads in monoidal model categories, J. Pure Appl. Algebra 214 (2010) 1407–1434
• P,S Hirschhorn, Model categories and their localizations, Mathematical Surveys and Monographs 99, Amer. Math. Soc., Providence, RI (2003)
• M Hovey, Model categories, Mathematical Surveys and Monographs 63, Amer. Math. Soc., Providence, RI (1999)
• M,W Johnson, D Yau, On homotopy invariance for algebras over colored PROPs, J. Homotopy Relat. Struct. 4 (2009) 275–315
• G,M Kelly, On the operads of J P May, Repr. Theory Appl. Categ. (2005) 1–13
• M Kontsevich, Y Soibelman, Deformations of algebras over operads and the Deligne conjecture, from “Conférence Moshé Flato 1999, I” (G Dito, D Sternheimer, editors), Math. Phys. Stud. 21, Kluwer Acad. Publ., Dordrecht (2000) 255–307
• S Mac Lane, Categories for the working mathematician, 2nd edition, Graduate Texts in Mathematics 5, Springer, New York (1998)
• M Markl, S Shnider, J Stasheff, Operads in algebra, topology and physics, Mathematical Surveys and Monographs 96, Amer. Math. Soc., Providence, RI (2002)
• J,P May, The geometry of iterated loop spaces, Lectures Notes in Mathematics 271, Springer, Berlin (1972)
• J,P May, Definitions: operads, algebras and modules, from “Operads: Proceedings of Renaissance Conferences” (J-L Loday, J,D Stasheff, A,A Voronov, editors), Contemp. Math. 202, Amer. Math. Soc., Providence, RI (1997) 1–7
• F Muro, Homotopy theory of non-symmetric operads, II: Change of base category and left properness, Algebr. Geom. Topol. 14 (2014) 229–281
• C,W Rezk, Spaces of algebra structures and cohomology of operads, PhD thesis, Massachusetts Institute of Technology (1996)
• M Robertson, The homotopy theory of simplicially enriched multicategories, preprint (2011)
• S Schwede, B,E Shipley, Algebras and modules in monoidal model categories, Proc. London Math. Soc. 80 (2000) 491–511
• M Spitzweck, Operads, algebras and modules in general model categories, preprint (2001)
• D White, D Yau, Bousfield localization and algebras over colored operads, preprint (2015)
• D Yau, Colored operads, Graduate Studies in Mathematics 170, Amer. Math. Soc., Providence, RI (2016)
• D Yau, M,W Johnson, A foundation for PROPs, algebras, and modules, Mathematical Surveys and Monographs 203, Amer. Math. Soc., Providence, RI (2015)


text:
# Solution of a first order ODE.

1. Feb 17, 2006

### sigmund

We have the first order ODE

$$y'=4t \sqrt y,~y(0)=1,$$

for which i have found the exact solution, namely a fourth order polynomial.

I want a numerical method to solve the problem exactly. This method has to be a fourth order method, since this implies that the local error vanishes.

Now we change the problem so it becomes

$$y'=4t \sqrt y - \lambda(y-(1+t^2)^2),~y(0)=a,$$

and the question is: for which values of $\lambda$ and $a$ does a method that has the above mentioned property solve the new problem exactly.

Of course, the obvious case is $\lambda=0$ and $a=1$, because in this case the new problem reduces to the first problem.

My idea is that the solution must be a fourth order polynomial, since a fourth order numerical method has to solve the new problem exactly.

Although I want your view on this and a strategy to find the values of $\lambda$ and $a$ for which the new problem is solved exactly by a fourth order numerical method.

2. Feb 17, 2006

### Tide

By definition, a numerical solution is not exact.

3. Feb 17, 2006

### arildno

What are you talking about, tide?
A numerical method is at times perfectly capable of yielding the exact solution's function values at the grid points.

That is what is ordinarily meant with "solving exactly" in CFD, for example.

Last edited: Feb 17, 2006
4. Feb 17, 2006

### Tide

Any numerical solution is limited (at best) to machine precision - ergo it is not exact. :)

You surely are not suggesting that an exact analytic solution is mathematically equivalent to a numerical approximation? As a practical matter and when making engineering use of an exact analytic solution one is similarly limited by machine precision. Nevertheless, the (actual) real solution has many advantages over an approximate solution.

5. Feb 18, 2006

### arildno

I'm not talking about finite-precision arithmetic (and the errors induced by that), but the discretization techniques used on the original diff. eq It is common to call that a numerical METHOD (as OP said). If the exact solution of the difference equation equals the exact solution of the differential equation (restricted to the grid points), then the discretization scheme (i.e, numerical method) is said to reproduce the diff eq.solution.

The term "numerical SOLUTION" is often restricted to the solution as given by a machine, but neither OP or me used that term. Only you did that.

Last edited: Feb 18, 2006
6. Feb 18, 2006

### sigmund

By "I want a numerical method to solve the problem exactly", I mean a method for which the local error, in theory, vanishes. However, that is not my problem, because I know that with a fourth order numerical method this is achieved.

On the contrary, I want some help with the the second problem I mentioned in the original post.

7. Feb 18, 2006

### arildno

Note that insofar as y is a polynomial, then the term $$t\sqrt{y}$$ must be a polynomial as well.
Try first to see what conditions on $,\lambda$ you'd get (if any) on a fourth-order solution on the form $$y=(t^{2}+kt+\sqrt{a})^{2}$$
where k is some constant.

Due to the square root term, we have of course a>=0
We get, by inserting it in the diff. eq.:
$$4t^{3}+6kt^{2}+2(k^{2}+2\sqrt{a})t+2k\sqrt{a}=4t^{3}+4kt^{2}+4\sqrt{a}t-\lambda(2kt^{3}+(k^{2}+2\sqrt{a}-2)t^{2}+2k\sqrt{a}t+(a-1))$$
Setting each coefficient of different powers zero, you'll get the conditions on your constants.

You'll get that k is necessarily 0, for example..

Last edited: Feb 18, 2006
8. Feb 12, 2007

What is the exact fourth order polynomial solution given y(0) = 1 ?

I can easily go from y' = 4t*sqrt(y) to
y = t^4

But I am not able to perform the integration when using the initial value y(0) = 1.

Last edited: Feb 12, 2007
9. Feb 16, 2007


text:
## Variable size symbols

The size of some mathematical symbols, notably summation signs, product signs, and integral signs, depends on the environment in which they appear (i.e., displaymath as opposed to math environments; see Math Formulas and Math Fonts and Styles).

These include

• \sum a summation sign (capital sigma)
• \prod a product (capital pi)
• \coprod a coproduct (inverted capital pi)
• \int an integral sign
• \oint a surface (circular) integral sign
• \bigcup big "U"
• \bigcap big inverted "U"
• \bigvee big "V"
• \bigwedge big inverted "V"
• \bigodot big "O" with dot at center
• \bigotimes big "O" with cross inside
• \bigoplus big "O" with a + inside
• \biguplus big "U" with a + inside

The \sqrt command also produces a variable size symbol appropriate for the size of the radicand argument.

The "limits" associated with these symbols are entered as subscripts for entries appearing below the symbol and as superscripts for entries appearing above the symbol. For example the sum from n=0 to infinity of xn would be entered as ,/p>

  \sum_{n=0}^{\infty} x_{n}

The actual placement of the limits depends on whether this is in displaymath mode in which case they are placed below/above or in math mode in running text in which case they are placed as regular subscripts and superscripts.

Note that it is possible to treat several of these symbols (a common example would be a double sum) as a single symbol for placing limits above and/or below by using the \mathop command.

"Hats" and "tildes" over symbols which stretch (as best they can) to the correct size for their arguments are produced by \widehat and \widetilde.

Related topics:


text:
HR: 1330h
AN: V52A-1056
TI: Holocene Volcanic Records in the Siple Dome Ice Cores
AU: Zielinski, G A
AF: Institute for Quaternary and Climate Studies, University of Maine, 303 Bryand GSC, University of Maine , Orono, ME 04469 United States
AU: Dunbar, N W
AF: N.M.B.M.M.R./E&ES Department, New Mexico Tech, 801 Leroy Place, Socorro, NM 87801 United States
AU: * Kurbatov, A V
EM: akurbatov@maine.edu
AF: Institute for Quaternary and Climate Studies, University of Maine, 303 Bryand GSC, University of Maine , Orono, ME 04469 United States
AU: Voisin, D T
AF: Climate Change Research Center, University of New Hampshire, 39 College Road, Durham, NH 03824 United States

AB: Using both the SO$_{4}$$^{2-}$ and Cl$^{-}$ time series and tephrochronological analyses, a highly detailed record of Holocene volcanism is being reconstructed from the Siple Dome A ice core. The volcanic glaciochemical record is being developed at a 2-4 year resolution for the last 10,000 years. Volcanic peaks were identified as those having a concentration of 2${\sigma}$ above the mean positive residual of the spline fit, as was done for the GISP2 volcanic record. We identified about 70 volcanic events for the mid-late Holocene. The largest sulfate signal (350 ppb) over the time period evaluated occurs at 2242 years ago. Large signals of volcanically enhanced sulfate in the ice core record also occur around 720 years ago (1280 C.E.;194-249 ppb)and 4710 years ago (378ppb). Ages for large equatorial or southern hemisphere volcanic eruptions are synchronous with identified sulfate peaks in the reconstructed volcanic record. However, the continuous scan for volcanic glass in these same samples yielded glass compositions more in-line with Antarctica volcanic zones (i.e., local eruptions). Nevertheless, our record provides important information on the atmospheric impact of volcanism in Antarctica geochemical cycles. The glass (i.e., tephra) found in various samples indicate that volcanoes within the McMurdo Volcanic Center (Victoria Land and the islands off its coast) including Mt. Melbourne, The Pleaides and Buckle Island appear to be the most active in Antarctica during the late Holocene. Rhyolitic shards of a composition not found in Antarctica also are present in some layers, although they are not overly abundant. The presence of dust with a Patagonian origin in East Antarctica ice cores as well as the nature of the Antarctica vortex indicate that material from this part of the southern hemisphere can reach various parts of Antarctica. Common circulation patterns around the Ross and Amundson Seas as well as the satellite trace of aerosols from the 1991 Cerro Hudson eruption, Argentina, provide a possible transport route for glass to reach the Siple Dome site. Our tephra work is providing a new chronology of Antarctica volcanism.

DE: 0305 Aerosols and particles (0345, 4801)
DE: 0370 Volcanic effects (8409)
DE: 1600 GLOBAL CHANGE
SC: V
MN: 2001 AGU Fall Meeting


text:
An error was encountered while trying to add the item to the cart. Please try again.
The following link can be shared to navigate to this page. You can select the link to copy or click the 'Copy To Clipboard' button below.
Copy To Clipboard
Successfully Copied!
The Operator Hilbert Space $OH$, Complex Interpolation and Tensor Norms

Gilles Pisier Texas A&M University, College Station, TX and University of Paris VI, France
Available Formats:
Electronic ISBN: 978-1-4704-0170-2
Product Code: MEMO/122/585.E
List Price: $45.00 MAA Member Price:$40.50
AMS Member Price: $27.00 Click above image for expanded view The Operator Hilbert Space$OH$, Complex Interpolation and Tensor Norms Gilles Pisier Texas A&M University, College Station, TX and University of Paris VI, France Available Formats:  Electronic ISBN: 978-1-4704-0170-2 Product Code: MEMO/122/585.E  List Price:$45.00 MAA Member Price: $40.50 AMS Member Price:$27.00
• Book Details

Memoirs of the American Mathematical Society
Volume: 1221996; 103 pp
MSC: Primary 46;

In the recently developed duality theory of operator spaces (as developed by Effros-Ruan and Blecher-Paulsen) bounded operators are replaced by completely bounded ones, isomorphisms by complete isomorphisms, and Banach spaces by operator spaces. This allows for distinguishing between the various ways in which a given Banach space can be embedded isometrically into $B(H)$ (with $H$ being Hilbert). In this new category, several operator spaces which are isomorphic (as Banach spaces) to a Hilbert space play an important role. For instance the row and column Hilbert spaces and several other examples appearing naturally in the construction of the Boson or Fermion Fock spaces have been studied extensively.

One of the main results of this memoir is the observation that there is a central object in this class: there is a unique self dual Hilbertian operator space (denoted by $OH$ ) which seems to play the same central role in the category of operator spaces that Hilbert spaces play in the category of Banach spaces.

This new concept, called “the operator Hilbert space” and denoted by $OH$, is introduced and thoroughly studied in this volume.

Graduate students and research mathematicians interested in functional analysis.

• Chapters
• Introduction
• 1. The operator Hilbert space
• 2. Complex interpolation
• 3. The $oh$ tensor product
• 4. Weights on partially ordered vector spaces
• 5. (2,$w$)-summing operators
• 6. The gamma-norms and their dual norms
• 7. Operators factoring through $OH$
• 8. Factorization through a Hilbertian operator space
• 9. On the “local theory” of operator spaces
• 10. Open questions
• Request Review Copy
• Get Permissions
Volume: 1221996; 103 pp
MSC: Primary 46;

In the recently developed duality theory of operator spaces (as developed by Effros-Ruan and Blecher-Paulsen) bounded operators are replaced by completely bounded ones, isomorphisms by complete isomorphisms, and Banach spaces by operator spaces. This allows for distinguishing between the various ways in which a given Banach space can be embedded isometrically into $B(H)$ (with $H$ being Hilbert). In this new category, several operator spaces which are isomorphic (as Banach spaces) to a Hilbert space play an important role. For instance the row and column Hilbert spaces and several other examples appearing naturally in the construction of the Boson or Fermion Fock spaces have been studied extensively.

One of the main results of this memoir is the observation that there is a central object in this class: there is a unique self dual Hilbertian operator space (denoted by $OH$ ) which seems to play the same central role in the category of operator spaces that Hilbert spaces play in the category of Banach spaces.

This new concept, called “the operator Hilbert space” and denoted by $OH$, is introduced and thoroughly studied in this volume.

Graduate students and research mathematicians interested in functional analysis.

• Chapters
• Introduction
• 1. The operator Hilbert space
• 2. Complex interpolation
• 3. The $oh$ tensor product
• 4. Weights on partially ordered vector spaces
• 5. (2,$w$)-summing operators
• 6. The gamma-norms and their dual norms
• 7. Operators factoring through $OH$
• 8. Factorization through a Hilbertian operator space
• 9. On the “local theory” of operator spaces
• 10. Open questions
Please select which format for which you are requesting permissions.


text:
Browse Questions

# Which of the following molecule is having highest lattice energy

$\begin{array}{1 1}(a)\;LiF&(b)\; LiCl\\(c)\;LiBr&(d)\;LiI\end{array}$

Can you answer this question?

$LiF$(U=-247k.col/mole) $> LiCl(-203) > LiBr(-193) > LiI(-180)$
Lattice energy varies inversely as the inter-nuclear distance.
Hence (a) is the correct answer.
answered Mar 7, 2014


text:
# Evidence for a real tensor potential in the inelastic scattering of 800 MeV polarized protons from $^{20}$Ne using the Dirac phenomenology

Document type :
Journal articles

http://hal.in2p3.fr/in2p3-00004510
Contributor : LPSC bibliotheque Connect in order to contact the contributor
Submitted on : Friday, March 31, 2000 - 10:55:06 AM
Last modification on : Thursday, November 19, 2020 - 12:58:27 PM

### Identifiers

• HAL Id : in2p3-00004510, version 1

### Citation

D.L. Pham, R. De Swiniarski. Evidence for a real tensor potential in the inelastic scattering of 800 MeV polarized protons from $^{20}$Ne using the Dirac phenomenology. Zeitschrift für Physik A, Springer-Verlag, 1990, 335, pp.37-39. ⟨in2p3-00004510⟩

Record views


text:
## Algebra and Trigonometry 10th Edition

Published by Cengage Learning

# Chapter 10 - Review Exercises - Page 760: 16

#### Answer

$x=-9, y=-4$

#### Work Step by Step

We divide the $R_1$ by $2$ and then subtract $3R_1$ from $R_2$: We have: $\begin{bmatrix} 1 & -2.5 & : 1 \\ 0 & 0.5 & : -2 \end{bmatrix}$ Divide $R_2$ by $0.5$. $\begin{bmatrix} 1 & -2.5 & : 1 \\ 0 & 1 & : -4 \end{bmatrix}$ Write the system of equations corresponding to the augmented matrix as follows: $x -2.5y=1 \\ y =-4$ and $x-2.5(-4)=1 \implies x=-9$ Therefore, $x=-9, y=-4$

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:
Fibonacci sequence divisible by 3?

I have a recursion question for my combinatorial class. I'm looking at the Fibonacci sequence $f(n)=f(n-1)+f(n-2)$ for $n \geq 3$ with $f(1)=f(2)=1$.

I'm trying to prove that $f(n)$ is divisible by 3 if and only if $n$ is divisible by 4. I can see the idea by writing out terms of the sequence, but I'm not sure how to prove the pattern. Can anyone help me in the right direction?

Binet's formula $$F(n)=\frac{\varphi^n-\hat\varphi^n}{\sqrt{5}}$$ where $$\varphi=\frac{1+\sqrt{5}}{2},\qquad\hat\varphi=\frac{1-\sqrt{5}}{2}$$ still holds “modulo $3$” provided we interpret it correctly. In the three element field $\mathbb{F}_3$, $2=5$ is not a square, but we can add a root $\alpha$ of the polynomial $x^2-2$ and consider the extension field $K=\mathbb{F}_3(\alpha)$.

The same proof of Binet's formula on the real numbers shows that the Fibonacci numbers modulo $3$ are of the form $$F_3(n)=\frac{\varphi_3^n-\hat\varphi_3^n}{\alpha}$$ where $$\varphi_3=\frac{1+\alpha}{2},\qquad\hat\varphi_3=\frac{1-\alpha}{2}$$ Let's compute when $\varphi_3^n-\hat\varphi_3^n=0$, that is, $$\left(\frac{\varphi_3}{\hat\varphi_3}\right)^{\!n}=1$$ Now $$\frac{\varphi_3}{\hat\varphi_3}= \frac{1+\alpha}{1-\alpha}= \frac{1+2\alpha+\alpha^2}{1-\alpha^2}=-2\alpha=\alpha$$ because $\alpha^2=2$ and $K$ has characteristic $3$.

Thus $$\left(\frac{\varphi_3}{\hat\varphi_3}\right)^{\!n} =\alpha^n$$ and this is $1$ exactly when $n$ is divisible by $4$, because $\alpha^2=2$ and $2^2=1$ (in $K$).

Hint: Prove by induction that $$f(n)-f(n-8)\text{ is divisible by }3.$$ For the inductive step use the fact that $$f(n)-f(n-8)=[f(n-1)+f(n-2)]-[f(n-9)+f(n-10)]$$$$=[f(n-1)-f(n-9)]+[f(n-2)-f(n-10)].$$

Why don't you try with induction? From a quick look at the Fibonacci sequence, the period of the remainder after division by $3$ is $1,1,2,0,2,2,1,0$. I believe this is easy to prove using induction. But perhaps there is a nicer way, because the induction would be long and not very nice...

• I think this is quite good enough. Induction would be too much, in my opinion. Oct 13 '15 at 21:46

Just compute the Fibonacci sequence in $\mathbb{Z}_3$, which has only three numbers: $0, 1, 2$. If the result of an addition "overflows," just "wrap" it around, so that $2 + 2 = 1$.

$F_1 = 1$ and $F_2 = 1$ by definition. Then $F_3 = F_1 + F_2 = 1 + 1 = 2$. And $F_4 = F_2 + F_3 = 1 + 2 = 3$. But change it over to $F_4 = 0$.

Then $F_5 = F_3 + F_4 = 2 + 0 = 2$, $F_6 = F_4 + F_5 = 0 + 2 = 2$, and then $F_7 = F_5 + F_6 = 2 + 2 = 4$ which we wrap around to $= 1$. Which leads us to $F_8 = F_6 + F_7 = 2 + 1 = 3$ which wraps around to $= 0$.

Clearly the whole pattern is going to repeat, because $\mathbb{Z}_3$ will not unexpectedly sprout more numbers.

• "Mathematicians report new element of $\mathbb{Z}_3$!" Oct 13 '15 at 22:00


text:
Help in writing NGS pipeline (or: the road from fasta to vcf)
1
3
Entering edit mode
3.5 years ago
Hervé ▴ 30

Hi,

for various reasons I decided to try to understand better the variant calling process. I am interested in human data, however I decided to use some C Elegans data from this paper : http://genome.cshlp.org/content/23/10/1749.full -- it is a diploid organism so it should behave similarly to human data, the genome is much smaller so I expect the software to run faster...

My goal is to understand the process and to write a clear and useful tutorial. I will try to update this post with all comments and information I'll get from you. When it will be complete I may publish it elsewhere on the internet, with a CC-BY-SA license and of course I'll link to biostars.

Here is what I have done so far. I still need to add some text about the files contents etc, but I would like to know first if the pipeline is not missing something too important -- I know it can't be perfect, I have seen many things done elsewhere but I failed to understand their roles. I hope that this first attempt is not too bad, and if important stuff is missing, to get explanations about what's missing and why.

I'll be grateful for all kind of comments, correction, suggestions. Please remember that I am a complete newbie. I gathered information from many places, in particular biostars (I’ll add a list of my sources here in the next few days).

At the moment I don’t cover hereafter the "installing the software process"; I use SRA toolkit, bwa, Picard, GATK, that are installed in the folders referenced in the code chunks below -- this should be readable to anyone familiar with linux. I may add a preliminary section on obtaining and installing the software at some point.

I. Get some of the SRP018046 data

I used this this question/answer from biostar to get a csv file (I named it SRP018046.csv) describing all data files, as follows.

mkdir -p ~/NGS/fastq/
cd ~/NGS/fastq/

wget 'http://trace.ncbi.nlm.nih.gov/Traces/sra/sra.cgi?save=efetch&rettype=runinfo&db=sra&term=SRP018046' -O - > SRP018046.csv

Here are the first 10 lines with a few interesting columns:

         Run Experiment LibraryName LibraryLayout    Sample    BioSample  SampleName
1  SRR957315  SRX339695     VC40080        PAIRED SRS473465 SAMN02334950 MMP_VC40080
2  SRR957316  SRX339696     VC40080        PAIRED SRS473465 SAMN02334950 MMP_VC40080
3  SRR957317  SRX339696     VC40080        PAIRED SRS473465 SAMN02334950 MMP_VC40080
4  SRR957318  SRX339697     VC41013        PAIRED SRS473466 SAMN02334951 MMP_VC41013
5  SRR957319  SRX339697     VC41013        PAIRED SRS473466 SAMN02334951 MMP_VC41013
6  SRR957320  SRX339698     VC40531        PAIRED SRS473467 SAMN02334952 MMP_VC40531
7  SRR957321  SRX339698     VC40531        PAIRED SRS473467 SAMN02334952 MMP_VC40531
8  SRR957322  SRX339698     VC40531        PAIRED SRS473467 SAMN02334952 MMP_VC40531
9  SRR957323  SRX339698     VC40531        PAIRED SRS473467 SAMN02334952 MMP_VC40531
10 SRR957324  SRX339699     VC40531        SINGLE SRS473467 SAMN02334952 MMP_VC40531

So these 10 files are for three different samples, all but one are paired-end reads. This should be a good starting point. It download these files using fastq-dump from the SRA toolkit, like this.

cd ~/NGS/fastq/
cut -d, -f1 ../SRP018046.csv |tail -n +2 |head -10|xargs  --max-procs 4 ~/NGS/sratoolkit/bin/fastq-dump --split-files --gzip

The --split-files option is needed to get two files for the paired-end data. If omitted, the data are in a non-standard format (both ends are on the same line).

II. Get the reference genome

I got a ftp link from http://www.ensembl.org/Caenorhabditis_elegans/Info/Index My sysadmin never figured out why ftp and lftp did not work on our cluster, but wget was ok:

mkdir ~/NGS/fasta/
cd ~/NGS/fasta/
wget -r -np ftp://ftp.ensembl.org/pub/release-90/fasta/caenorhabditis_elegans/dna/

I unzipped the file Caenorhabditis_elegans.WBcel235.dna.toplevel.fa (some of the tools later used don't accept it gzipped) and built an index with bwa

~/NGS/bwa/bwa index Caenorhabditis_elegans.WBcel235.dna.toplevel.fa

And a sequence dictionnary (here enters Picard):

PICARD="java -jar ~/NGS/Picard/picard.jar"
$PICARD CreateSequenceDictionary R=fasta/Caenorhabditis_elegans.WBcel235.dna.toplevel.fa  III. Align data with bwa (or: from fasta to sam) I did it as follows. The -R options adds a read group to each file, allowing to identify which sample it comes from (eg SM:VC40080); if we don't do that at some point, there's now way the variant calling step will know about the samples. mkdir ~/NGS/sam/ cd ~/NGS/ REFERENCE="~/NGS/fasta/Caenorhabditis_elegans.WBcel235.dna.toplevel.fa" ~/NGS/bwa/bwa mem -M$REFERENCE -R "@RG\tID:SRR957315\tSM:VC40080" fastq/SRR957315_1.fastq.gz fastq/SRR957315_2.fastq.gz > sam/SRR957315.sam
~/NGS/bwa/bwa mem -M $REFERENCE -R "@RG\tID:SRR957316\tSM:VC40080" fastq/SRR957316_1.fastq.gz fastq/SRR957316_2.fastq.gz > sam/SRR957316.sam ~/NGS/bwa/bwa mem -M$REFERENCE -R "@RG\tID:SRR957317\tSM:VC40080" fastq/SRR957317_1.fastq.gz fastq/SRR957317_2.fastq.gz > sam/SRR957317.sam

~/NGS/bwa/bwa mem -M $REFERENCE -R "@RG\tID:SRR957318\tSM:VC41013" fastq/SRR957318_1.fastq.gz fastq/SRR957318_2.fastq.gz > sam/SRR957318.sam ~/NGS/bwa/bwa mem -M$REFERENCE -R "@RG\tID:SRR957319\tSM:VC41013" fastq/SRR957319_1.fastq.gz fastq/SRR957319_2.fastq.gz > sam/SRR957319.sam

~/NGS/bwa/bwa mem -M $REFERENCE -R "@RG\tID:SRR957320\tSM:VC40531" fastq/SRR957320_1.fastq.gz fastq/SRR957320_2.fastq.gz > sam/SRR957320.sam ~/NGS/bwa/bwa mem -M$REFERENCE -R "@RG\tID:SRR957321\tSM:VC40531" fastq/SRR957321_1.fastq.gz fastq/SRR957321_2.fastq.gz > sam/SRR957321.sam
~/NGS/bwa/bwa mem -M $REFERENCE -R "@RG\tID:SRR957322\tSM:VC40531" fastq/SRR957322_1.fastq.gz fastq/SRR957322_2.fastq.gz > sam/SRR957322.sam ~/NGS/bwa/bwa mem -M$REFERENCE -R "@RG\tID:SRR957323\tSM:VC40531" fastq/SRR957323_1.fastq.gz fastq/SRR957323_2.fastq.gz > sam/SRR957323.sam
~/NGS/bwa/bwa mem -M $REFERENCE -R "@RG\tID:SRR957324\tSM:VC40531" fastq/SRR957324_1.fastq.gz > sam/SRR957324.sam  IV. There is more to do before variant calling (creating bam files) First thing, create a unique bam file. mkdir ~/NGS/bam cd ~/NGS/$PICARD MergeSamFiles \
I=sam/SRR957315.sam \
I=sam/SRR957316.sam \
I=sam/SRR957317.sam \
I=sam/SRR957318.sam \
I=sam/SRR957319.sam \
I=sam/SRR957320.sam \
I=sam/SRR957321.sam \
I=sam/SRR957322.sam \
I=sam/SRR957323.sam \
O=bam/all_samples.bam \
SO=unsorted \

We need to sort this file.

$PICARD SortSam I=bam/all_samples.bam O=bam/all_samples_sorted.bam SO=coordinate ;  And to mark PCR Duplicates $PICARD MarkDuplicates \
I=bam/all_samples_sorted.bam \
O=bam/all_samples_dedup.bam \
ASSUME_SORTED=yes \
METRICS_FILE=bam/metric_file.metrics ;

Last step before variant calling is to index it.

$PICARD BuildBamIndex I=bam/all_samples_dedup.bam ;  V. Last but to not least, call variants with GATK (creating vcf) mkdir ~/NGS/vcf/ cd ~/NGS/ GATK="java -jar ~/NGS/GATK/GenomeAnalysisTK.jar"$GATK HaplotypeCaller  -I bam/all_samples_dedup.bam  -o vcf/essai.vcf -R \$REFERENCE

I am eagerly waiting for your feedback!

next-gen alignment • 2.5k views
1
Entering edit mode

You can combine a the alignment, sorting and conversion to bam in one step:

bwa mem reference.fa -R "blabla" reads_1.fastq.gz reads_2.fastq.gz | samtools sort -o alignment.bam

0
Entering edit mode

That pipeline will detect SNVs and small indels. You may also be interested in detecting copy number changes, larger structural variants, or other variants in regions (such as microsatellites and telomeres) requiring specialised variant callers.

4
Entering edit mode
3.5 years ago
JJ ▴ 560

You should follow the GATK best practices - there are a couple of steps missing, especially recalibration and filtering Have a look at GATK best practices

0
Entering edit mode

OK, thanks for the pointer. I find the reference hard to read for the newcomer. Any explanation/advice about these steps?

0
Entering edit mode

You need to do a base recalibration before SNP calling. Look here for a tutorial how to do this. If you do not have known SNPs you might do two rounds of SNP calling and pass the best/filtered SNPs to recalibration instead of the known SNPs. This is to correct for sequencing errors.

I would also recommend calling SNPs in the gvcf mode. This is particularly important if you have more than just a single sample and you can apply joint genotyping, which would be the next step after SNP calling.

After the SNP calling (or joint genotyping) you need to do some filtering. Here you can use variant quality score recalibration (VQSR) if you have truth/training variant sets or hard filtering if you don't.

0
Entering edit mode

You need to do a base recalibration before SNP calling.

It depends... Have a look in the discussion we had here some days ago.


text:
# Raft: Progress on the Log

I've spent the majority of my free time this last week working on Raft. As you can see from this issue I've been mostly working on the idea of transactions.

A lot has taken shape in the codebase. It still will panic at unimplemented!() about 300ms after you start a node, but "That's a feature!"

Note: All interfaces and code are not final, and are for educational and interest purposes.

## Hacking up a Persistent Log

Probably one of the coolest little projects I worked on was writing the persistent_state of a RaftNode. This is the data that the Raft protocol requires be written on stable storage each update.

/// Persistent state
/// **Must be updated to stable storage before RPC response.**
pub struct PersistentState<T: Encodable + Decodable + Send + Clone> {
current_term: u64,
voted_for: Option<u64>,      // request_vote cares if this is None
log: File,
last_index: u64,             // The last index of the file.
}

So, the reason this needs to be written to disk is so that in theory if we have a crash, we can recover. I haven't implemented resuming from a previous log, but I think that'll be a fun thing to do.

Here's what a log looks like right now:

➜  raft git:(master) ✗ cat /tmp/test_path
0                    0
1 IkZvbyI
2 IkJhciI

The first line is where we store current_term and voted_for (in that order). All previous lines are pairs of $term$V where V is the base64 encoded JSON encoded version of T, which is anything that implemented Decode and Encode.

I'd really like to not Base64 encode JSON encoded data. If you have a suggestion, please open an issue! I'm currently looking at using bincode instead. See this issue.

My reasoning for what V looks like is that I'm using \n to delimit index entries for the log, so any sort of output that I store can't have any \n symbols. In theory I could sanitize my input, but I'd argue that the cost of sanitization would be less than just Base64 encoding it.

### On New Toys

After using them, new fs and io modules are pretty sweet (At the time of writing this is rustc 1.0.0-nightly (b63cee4a1 2015-02-14 17:01:11 +0000)).

Working with the new Result<T> was a bit weird as we used to use Result<T,E>. The new Result<T> handles almost identical in my experience (and you don't need to specify long errors in every function definition!).

### Creating Files

This was, surprisingly, a bit of a stumbling block for me. File::open() gives you read access, while File::create() gives you write, but if you're hoping to open a file then read and write to it, you'll need to use OpenOptions.

let mut open_opts = OpenOptions::new();
open_opts.write(true);
open_opts.create(true);
let mut file = open_opts.open(&log_path).unwrap();

### Manipulating Files

Working with files means you generally deal with Cursors into the file. You can navigate around a file like so:

let start =
self.log.seek(io::SeekFrom::Start(0));
let offset_from_start =
self.log.seek(io::SeekFrom::Start(8));
let very_end =
self.log.seek(io::SeekFrom::End(0));
let current =
self.log.seek(io::SeekFrom::Current(0));

This is key, because it controls your position in the file for most other operations. You can try it out with the code below on the playpen.

#![feature(io)]
#![feature(fs)]
#![feature(path)]
use std::fs::OpenOptions;
use std::io::{Read, Write, Seek, SeekFrom};
fn main() {
let mut open_opts = OpenOptions::new();
open_opts.write(true);
open_opts.create(true);
let mut file = open_opts.open(&Path::new("/tmp/test")).unwrap();
let mut read = String::new();

write!(&mut file, "Foo bar baz").unwrap();
file.seek(SeekFrom::End(-3)).unwrap();
println!("{}", read); // Outputs "baz"

file.seek(SeekFrom::End(-7)).unwrap();
write!(&mut file, "dog").unwrap();
file.seek(SeekFrom::Start(0)).unwrap();
println!("{}", read); // Outputs "Foo dog baz"
}

Now that we can write into files, how do we make sure we have a consistent space for data? The first line of our log contains two u64s which can take up to 20 digits each. Using this, we can modify our write!() call to use more specialize formatting options.

write!(&mut self.log, "{:20} {:20}\n",
self.current_term, self.voted_for.unwrap_or(0))

The {:20} is a formatting option that ensures it takes up consistent space. More on that here.

### Scanning Through

Since we have a handle on moving around our file cursor we can start using other things like .chars() on the file to get it to spit out characters.

Make sure to .seek() then build your iterator, otherwise ownership woes will be upon you!

/// Moves line lines into the file. Purposefully goes "one extra" line because the first line is metadata.
/// Returns the number of bytes containing line lines.
fn move_to(&mut self, line: u64) -> io::Result<u64> {
// Gotcha: The first line is NOT a log entry.
let mut lines_read = 0u64;
self.log.seek(io::SeekFrom::Start(0)); // Take the start.
// Go until we've reached line new lines.
let _ = self.log.by_ref().chars().skip_while(|opt| {
match *opt {
Ok(val) => {
if val == '\n' {
if lines_read > line { // Greater than here because the first line is a bust.
false // At right location.
} else {
true // Not done yet, more lines to go.
}
} else {
true // Not a new line.
}
},
_ => false // At EOF. Nothing more.
}
}).next(); // Side effects.
self.log.seek(io::SeekFrom::Current(0)) // Where are we?
}

As you can see, the move_to() function's main traversing is not done by seek(), it's done by an iterator! Once we set the cursor to Start(0) we can set up an iterator with log.by_ref().chars().skip_while(). by_ref() gets us a reference so we don't stumble into move issues. .chars() lets us pull char types instead of u8. .skip_while() lets us walk over the file, disgarding values as we finish looking at them.

Finally, at the end you might notice a .next(), this is because iterators are lazy... So up until that's called, nothing is actually even done! Very neat.

Looking forward, I'd like to not require going from the start forward every .move_to() call.

### Retrieving an Entry

Now that we can effectively scan through the file and get the correct position, how do we retrieve entries? Here is what retrieve_entry looks like (Note there is retrieve_entries too which is very similar):

pub fn retrieve_entry(&mut self, index: u64) -> io::Result<(u64, T)> {
// Move to the correct line.
let position = self.move_to(index);
let mut chars = self.log.by_ref()
.chars()
// Only go until the end of the file, None
.take_while(|val| val.is_ok())
// Drop anything not Some(val)
.filter_map(|val| val.ok())
// Take the line.
.take_while(|&val| val != '\n')
// Bring it into a String.
.collect::<String>();
let mut splits = chars.split(' ');
// Use a scope!
let term = {
// .and_then() is great for dealing with Options.
let chunk = splits.next()
.and_then(|v| v.parse::<u64>().ok());
match chunk {
Some(v) => v,
None => return Err(io::Error::new(io::ErrorKind::InvalidInput, "Could not parse term.", None)),
}
};
let encoded = {
let chunk = splits.next();
match chunk {
Some(v) => v,
None => return Err(io::Error::new(io::ErrorKind::InvalidInput, "Could not parse encoded data.", None)),
}
};
// Decode the value.
let decoded: T = PersistentState::decode(encoded.to_string())
.ok().expect("Could not unwrap log entry.");
Ok((term, decoded))
}

This code makes use of iterators, scopes, and options in, what I consider, a fairly clean way. After moving to the correct line, chars takes in one line of the file and it gets chunked into two pieces along a delimiter. Then the values of that chunk iterator are parsed.

One stumbling block I had was that v.parse::<u64>() returned <F as FromStr>::Err instead of an IoError like io::Result<_> expects. This means that I couldn't just try!() the expression. Looking at io::Error I was able to find the InvalidInput variant that suited my needs.

### Purging and Appending

Part of the Raft protocol dictates that purging and appending must be able to happen to the log. Here's purge:

/// Do *not* invoke this unless you update the last_index!
fn purge_from_bytes(&mut self, from_bytes: u64) -> io::Result<()> {
self.log.set_len(from_bytes) // Chop off the file at the given position.
}
/// Removes all entries from from to the last entry, inclusively.
pub fn purge_from_index(&mut self, from_line: u64) -> io::Result<()> {
let position = try!(self.move_to(from_line));
self.last_index = from_line - 1;
self.purge_from_bytes(position)
}

Since purging will always remove all lines after a given line, we can just use .set_len(), which is convienent since otherwise the only real way I've seen to remove "some" lines is to read in the file and write it back out again entirely, which kind of sucks.

I split purge_from_bytes() and purge_from_index() up because append_entries() will use it. Here it is:

/// Appends entries after prev_log_index and prev_log_term.
pub fn append_entries(&mut self, prev_log_index: u64, prev_log_term: u64,
entries: Vec<(u64, T)>) -> io::Result<()> {
// TODO: No checking of prev_log_index & prev_log_term yet... Do we need to?
let position = try!(self.move_to(prev_log_index + 1));
let number = entries.len();
try!(self.purge_from_bytes(position)); // Update last_log_index later.
for (term, entry) in entries {
// TODO: I don't like the "doubling" here. How can we do this better?
write!(&mut self.log, "{} {}\n", term, PersistentState::encode(entry));
}
self.last_index = if prev_log_index == 0 {
number as u64 - 1
} else { prev_log_index + number as u64 };
Ok(())
}

You'll notice the first line is a // TODO: because there are no safety checks to make sure that things are as they should be. The semantics of these checks are specified in the Raft paper, and should be easy to implement, I just haven't gotten to it yet! (Midterm week, yuck!) Otherwise, the code for this is fairly straightforward.

### Testing

One of my favorite things about Rust is the built in tooling for testing. Here's what the start of my log test looks like:

#[test]
fn test_persistent_state() {
let path = Path::new("/tmp/test_path");
fs::remove_file(&path.clone());
let mut state = PersistentState::new(0, path.clone());
// Add 0, 1
assert_eq!(state.append_entries(0, 0,
vec![(0, "Zero".to_string()),
(1, "One".to_string())]),
Ok(()));
// Check index.
assert_eq!(state.get_last_index(), 1);
// Check 0
assert_eq!(state.retrieve_entry(0),
Ok((0, "Zero".to_string())));
// Check 0, 1
assert_eq!(state.retrieve_entries(0, 1),
Ok(vec![(0, "Zero".to_string()),
(1, "One".to_string())
]));
// ...

Let me be clear I love this. It makes it so easy to unit test code. One gotcha I discovered is that cargo test captures all your stdout... So you can do cargo test -- --nocapture to disable that!

## Explore and Help!

https://github.com/Hoverbear/raft

Would you like to explore, give feedback, or contribute? Please do! Publicly you can just make an issue on Github, or privately just shoot me an email. (I'm sure you can find it on Github or here...)

Discussion of this post is on Reddit.

d7994a50cf9756cd9c31f9b4571250b9f2265343


text:
Calculate mean variance portfolio

I am trying to calculate the mean variance portfolio using the plug-in approach.

First I generate some artificial data:

x <- replicate(10,rnorm(1000))

Then I apply the plug-in principle:

#count number of columns in the datasets
N <- ncol(x)

#create vector of ones
In <- rep(1,N)

#calculate covariance
covariance <- cov(x)

#calculate mean returns
mu <- colMeans(x)
mu <- t(t(mu))

#use the plug-in principle

xt <- solve(covariance) %*% mu
mean.var <- as.vector(xt) / abs(In %*% xt)

I would like to know:

1. Is this the correct way to implement the mean variance strategy?

2. How can I incorporate a risk-aversion parameter in this framework?

There is one minor mistake: If you compute sum(mean.var) you'll obtain $-1$ instead of $1$. So it should be
 mean.var<-xt/sum(xt)

in order to ensure that the weights sum up to one. The remainder is correct. Incorporating a risk aversion parameter into the framework requires the solution to the minVar problem (See for example here). Therefore, dividing your result with the risk aversion parameter $\gamma$ is sufficient to solve your problem.


text:
Ask Your Question

# Revision history [back]

The "acked lost" and "acked unseen" indicate the same event:
An ACK was seen for which the segment it acknowledges is not in the capture file.
You can filter on this using either
tcp.analysis.ack_lost_segment or
_ws.expert.message == "ACKed segment that wasn't captured (common at capture start)"

"previous segment not captured" means a segment was arriving out of order at the capture point.
It could have been lost or is just arriving late at the capture point. A filter on those is
tcp.analysis.lost_segment
Hope this helps,
regards Matthias