text:
Should we vote to close and/or flag questions that we know are a request to help do something that is forbidden by the Terms of Service of a third party?

The example that I see pop up the most is about how to get YouTube Videos to play outside of YouTube itself, and not through the officially provided APIs.

Here is one from this morning that has since been deleted. I know I've seen others that are similar though.

This question would seem to me to violate the following terms in the YouTube ToS (note that I am not a lawyer, nor do I have any desire to be):

You agree not to distribute in any medium any part of the Service or the Content without YouTube's prior written authorization, unless YouTube makes available the means for such distribution through functionality offered by the Service (such as the Embeddable Player).

and

You agree not to access Content through any technology or means other than the video playback pages of the Service itself, the Embeddable Player, or other explicitly authorized means YouTube may designate.

I know my example question has already been deleted by its asker, but it would be nice to know what is the correct action if any to take when things like this are asked.

-
–  Mysticial Jul 7 '12 at 20:24

This is extremely similar to Meta questions (example) about SO questions that apparently break NDAs, and I believe that the answer is the same:

Stack Overflow/Exchange has no place in the agreement between two other parties, and has no responsibilty to police that agreement. In fact, it might be a bad idea for SE to start trying to do such policing, because someone could decide they are liable for episodes that they missed.

There also shouldn't be any reason for you to not answer, unless you have an agreement with, e.g., YouTube that prevents you from doing so.

In short, it's the OP's business that he or she has an agreement with someone else; the question should be judged, like all others, on its technical merits.

-
Good points. I agree with them. However, I think that, while we have no responsibility to police agreements, if we see someone posting something harmful, like telling users to run rm -rf * to solve a problem, it should be flagged for removal. –  jmort253 Jul 7 '12 at 20:31
@jmort: It depends on the context. Downvotes and comments should be used first. –  Josh Caswell Jul 7 '12 at 20:33
Sure, the rm -rf is an extreme example though. If it's clearly posted maliciously, it must be removed. –  jmort253 Jul 7 '12 at 20:34

The goal of Stack Overflow is to provide expert answers to programming questions. As it stands, this is a programming question, one where the answer doesn't really involve code. As someone with experience, you recognize that this isn't possible.

In this case, the answer to the question may very well have been "you can't", followed by the reasons why, the statements you cite in the YouTube Terms and Conditions, and maybe even some alternative solutions. the Terms and Conditions provide evidence that this isn't supported, and while there could be a workaround, it's not a supported workaround and could be terminated at any moment.

This could very well be helpful to future visitors who also wish to do the same thing, and who don't know that it's not possible.

With that said, if it's clear that a person's intent is to do harm, then we don't want that material on the site. It should be flagged for moderator attention and removed.

-
I disagree with this: if there's a technical solution that can be provided, that's the only suitable content for an answer. A caution regarding the T&C and workarounds being voided is certainly warranted and a good idea, but an entire answer focussing on legal issues is off-topic and not a good SO answer. –  Josh Caswell Jul 7 '12 at 20:31
Answers aren't judged as on/off topic. Only questions are. If the answer addresses the question, it's fine. The terms and conditions are a risk, and as a developer, if you implement something that isn't supported, you may end up having trouble supporting your product later on down the line. That's important information to know as a dev. With that said, I agree with you that if there is a technical solution, provide that as well. –  jmort253 Jul 7 '12 at 20:33
Certainly an answer can be off-topic. If you ask me how to concatenate a string and I respond with a history of C's string manipulation functions, what would you call that? –  Josh Caswell Jul 7 '12 at 20:35
That might be "not an answer", if the history has no impact on the successful use of those concatenation functions. YouTube saying "we don't support this" does have an impact on how successful the dev would be in implementing a workaround. –  jmort253 Jul 7 '12 at 20:37


text:
<img src="https://d5nxst8fruw4z.cloudfront.net/atrk.gif?account=iA1Pi1a8Dy00ym" style="display:none" height="1" width="1" alt="" />

# 3.16: Front-End Estimation

Difficulty Level: At Grade Created by: CK-12
Estimated6 minsto complete
%
Progress
Practice Front-End Estimation
Progress
Estimated6 minsto complete
%

In the last Concept, Jose realized that he could figure out his recycling data by using rounding. But there are other ways to estimate sums and differences. Have you ever heard of front - end estimation? In this Concept, you will learn how to use front - end estimation to help Jose.

Let's look at the dilemma again.

Jose has had many new ideas for improving life at the “Add It Up Ice Cream Stand.” His newest idea focuses on recycling. In addition to ice cream, the stand also sells sodas that are packaged in aluminum cans. Because you can turn in cans for recycling and receive some money back, Jose thinks that this could be a way for the ice cream stand to generate a little more income. He explained his idea to Mr. Harris who loved the concept. Jose put out recycling bins the first week of June. On the last day of each month, Jose took the recycled cans to the recycling center and collected money on his returns. He decided to keep track of the additional income in a small notebook. Here is what Jose collected in June, July and August.

June $25.77 July$33.45

August 47.62 Julie asks Jose about how much he has made in recycling. She also wants to know about how much more he made in August versus June. Jose looks at his notebook and just by looking at the numbers can’t remember how to estimate. The decimals are throwing him off. In this Concept, you will learn how to use front - end estimation to help Jose. ### Guidance Front–end estimation is a useful method of estimating when you are adding or subtracting numbers that are greater than 1000. Here are the steps for front – end estimation. 1. Keep the digits of the two highest place values in the number. 2. Insert zeros for the other place values. Estimate 4597 + 3865 = _____ We follow the rules for front – end estimation since each number is over 1000. 4597 becomes 4500. 4 and 5 are the digits of the two highest place values and we filled in zeros for the rest of the places. 3865 becomes 3800. 3 and 8 are the digits of two highest place values and we filled in zeros for the rest of the places. Now we can rewrite the problem. 4500 + 3800 = 8300 Our answer for 4597 + 3865 is 8300. What about a problem where we have one number over 1000 and one number not over 1000? Estimate 4496 - 745 = _____ 4496 becomes 4400 using front–end estimation. 745 becomes 700 by rounding to the nearest hundred. 4400 - 700 = 3700 Our answer for 4496 - 745 is 3700.' What about front–end estimation and decimals? When using front–end estimation and decimals, we figure out how to keep the wholes separate from the parts and then combine them together. Here are the steps to front–end estimation with decimals. 1. Add the front digits of the numbers being added or subtracted. 2. Round off the decimals of the numbers being added or subtracted. 3. Combine or subtract the results. 2.10 + 3.79 = _____ We start with the front digits of the numbers being added. That means we add 2 + 3 = 5. Next, we round the decimal part of each number. .10 stays .10 and .79 becomes .80 .80 + .10 = .90 Now we add, since that is the operation, the two estimates together. 5 + .90 = 5.90 Our answer for 2.10 + 3.79 is 5.90. Now it is your turn to practice, notice that these examples are whole numbers and not decimals. #### Example A 5674 + 1256 = _____ Solution: 5600 + 1200 = 6800 #### Example B 4632 - 576 = _____ Solution: 4600 - 570 = 4030 #### Example C 8932 + 1445 = _____ Solution: 8900 + 1400 = 10,300 Now back to Jose and his estimation dilemma. After rounding, Jose decides to try front – end estimation to see if he can get an even more accurate estimate of the sum. First, add the front ends, 25 + 33 + 47 = 105. Next round the decimal parts and add them, .77 = .80, .45 = .50, .62 = .60. \begin{align*}.80 + .50 + .60 & = 1.90 \\ 105 + 1.90 & = \106.90\end{align*} June =25.77 which rounds to $26 August =$47.62 which rounds to $48 48 - 26 =$22.00

You can see that both estimation methods work!

### Vocabulary

Here are the vocabulary words that are found in this Concept.

Estimate
to find an answer that is reasonable and close to an exact answer.
Sum
the result of an addition problem
Difference
the result of a subtraction problem
Front end estimation
estimating by adding the front ends of each number in the problem, then rounding and adding the decimal parts of each number.
• Works well with smaller numbers
Rounding
converting a number to its nearest whole number.
• Works well with larger numbers

### Guided Practice

Here is one for you to try on your own.

16.79 - 14.12 = _____

We start by subtracting the front ends. 16 - 14 = 2 Next, we round the decimal parts. .79 becomes .80 and .12 becomes .10. Subtract those decimals .80 - .10 = .70. Combine for the answer = 2.70.

Our answer for 16.79 - 14.12 is 2.70.

### Video Review

Here are videos for review.

### Practice

Directions: Estimate using front–end estimation.

1. 34.66 + 11.12 = _____

2. 43.18 + 16.75 = _____

3. 2.34 + 1.56 = _____

4. 7.89 + 5.79 = _____

5. 8.90 + 3.21 = _____

6. 7.18 - 3.13 = _____

7. 12.65 - 7.23 = _____

8. 15.70 - 11.10 = _____

9. 25.67 - 18.40 = _____

10. 78.46 - 55.21 = _____

11. 88.12 - 34.06 = _____

12. 87.43 - 80.11 = _____

13. 94.12 - 7.08 = _____

14. 98.10 - 6.01 = _____

15. 145.90 + 18.12 = _____

### Notes/Highlights Having trouble? Report an issue.

Color Highlighted Text Notes

### Vocabulary Language: English

Difference

The result of a subtraction operation is called a difference.

Estimate

To estimate is to find an approximate answer that is reasonable or makes sense given the problem.

Rounding

Rounding is reducing the number of non-zero digits in a number while keeping the overall value of the number similar.

Sum

The sum is the result after two or more amounts have been added together.

Show Hide Details
Description
Difficulty Level:
Tags:
Subjects:

format: plain


text:
Setting conditions for the avoidance of in-service crack growth in aggressive corroding environments has long been a major challenge due to the number of variables that have a significant effect on material behavior. One area where both experimental data and a validated assessment methodology are lacking is the behavior of shallow cracks. This paper describes the early results of an ongoing research program aimed at addressing the shortfall in experimental data to characterize material behavior in the shallow-crack regime, with the long-term aim of improving the understanding and assessment of the early stages of environment assisted cracking. There is an industry need for a better understanding of material behavior under these conditions and for the development of a more robust assessment methodology. API 5L X65 pipeline steel parent material was tested in a sour environment with initial flaw sizes in the range 1–2 mm. Fatigue crack growth rate tests have been performed to investigate the influence of crack depth on crack growth rate $(da/dN)$. Initial results suggest that crack growth rates for deep flaws can increase by a factor of 5–100 compared with air depending on the applied stress intensity factor range $(ΔK)$. Shallow cracks have been shown to grow up to 130 times faster in a sour environment than in air and up to an order of magnitude faster than deep cracks in a sour environment at the same value of $ΔK$. Constant load tests have also been performed to investigate the influence of crack depth on the threshold stress intensity factor for stress corrosion cracking $(KISCC)$. Preliminary results suggest that in this case there is no crack depth dependence in the range of flaw sizes tested. While further experimental work is required, the results obtained to date highlight the potential nonconservatism associated with extrapolating deep-crack data. Guidance is therefore provided on how to generate appropriate experimental data to ensure that subsequent fitness for service assessments are conservative.

1.
Bristoll
,
P.
, and
Roeleveld
,
J.
, 1978, “
Fatigue of Offshore Structures: Effect of Seawater on Crack Propagation in Structural Steel
,”
Proceedings of the European Offshore Steels Research
, ECSC,
The Welding Institute
,
Cambridge, UK
.
2.
Webster
,
S. E.
,
Austen
,
I. M.
, and
Rudd
,
W.
, 1985, “
Fatigue, Corrosion Fatigue and Stress Corrosion of Steels for Offshore Structures
,” ECSC Report No. EUR 9460.
3.
Vosikovsky
,
O.
, and
Rivard
,
A.
, 1982, “
The Effect of Hydrogen Sulphide in Crude Oil on Fatigue Crack Growth in a Pipeline Steel
,”
Corrosion (Houston)
0010-9312,
38
(
1
), pp.
19
22
.
4.
Vosikovsky
,
O.
,
Macecek
,
M.
, and
Ross
,
D. J.
, 1983, “
Allowable Defect Sizes in a Sour Crude Oil Pipeline for Corrosion Fatigue Conditions
,”
Int. J. Pressure Vessels Piping
0308-0161,
13
, pp.
197
226
.
5.
Watanabe
,
E.
,
Yajima
,
H.
,
Ebara
,
R.
,
Matsumoto
,
S.
,
Nakano
,
Y.
, and
Sugie
,
E.
, 1994, “
Corrosion Fatigue Strength of Ship Structural Steel Plates and Their Welded Joints in Sour Crude Oil
,”
Offshore Mechanics and Arctic Engineering Conference (OMAE 1994)
,
ASME
,
New York
, Vol.
III
, pp.
151
158
.
6.
,
R. C.
, and
Szklarz
,
K. E.
, 1999, “
Fatigue Crack Propagation and Fracture in Sour Dilute Brine
,”
Proceedings of Corrosion
,
NACE International
,
Houston, TX
, Paper No. 611.
7.
,
R. C.
, and
Szklarz
,
K. E.
, 1999, “
Fatigue Initiation and Crack Closure of Low Alloy Steels in Sour Brine Environments
,”
Proceedings of Corrosion
,
NACE International
,
Houston, TX
, Paper No. 610.
8.
Baxter
,
D. P.
,
,
S. J.
, and
Pargeter
,
R. J.
, 2007, “
Corrosion Fatigue Behaviour of Welded Risers and Pipelines
,”
Proceedings of OMAE2007 26th International Conference on Offshore Mechanics and Arctic Engineering
, San Diego, CA, Paper No. OMAE2007-29360.
9.
Gooch
,
T. G.
, 1982, “
Hardness and Stress Corrosion Cracking of Ferritic Steel
,”
The Welding Institute Research Bulletin
,
23
(
8
), pp.
241
246
.
10.
2005, “
BS 7910: Guide to Methods for Assessing the Acceptability of Flaws in Metallic Structures
,” British Standards Institution, London.
11.
FITNET
, 2008, “
Fitness-for-Service
,” Revision MK8, ISBN 978-3-940923-00-4, prepared by the European Fitness-for-Service Thematic Network, FITNET.
12.
2007, “
Fitness-For-Service
,” 1st ed., The American Petroleum Institute and The American Society of Mechanical Engineers, Washington, API 579-1/ASME FFS-1.
13.
2006, “
Assessment of the Integrity of Structures Containing Defects
,” R6 Revision 4, British Energy.
14.
Jones
,
R. H.
, and
Simonen
,
E. P.
, 1994, “
Early Stages in the Development of Stress Corrosion Cracks
,”
Mater. Sci. Eng., A
,
176
, pp.
211
218
. 0921-5093
15.
Kitagawa
,
H.
, and
Takahashi
,
S.
, 1979, “
Applicability of Fracture Mechanics to Very Small Cracks of the Cracks in the Early Stage
,”
Proceedings of the Second International Conference on Mechanical Behaviour of Materials
, pp.
627
631
.
16.
Gangloff
,
R. P.
, 1985, “
Crack Size Effects on the Chemical Driving Force for Aqueous Corrosion Fatigue
,”
Metall. Trans. A
0360-2133,
16A
, pp.
953
969
.
17.
Akid
,
R.
, 1994, “
Modelling Environment-Assisted Short Fatigue Crack Growth
,”
Advances in Fracture Resistance and Structural Integrity
,
Pergamon
,
New York
, pp.
261
269
.
18.
Murtaza
,
G.
, and
Akid
,
R.
, 1995, “
Modelling Short Fatigue Crack Growth in a Heat-Treated Low-Alloy Steel
,”
Int. J. Fatigue
0142-1123,
17
(
3
), pp.
207
214
.
19.
Turnbull
,
A.
,
McCartney
,
L. N.
, and
Zhou
,
S.
, 2006, “
Modelling of the Evolution of Stress Corrosion Cracks From Pits
,”
Scr. Mater.
,
54
, pp.
575
578
. 1359-6462
20.
Kondo
,
Y.
, 1989, “
Prediction of Fatigue Crack Initiation Life Based on Pit Growth
,”
Corros. Sci.
0010-938X,
45
(
1
), pp.
7
11
.
21.
Chen
,
G. S.
,
Wan
,
K.-C.
,
Gao
,
M.
,
Wei
,
R. P.
, and
Flournoy
,
T. H.
, 1996, “
Transition From Pitting to Fatigue Crack Growth—Modelling of Corrosion Fatigue Crack Nucleation in a 2024-T3 Aluminium Alloy
,”
Mater. Sci. Eng., A
,
219
, pp.
126
132
. 0921-5093
22.
Holtam
,
C. M.
, and
Baxter
,
D. P.
, 2007, “
Environment Assisted Cracking Assessment Methods: The Behaviour of Shallow Cracks
,”
Proceedings of the UK Forum for Engineering Structural Integrity’s Ninth International Conference on Engineering Structural Integrity Assessment (ESIA9)
,
EMAS
, pp.
862
866
.
23.
NACE
, 2005, “
MR 0177-2005: Laboratory Testing of Metals for Resistance to Sulfide Stress Cracking and Stress Corrosion Cracking in H2S Environments
,” Houston.
24.
Pargeter
,
R. J.
,
Gooch
,
T. G.
, and
Bailey
,
N.
, 1990, “
The Effect of Environment on Threshold Hardness for Hydrogen Induced Stress Corrosion Cracking of C–Mn Steel Welds
,”
Conference Proceedings on Advanced Technology in Welding, Materials, Processing and Evaluation
, Apr.,
Japan Welding Society
,
Tokyo
.
25.
Albarran
,
J. L.
,
Martinez
,
L.
, and
Lopez
,
H. F.
, 1999, “
Effect of Heat Treatment on the Stress Corrosion Resistance of a Microalloyed Pipeline Steel
,”
Corros. Sci.
,
41
, pp.
1037
1049
. 0010-938X
26.
Sponseller
,
D. L.
, 1992, “
Interlaboratory Testing of Seven Alloys for SSC Resistance by the Double Cantilever Beam Method
,”
Corrosion (Houston)
0010-9312,
48
(
2
), pp.
159
171
.


text:
# The following data are taken from the balance sheet at the end of the current year. Determine the...

The following data are taken from the balance sheet at the end of the current year. Determine the (a) working capital, (b) current ratio, and (c) quick ratio. Present figures used in your computations. Round ratios to the nearest tenth.

• ### Accounting

(Solved) April 29, 2014

Chapter 2 page 98/99 Case #2 Chapter 6 page 290, Question #6.1


text:
Thank you for visiting nature.com. You are using a browser version with limited support for CSS. To obtain the best experience, we recommend you use a more up to date browser (or turn off compatibility mode in Internet Explorer). In the meantime, to ensure continued support, we are displaying the site without styles and JavaScript.

# Quantum reflection above the classical radiation-reaction barrier in the quantum electro-dynamics regime

## Abstract

High brightness gamma rays can be generated by colliding an ultra-intense laser pulse with a high energy electron beam. This collision phenomenon also represents a powerful approach to explore new physics in the exotic strong field Quantum Electro-Dynamics (QED) regime. Here we show that in the cross-collision geometry, there exists a barrier induced by the classical radiation-reaction force that prohibits electrons of arbitrarily high energies to pass. However, such classical barrier vanishes in the QED picture, where electrons can be well reflected (transmitted) in the regimes forbidden by classical theory. This effect can be measured in the up-coming 10–100 PW laser facilities for laser intensities at 2 × 1023 W cm−2 and electron energies of ~102 MeV. The results are capable of identifying the boundaries between classical and QED approaches in the strong field regime and confirming the various models describing this fundamental process.

## Introduction

Understanding the electron dynamics in relativistic laser fields has been of core interest in strong-field physics and inspired numerous key applications such as fast ignition fusion, acceleration of charged particles, and producing bright X-/gamma-ray sources. These advances become strong motivations for developing the 10–100PW high-power laser systems1,2,3,4,5,6. Light intensity is likely to approach 1023−24 W cm−2 in the foreseeable future and promote light–matter interaction to the radiation-dominated regime7 or even the quantum electrodynamics (QED) regime8,9,10. In these regimes, an interest in the unique electron dynamics at extreme laser fields arises, in which electrons are accelerated and radiate photons of considerable energies, such that the recoil force is not negligible. This phenomenon is usually referred to as radiation reaction (RR).

Theoretical attempts were made to account for classical RR, such as the Lorentz–Abraham–Dirac equation11 and the Landau–Lifshitz (LL) equation12, both of which were derived from the assumption of continuous classical radiation. The latter is widely accepted because it resolves the nonphysical runaway solution13. Classical treatment is successful in describing accumulative RR effects. In the QED regime, stochastic radiation of high-energy photons14,15 no longer allows one to treat RR as a continuous effect and the quantum effects become effective. While photon emission and the RR force could lead to profound effects in light–matter interaction, such as electron cooling16,17, energy redistribution18, and anomalous trapping of electrons19,20,21, identifying RR in the QED regime has been challenging due to the insufficient peak laser intensities. A direct approach is to head-on collide a high- intensity laser with an energetic electron beam. The laser field can be boosted by a factor of ~γ (electron gamma factor) in the electron rest frame, so that the QED parameter χ = e|Fp|/m3c4 can reach unity22, where Fμν is the electromagnetic tensor and pμ is the electron four-momentum. Considerations based on this scenario have been made to observe classical RR7,16,23,24 and quantum effects25,26,27,28,29, by identifying the signature from either the radiated gamma-photons17,27 or the electron dynamics26,28. For the latter in particular, a quantum “quenching” effect is revealed in the head-on colliding geometry for few-cycle laser pulses26, by which some electrons can radiate zero energy and go through the laser field freely.

In this article, we show that new quantum features in electron dynamics arise in the cross-collision geometry at extreme laser intensities. We noticed that classical RR can form a distinctive barrier that blocks electrons with energy below the barrier and allows electrons with energy beyond to pass. However, in the regime where the classical RR barrier allows for full transmission (reflection), we found that an electron can be reflected (transmitted) due to the quantum nature of its dynamics. Intuitively, an electron transmits through the laser field by emitting a smaller amount of energy than it does classically, as suggested in the quantum “quenching” picture26. However, in the quantum reflection (transmission) mechanism, we see that a considerable portion of electrons are reflected (transmitted) by the laser field, even when they radiate lower energy (more energy) than they do classically. The anomalous behavior can be observed by a proposed experiment that measures the reflected electron signal.

## Results

### Reflection beyond the classical RR barrier

We examine the electron dynamics by perpendicularly colliding a focused laser beam to a high-energy electron bunch. The tightly focused laser30 is polarized in the x-direction and propagates in the z-direction with a profile of $${\mathbf{E}} = {\mathbf{E}}_0(x,y,z,w_0){\mathrm{cos}}^2(\psi /2N)$$. Here w0 is the radius of beam waist, ψ (|ψ| < ) the phase term, and N the pulse length in wavelength that focuses at the origin at t = 0, respectively. We start with the simplest case where monoenergetic electrons are injected in the y = 0 plane. A more realistic electron bunch will be discussed later. The reflection ratio of electrons is evaluated in a large parametric region.

We compare the results between the classical approach and the QED calculation in Fig. 1, where a = 300 and γ0 = 250,400 (2 × 1023 W cm−2, 128 MeV, and 204 MeV) are considered. Here λ = 800 nm, w0 = 2λ, pulse length is 20λ, and a = Eeλ/2πmc2 (E is the laser electric field) is the Lorentz-invariant field strength and γ0mc2 is the electron initial energy. The case of pure Lorentz force (LF) is also included for full comparison. In the parameter range of χ < 1, the electron trajectories are greatly diverged. When the RR effect is excluded, all electrons transmit freely through the laser beam, with minor perturbation in the particle trajectories, as shown in Fig. 1a, b. However, a distinctive behavior arises when the classical RR (LL equation is employed) is turned on. At a fixed laser intensity of 2 × 1023 W cm−2, for γ0 = 250, one sees complete reflection of electrons in the colliding vicinity (Fig. 1c). When we increase the electron energy to γ0 = 400, we find that the picture flips where all electrons transmit through the laser beam (Fig. 1d). The drastically different dynamic behavior by slightly varying the electron energy indicates the presence of a clear threshold between the two sets of parameters, i.e., γ0 = 250 and γ0 = 400. These features vanish when we switch to the QED description (see the “Methods” section). In the classical reflection (γ0 = 250, below threshold) or transmission (γ0 = 400, above threshold) regime, we see that 5 out of 100 of test electrons transmit through the laser field in the former and 4 out of 100 get reflected in the latter, as illustrated in Fig. 1e, f, respectively.

This disparity is universal in a large parameter range. We quantize the electron reflectance ratio in the (a, γ0) domain in Fig. 1g–i. When RR is turned off, the only barrier for electrons to overcome is the laser ponderomotive potential. Thus, an electron passes through the laser field freely while its initial energy dominates over the ponderomotive potential. This threshold is perfectly fitted by the criterion γ0~a31,32 in Fig. 1g. The RR effect imposes another barrier for electrons. When the laser amplitude increases, the lowest energy for penetration (red-dashed line in Fig. 1h), namely, the barrier, grows higher than that in the no-RR case (white-dashed line in Fig. 1g). Therefore, one sees a clear and sharp threshold that defines reversed features in the electron reflectance, as shown in Fig. 1c, d.

However, the classical RR barrier smears when viewed in the QED perspective. In the parameter region beyond the barrier where LL allows for total transmission, more than 1% of the electrons still get reflected in QED, as shown by the nonzero reflectance above the red-dashed line in Fig. 1i. Moreover, electrons can tunnel through the beam below the barrier due to quantum behavior, which significantly lowers the reflectance as compared with the LL case.

### QED effects: anomalous reflection

The QED effect can be best understood by looking at one electron injected at one fixed position for multiple times. The lowest penetration energy for classical LF and LL (white-solid lines) is definite as shown in Fig. 2a. These two curves coincide with the many-particle modeling in Fig. 1g, i. In the QED picture, we repeat the colliding process for 104 times at each set of (γ0, a), where the reflectance probability is defined by $$\frac{{{\mathrm{reflected}}}}{{{\mathrm{total}}}}$$. The reproduced probability map in Fig. 2a shows three distinctive regimes. Below the LF boundary is the forbidden zone where the initial electron energy is too small to overcome the ponderomotive barrier. The LL boundary indicates the definite electron dynamics in the classical picture and deviates the transmission and reflection regions shown in Fig. 1a, d. However, in QED, electron dynamics are stochastic and the reflectance is smeared near the LL boundary. The quantum transmission region lies between the LL and the LF boundaries, which becomes more prominent as χ increases. Beyond the LL boundary is the above-threshold zone, where electron energy dominates the classical barrier. The nonzero reflectance above the LL boundary in QED indicates the quantum reflection that is forbidden by the classical LL equation. It should be noticed that the LL boundary can be modified by quantum correction33. However, these quantum effects can always happen due to the stochastic behavior.

We further count the radiated energy for each electron in Fig. 2b for a = 300, γ0 = 400 during t < 0, as simulation starts at t = −t0 and the electron is initialized at x0 = ct0, z0 = 0 outside the laser. The LL equation gives a definite single-valued radiated energy at each interaction time. In contrast, energy loss in the QED modeling deviates from the LL equation in several ways. First, QED-MC exhibits a broadened distribution ranging from 0 to 200 MeV due to random radiation, meaning that the electron could lose all the initial energy or radiate nothing. Second, the averaged radiated energy is higher for reflected electrons and lower for transmitted electrons, which is similar to the quantum quenching effect26.

The most interesting feature in Fig. 2b is that some electrons may radiate more (less) than classical calculation, but still transmit (get reflected) as shown by the colored area. These anomalously transmitted/reflected electrons are presented at each colliding phase t = −1.2 T, −1 T, and 0, as recorded in Fig. 2b. The mechanism is further confirmed in Fig. 2c, d by tracking the energy loss of each electron trajectory during collision. These results indicate a new QED feature that has not been revealed previously. Possible electron trajectories are determined by the LL equation or QED; the former contains only one solution for a given condition, while the latter includes various solutions due to the stochastic process, which allows for diverged patterns of radiation and electron trajectories. Therefore, an electron does not necessarily radiate more energy to be reflected or less to transmit. This classically forbidden phenomenon is a most profound reflection of the stochastic quantum laws.

### QED effects: angular feature

We consider at a = 350 a more realistic electron bunch of spatial size Δy = Δz = 100λ at the full width at half maximum (FWHM) of the super-Gaussian profile, Δx = 4λ at FWHM of Gaussian profile with E = 102 MeV, 5% energy spread, 10 mrad angular divergence34,35, and peak density of ~1015 cm−3, respectively. We assume electrons located further away from the bunch center to have larger divergence angles with respect to the propagation axis. The relatively large transverse size of the electron bunch can significantly lower down the difficulty of overlapping the bunch and the laser pulse in the cross-collision geometry. The collective plasma field can be neglected due to the very low electron density, such that test particle modeling is sufficient. Otherwise particle-in-cell (PIC) simulations are required.

The results are presented in Fig. 3a, b. The laser pulse drills through the bunch and scatters electrons to large angles. By focusing on the scattered electrons, the measurement is free from the disturbance of background electrons. For long-distance propagation at the order of meter, it is very important to identify the angular distribution after collision. In Fig. 3c, we see clear periodic structures in the LL case, where θ is the polar angle to −x and ϕ the azimuthal angle to z; when we switch to the QED case, such structures vanish in Fig. 3d. In the classical case, there is a specific correlation between the scattering angle and the injected phase, as shown in Fig. 3e. Thus, the oscillation along the scattering angle θ (black horizontal bars) represents the structure of the laser field. However, in the QED case, the scattering angle is no longer single-valued for a certain injecting phase. This is induced by the stochastic effect that allows electrons to enter phases forbidden by the classical model. The broadened scattering angle in QED thus smears the oscillating structure presented in the classical case.

### Experimental consideration

One can leverage the new feature to experimentally probe the QED nature at extreme intensities. In this work, we focus on the quantum-reflected electrons as the reflected electron signal is free of the background signal from the abundant transmitted electrons. These effects can be captured experimentally by distributing electron number detectors along θ and ϕ angles and recording the scattered electrons, as shown in Fig. 4a. The records, accumulated from ϕ = −15° to 15° (sections between the dashed lines in Fig. 3c, d) as a function of θ (50 sets of detectors along θ ranging from π/2 to π) are shown in Fig. 4b. Each detector corresponds to an accepting area of ~6 × 6 cm for 2 -m propagation distance. Clear oscillations (spikes and valleys) are reproduced in the detectors along θ in the classical case. This feature is absent in the QED picture, providing an explicit evidence of the QED process. We integrate electron numbers in π/2 < θ < π and obtain the total reflectance at different field strengths in Fig. 4c. The reflection curves show a sharp jump at a = 220 for LL, corresponding to the classical RR barrier. For QED, due to the mechanisms revealed in Fig. 2a, one observes a smoothed transition rather than an abrupt change. We thus conclude that the measurement of electron reflectance along with the angular structure will provide a clear proof of quantum RR.

## Discussion

The cross-collision geometry can minimize the electron oscillation times when compared with the head-on collisions, because the current laser systems can focus the spot size to 1 ~ 2λ, but the laser pulse length is usually at about 10λ. To achieve the regime where the QED feature is active, single-cycle or even subcycle laser pulses are required in the head-on collision setup, as shown in ref. 26, which would be very challenging for the state-of-the-art techniques. Cross-collision, on the other hand, is less demanding on the pulse profile to create quantum reflection events. For experimental consideration, the reflected electrons get separated from the electron bunch; i.e., the signal and background are not coaxial, which will be favored for making high-contrast measurements. The critical spatial overlapping/aiming issue in the head-on collision scenario is also mitigated in the cross-collision geometry, where the electron beam can in principle be extended to hundreds of micrometers in diameter, such that the laser pulse can cross it at a picosecond timescale.

Breit–Wheeler pair-production36 in the cross-collision geometry is investigated in a large parameter range with the PIC code SMILEI37. We use the same laser and electron bunch configuration as that in Fig. 3 but in a two-dimensional form. The cell size in the PIC simulations is 0.04λ × 0.04λ with 10 particles per cell. The results are presented in Fig. 5, where the pair-production is strongly suppressed for χ ~ γ a 1. The fraction of the pair-produced electrons is also small when compared with all the reflected electrons. Therefore, we conclude that pair-production does not affect the phenomenon of quantum reflection in the considered parameter space.

All the results are calculated with our single-particle model. Here, we compare our results of angular distribution in Fig. 3 with PIC simulation, where the laser and electron bunch configurations in the PIC simulation are the same with the single-particle modeling. The cell size in the PIC simulation is 0.04λ × 0.08λ × 0.08λ with 1 particle per cell, where the first dimension is the laser propagation direction. Comparison of the results is shown in Fig. 6. Although the single-particle modeling ignores the interaction between the electrons, the consistency with each other shows fidelity of our model.

In conclusion, we found that perpendicular laser-electron collision provides a unique approach to distinguish the classical and quantum dynamics in the strong-field regime. By calculating the reflectance of injected electrons, we revealed that the classical RR-barrier threshold is not active when viewed in the QED picture. This classical barrier grows to infinity and can block electrons of arbitrarily high energy when the field strength reaches a critical value. In the perspective of QED, electrons may get reflected even when the electron energy goes beyond the classical barrier and transmit for electron energy below the barrier.

We notice that recent experimental efforts have been made to collide laser-wakefield accelerated electrons, with counterpropagating high-intensity laser pulses to produce X-/gamma-rays via Compton scattering38,39,40 and to create RR events41,42. In the former, RR was not active due to relatively low laser intensities. In the experiment by Cole et al.41, the collision probability was limited by the techniques of time synchronization and spatial overlap. Thus, successful events were necessarily identified through extensive theoretical modeling and comparison with experimental results41. In the experiments by Poder et al.42, a more precise model beyond constant cross-field approximation is required to account for the results. Wistisen et al.43 measure the photon spectrum in a positron-crystal collision but did not find a valid theory that fully accounts for the results. We believe that the new QED features of electron dynamics revealed here can be explicitly probed by the measurement proposed in Fig. 4, where the double measurement of the angular structure and the reflectance is self-consistent in identifying the QED effect.

## Methods

### The classical RR barrier

In a classical picture, we solve the equation of motion dp/dt = FL + FRR numerically for each electron and track their trajectories. Here, FL is the Lorentz force and FRR is the RR force taking the dominating term of LL equation12. In the classical framework, the electron dynamics is deterministic in the sense that it always experiences the same amount of damping if the injection position is constant. We consider an electron initially located at the upper edge of the laser field, as seen in Fig. 7a. The trajectory is presented in the ψx space, where ψ = ωtkz. One notices that before the trajectory turns staggered, there is a depletion zone where it loses the kinetic energy rapidly along a straight line in the space–time domain. This process, namely rapid exhaustion, is the key making electron possible to be reflected by the laser field. For electrons with energy far beyond ponderomotive potential, they must lower down their momenta to a certain level through the rapid exhaustion phase in RR to be reflected by the laser ponderomotive potential.

We simplify the geometry to one-dimensional (1D), since the electron moves in the polarization plane and maintains a straight trajectory. To give an explicit formula, the laser is approximated to a plane wave

$$E_x = E_0\,{\mathrm{cos}}\,(kz - \omega t)\,{\mathrm{cos}}^2\left( {\pi x/2w_0} \right)$$

with beam waist w0. Since RR is dominant in the depletion zone, we only consider RR force

$${\mathbf{F}}_{{\mathrm{RR}}} \approx - \frac{{2e^4}}{{3m^2c^4}}\gamma ^2{\mathbf{\beta }}[\left( {{\mathbf{E}} + {\mathbf{\beta }} \times {\mathbf{H}}} \right)^2 - ({\mathbf{E}} \cdot {\mathbf{\beta }})^2]$$

where we only take the dominant term proportional to γ2. We have the rate of energy loss from classical radiation dE/dt = FRRv, where vx ≈ −c. Along the straight trajectory, if one has t = (w0x)/c then dE/dt only depends on x. Then electron energy evolves as

$$mc^2\frac{{\mathrm{d}\gamma }}{{\mathrm{d}t}} = mc^2\frac{{\mathrm{d}\gamma }}{{\mathrm{d}x}}\frac{1}{{ - c}} = - \frac{{2e^4}}{{3m^2c^3}}\gamma ^2E_x^2(x)\beta _x^2$$

where $$\beta _x^2 \approx 1$$. Then we have

$${\int}_{\gamma _0}^{\gamma (x)} {\gamma ^{ - 2}} \mathrm{d}\gamma = {\int}_{w_0}^x {\frac{{2e^4}}{{3m^3c^4}}} E_x^2(x)\mathrm{d}x$$

Finally we obtain the evolution of γ(x) along x

$$\gamma \left( x \right) = \frac{1}{{1/\gamma _0 + a^2{\Bbb I}_{w_0}\left( x \right)}}$$

where $${\Bbb I}_{w_0}(x)$$ is an integral relevant to the laser profile. It weakly depends on initial z0, thus, we take z0 = 0 for convenience. From Fig. 7, we see that the depletion zone ends at about w0/4 away from the laser axis, thus, we evaluate the integration $${\Bbb I}_{w_0}(x)$$ from x = w0 to w0/4. The lowest energy for an electron to penetrate ponderomotive potential is approximated by demanding γ(w0/4) ~ k a, from which we can determine the lowest energy (γ0mc2) to penetrate the laser beam considering a strong RR

$$\gamma _0 = \frac{1}{{1/ka - a^2{\Bbb I}_{w_0}(w_0/4)}}$$
(1)

where k can be determined by the boundary (white-dashed line) in Fig. 1f. Equation (1) depicts the boundary of the classical LL transmittance map. For comparison, we numerically calculate the LL boundary of transmittance in Fig. 2a and compare it with Eq. (1) in Fig. 7b. One sees excellent agreement between the two. For comparison, the w0 of the cos2 profile is scaled to fit the Gaussian profile of the laser in our simulation $$\left( {w_{0,\mathrm{cos}^2} = 1.71w_{0,\mathrm{Gaussian}}} \right)$$. Equation (1) reveals the unique LL threshold by setting the denominator to null $$1/ka = a^2{\Bbb I}_{w_0}(w_0/4)$$, suggesting an infinite value for the initial electron energy. The critical field strength then scales as

$$a_{{\mathrm{cr}},w_0} = [k\cdot {\Bbb I}_{w_0}(w_0/4)]^{ - 1/3}\sim w_0^{ - 1/3}$$
(2)

where $${\Bbb I}_{w_0}(x)$$ is basically linear to w0. Equation (2) reveals the important fact that the LL barrier threshold does not depend on the initial momentum of the colliding electrons. It is only a function of the laser profile. We notice that the scaling of Eq. (2) is consistent with the criteria by which RR dominates over LF44,45 and radiation trapping happens20,21. Particularly, we see that from Eq. (2) that although relevant, the barrier dependence on the laser beam size is relatively weak. Therefore, it is favored by tight focusing of finite laser peak powers, as $$a\sim w_0^{ - 2}$$ while $$a_{{\mathrm{cr}},w_0}\sim w_0^{ - 1/3}$$.

Quantum radiation is treated stochastically, while the motion between the emission events is classical. One can do so because the de Broglie wavelength of an ultra-relativistic electron is much smaller than the optical laser wavelength and the photon formation length mc2/eE~10−3λ is much smaller than the gradient of the field46 in the region we discuss. The emission rate in the QED regime is given in refs. 22,47. We use the synchrotron radiation configuration48,49 based on the solution of a “dressed” electron in external fields; the photon emission is modeled by the synchrotron spectrum50

$$F(\chi ,\delta ) = (1 - \delta )\left[ {y{\int}_y^\infty \mathrm{d} y{\prime}K_{5/3}(y{\prime}) + \frac{{\delta ^2}}{{1 - \delta }}yK_{2/3}(y)} \right]$$

where $$y = \frac{2}{3}\chi ^{ - 1}\frac{\delta }{{1 - \delta }}$$ and δ = |F k|/|F p|≈ω/γmc2 represents the photon energy normalized by the electron energy; kμ is four-momentum of the photon. Photon emission is triggered by a modified event generator51 that resolves the cutoff issue in the low-energy region of the radiation model. In the QED-MC algorithm, emission probability and photon energy are determined by two independent random numbers r1 and r2. If r2 < P(r1), a photon of ω = r2γmc2 is emitted, where P(r) is the probability density function constructed from F(χ, δ).

## Data availability

Simulation data and figures are accessible from Geng upon reasonable requests.

## References

1. 1.

Shen, B. et al. Exploring vacuum birefringence based on a 100 pw laser and an x-ray free electron laser beam. Plasma Phys. Control. Fusion 60, 044002 (2018).

2. 2.

Extreme Light Infrastructure European Project. eli-laser.eu (2019).

3. 3.

Exawatt Center for Extreme Light Studies. www.xcels.iapras.ru (2019).

4. 4.

Apollon multi-PW laser Users Facility. www.polytechnique.edu (2019).

5. 5.

The Vulcan 10-PW project. www.clf.stfc.ac.uk (2019).

6. 6.

Li, R., Liang, X., Leng, Y. & Xu, Z. Progress of the sulf 10pw laser project. In 1st AAPPS-DPP meeting. 1st AAPPS-DPP meeting, Chengdu, China (2017).

7. 7.

Di Piazza, A., Hatsagortsyan, K. Z. & Keitel, C. H. Strong signatures of radiation reaction below the radiation-dominated regime. Phys. Rev. Lett. 102, 254802 (2009).

8. 8.

Di Piazza, A., Mller, C., Hatsagortsyan, K. Z. & Keitel, C. H. Extremely high-intensity laser interactions with fundamental quantum systems. Rev. Mod. Phys. 84, 1177–1228 (2012).

9. 9.

Marklund, M. & Shukla, P. K. Nonlinear collective effects in photon-photon and photon-plasma interactions. Rev. Mod. Phys. 78, 591–640 (2006).

10. 10.

Sokolov, I. V., Nees, J. A., Yanovsky, V. P., Naumova, N. M. & Mourou, G. A. Emission and its back-reaction accompanying electron motion in relativistically strong and qed-strong pulsed laser fields. Phys. Rev. E 81, 036412 (2010).

11. 11.

Dirac, P. A. M. Classical theory of radiating electrons. Proc. R. Soc. A 167, 148–169 (1938).

12. 12.

Landau, L. D. & Lifshitz, E. M. The Classical Theory of Fields (Pergamon Press, Oxford, 1971).

13. 13.

Spohn, H. The critical manifold of the lorentz-dirac equation. Europhys. Lett. 50, 287 (2000).

14. 14.

Pandit, R. R. & Sentoku, Y. Higher order terms of radiative damping in extreme intense laser-matter interaction. Phys. Plasmas 19, 073304 (2012).

15. 15.

Sokolov, I. V., Naumova, N. M. & Nees, J. A. Numerical modeling of radiation-dominated and quantum-electrodynamically strong regimes of laser-plasma interaction. Phys. Plasmas 18, 093109 (2011).

16. 16.

Zhidkov, A., Koga, J., Sasaki, A. & Uesaka, M. Radiation damping effects on the interaction of ultraintense laser pulses with an overdense plasma. Phys. Rev. Lett. 88, 185002 (2002).

17. 17.

Vranic, M., Martins, J. L., Vieira, J., Fonseca, R. A. & Silva, L. O. All-optical radiation reaction at 1021 W/cm2. Phys. Rev. Lett. 113, 134801 (2014).

18. 18.

Ji, L. L. et al. Energy partition, γ-ray emission, and radiation reaction in the near-quantum electrodynamical regime of laser-plasma interaction. Phys. Plasmas 21, 023109 (2014).

19. 19.

Lehmann, G. & Spatschek, K. H. Phase-space contraction and attractors for ultrarelativistic electrons. Phys. Rev. E 85, 056412 (2012).

20. 20.

Ji, L. L., Pukhov, A., Kostyukov, I. Y., Shen, B. F. & Akli, K. Radiation-reaction trapping of electrons in extreme laser fields. Phys. Rev. Lett. 112, 145003 (2014).

21. 21.

Gonoskov, A. et al. Anomalous radiative trapping in laser fields of extreme intensity. Phys. Rev. Lett. 113, 014801 (2014).

22. 22.

Ritus, V. Quantum effects of the interaction of elementary particles with an intense electromagnetic field. J. Russ. Laser Res. 6, 497–617 (1985).

23. 23.

Tamburini, M., Pegoraro, F., Di Piazza, A., Keitel, C. H. & Macchi, A. Radiation reaction effects on radiation pressure acceleration. New J. Phys. 12, 123005 (2010).

24. 24.

Capdessus, R., d’Humières, E. & Tikhonchuk, V. T. Modeling of radiation losses in ultrahigh power laser-matter interaction. Phys. Rev. E 86, 036401 (2012).

25. 25.

Neitz, N. & Di Piazza, A. Stochasticity effects in quantum radiation reaction. Phys. Rev. Lett. 111, 054802 (2013).

26. 26.

Harvey, C., Gonoskov, A., Ilderton, A. & Marklund, M. Quantum quenching of radiation losses in short laser pulses. Phys. Rev. Lett. 118, 105004 (2017).

27. 27.

Li, J.-X., Chen, Y.-Y., Hatsagortsyan, K. Z. & Keitel, C. H. Angle-resolved stochastic photon emission in the quantum radiation-dominated regime. Sci. Rep. 7, 11556 (2017).

28. 28.

Vranic, M., Grismayer, T., Fonseca, R. A. & Silva, L. O. Quantum radiation reaction in head-on laser-electron beam interaction. New J. Phys. 18, 073035 (2016).

29. 29.

Ridgers, C. P. et al. Signatures of quantum effects on radiation reaction in laserâ€“electron-beam collisions. J. Plasma Phys. 83, 715830502 (2017).

30. 30.

Salamin, Y. I. & Keitel, C. H. Electron acceleration by a tightly focused laser beam. Phys. Rev. Lett. 88, 095005 (2002).

31. 31.

Mendonça, J. T., Silva, L. O. & Bingham, R. Reflection of an electron beam by a photon mirror. J. Plasma Phys. 73, 627–634 (2007).

32. 32.

Heinzl, T. & Ilderton, A. A lorentz and gauge invariant measure of laser intensity. Opt. Commun. 282, 1879–1883 (2009).

33. 33.

Baier, V. N., Katkov, V. M. & Strakhovenko, V. M. Quasiclassical theory of radiation and pair creation in crystals at high energy. Radiat. Eff. Defects Solids 122–123, 527–556 (1991).

34. 34.

Qin, Z. et al. Ultralow-emittance measurement of high-quality electron beams from a laser wakefield accelerator. Phys. Plasmas 25, 023106 (2018).

35. 35.

Vaccarezza, C. et al. The sparc lab thomson source. Nucl. Instrum. Methods Phys. Res. A 829, 237–242 (2016).

36. 36.

Breit, G. & Wheeler, J. A. Collision of two light quanta. Phys. Rev. 46, 1087–1091 (1934).

37. 37.

Derouillat, J. et al. Smilei: a collaborative, open-source, multi-purpose particle-in-cell code for plasma simulation. Comput. Phys. Comm. 222, 351–373 (2018).

38. 38.

Chen, S. et al. Mev-energy x rays from inverse compton scattering with laser-wakefield accelerated electrons. Phys. Rev. Lett. 110, 155003 (2013).

39. 39.

Sarri, G. et al. Ultrahigh brilliance multi-mev γ-ray beams from nonlinear relativistic thomson scattering. Phys. Rev. Lett. 113, 224801 (2014).

40. 40.

Yan, W. et al. High-order multiphoton thomson scattering. Nat. Photon. 11, 514 (2017).

41. 41.

Cole, J. M. et al. Experimental evidence of radiation reaction in the collision of a high-intensity laser pulse with a laser-wakefield accelerated electron beam. Phys. Rev. X 8, 11 (2018).

42. 42.

Poder, K. et al. Experimental signatures of the quantum nature of radiation reaction in the field of an ultraintense laser. Phys. Rev. X 8, 031004 (2018).

43. 43.

Wistisen, T. N., Di Piazza, A., Knudsen, H. V. & Uggerhoj, U. I. Experimental evidence of quantum radiation reaction in aligned crystals. Nat. Commun. 9, 795 (2018).

44. 44.

Fedotov, A. M., Elkina, N. V., Gelfer, E. G., Narozhny, N. B. & Ruhl, H. Radiation friction versus ponderomotive effect. Phys. Rev. A 90, 053847 (2014).

45. 45.

Bulanov, S. V., Esirkepov, T. Z., Koga, J. & Tajima, T. Interaction of electromagnetic waves with plasma in the radiation-dominated regime. Plasma Phys. Rep. 30, 196–213 (2004).

46. 46.

Del Gaudio, F., Grismayer, T., Fonseca, R. A., Mori, W. B. & Silva, L. O. Bright γ rays source and nonlinear breit-wheeler pairs in the collision of high density particle beams. Phys. Rev. Accel. Beams 22, 023402 (2019).

47. 47.

Berestetskii, V. B., Lifshitz, E. M. & Pitaevskii, L. P. Course of Theoretical Physics. Quantum Electrodynamics. 2nd edn. (Butterworth-Heinemann, Oxford, 1982).

48. 48.

Erber, T. High-energy electromagnetic conversion processes in intense magnetic fields. Rev. Mod. Phys. 38, 626–659 (1966).

49. 49.

Sokolov, A. A. & Ternov, I. M. Synchrotron Radiation. (Akademie-Verlag, Berlin, 1968).

50. 50.

Ternov, I. M. Synchrotron radiation. Phys.-Uspekhi 38, 409 (1995).

51. 51.

Gonoskov, A. et al. Extended particle-in-cell schemes for physics in ultrastrong laser fields: Review and developments. Phys. Rev. E 92, 023305 (2015).

## Acknowledgements

This work is supported by the Ministry of Science and Technology of the People’s Republic of China (2018YFA0404803 and 2016YFA0401102), the National Science Foundation of China (No. 11875307), the Strategic Priority Research Program of Chinese Academy of Sciences (Grant No. XDB16010000), and the Recruitment Program for Young Professionals.

## Author information

Authors

### Contributions

L.L.J. and X.S.G. proposed the research. X.S.G. did the numerical modeling and simulations under supervision by L.L.J. and B.F.S.; X.S.G. and L.L.J. prepared the paper, with suggestion from B.F.S., B.F., Z.G., Q.Y., L.G.Z. and Z.Z.X.

### Corresponding authors

Correspondence to L. L. Ji or B. F. Shen.

## Ethics declarations

### Competing interests

The authors declare no competing interests.

Publisher’s note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

## Rights and permissions

Reprints and Permissions

Geng, X.S., Ji, L.L., Shen, B.F. et al. Quantum reflection above the classical radiation-reaction barrier in the quantum electro-dynamics regime. Commun Phys 2, 66 (2019). https://doi.org/10.1038/s42005-019-0164-2

• Accepted:

• Published:

• ### Wakefield acceleration

• T. Tajima
• , X. Q. Yan
•  & T. Ebisuzaki

Reviews of Modern Plasma Physics (2020)

• ### Radiation reaction as an energy enhancement mechanism for laser-irradiated electrons in a strong plasma magnetic field

• Z. Gong
• , F. Mackenroth
• , X. Q. Yan
•  & A. V. Arefiev

Scientific Reports (2019)


text:
# Research Publications for 1976

## Books

A1. Gagen TM (1976) Topics in Finite Groups. London Mathematical Society Lecture Notes Series, 16 Cambridge University Press. MR53:10910

A1. Seneta E (1976) Regularly Varying Functions. Lecture Notes in Mathematics, 408 Springer, Berlin, (Russian edition: 1985). MR0453936

## Journal Articles

C1. Choo KG (1976) Whitehead groups of certain semidirect products of free groups II. Nanta Mathematica, 9(2), 138–140. MR56:5719

C1. Conlon SB (1976) $$p$$-groups with an abelian maximal subgroup and cyclic center. Journal of the Australian Mathematical Society, (Series A), 22, 221–233. MR55:490

C1. Dancer EN (1976) A note on a nonlinear elliptic eigenvalue problem. Bulletin of the Australian Mathematical Society, 12, 399–405.

C1. Dancer EN (1976) A note on a paper of Fu\u c\'ik and Ne\u cas. Mathematische Nachrichten, 73, 151–153. MR55:1042

C1. Dancer EN (1976) Boundary value problems for weakly nonlinear ordinary differential equations. Bulletin of the Australian Mathematical Society, 15, 321–328. MR55:3389

C1. Dimca A (1976) Topologia intersectiilor complete I. Studii çsi Cercet\u ari Matematice. Mathematical Reports, 28, 635–643. MR0429931

C1. Dubuc S and Seneta E (1976) The local limit theorem for the Galton-Watson process. The Annals of Probability, 4, 490–496. MR53:9402

C1. Durrant CJ, Grossmann-Doerth U and Kneer FJ (1976) The sun's chromospheric velocity field as inferred from the Ca II K line. Astronomy and Astrophysics, 51, 95–99.

C1. Fackerell ED and Suffern KG (1976) The structure and dynamic instability of isothermal relativistic star clusters. Australian Journal of Physics, 29, 311–328.

C1. Field MJ (1976) Singularity and equivariant dynamical systems. Astérisque, 40, 67–78. MR0448433

C1. Field MJ (1976) Transversalité dans les $$G$$-variétiés. Comptes Rendus de l'Académie des Sciences, Série I. Mathématique, 282, 115–117. MR53:9249

C1. Fraser WB (1976) Orthogonality relation for the Rayleigh-Lamb modes of vibration of a plate. Journal of the Acoustical Society of America, 59, 215–216.

C1. Green JA, Lehrer GI and Lusztig G (1976) On the degrees of certain group characters. The Quarterly Journal of Mathematics. Oxford, Second Series, 27, 1–4. MR52:14026

C1. Herb RA and O'Brian NR (1976) A characterization of semisimple, unipotent and regular elements in a reductive algebraic group. The Bulletin of the London Mathematical Society, 8, 233–238. MR56:15786

C1. Howlett RB (1976) Some irreducible characters of groups with $$BN$$ pairs. Journal of Algebra, 39, 571–592. MR54:388

C1. Hutchinson TP (1976) Statistical aspects of injury severity. Part I: Comparison of two populations when there are several grades of injury. Transportation Science, 10, 269–284.

C1. Hutchinson TP (1976) Statistical aspects of injury severity. Part II: The case of several populations but only three grades of injury. Transportation Science, 10, 285–299.

C1. Hutchinson TP (1976) Combining two-tailed rank-correlation statistics. Applied Statistics, Series C, 25, 21–25. (Journal of the Royal Statistical Society)

C1. Ketter TA and Lehrer GI (1976) On conjugacy classes in certain isogenous groups. Bulletin of the Australian Mathematical Society, 14, 371–377. MR55:3106

C1. Lai KF (1976) On the Tamagawa number of quasi-split groups. Bulletin of the American Mathematical Society, 82, 300–302. MR53:5483

C1. Levingston RW and Taylor DE (1976) The theorem of Marggraff on primitive permutation groups which contain a cycle. Bulletin of the Australian Mathematical Society, 5, 125–128. MR54:12870

C1. McMullen JR and Price JF (1976) Rudin Shapiro sequences for arbitrary compact groups. Journal of the Australian Mathematical Society, (Series A), 22, 421–430. MR55:6117

C1. Monro GP (1976) Hilbert and Gödel : the recent history of the axiomatic method. The Australian Mathematics Teacher, 32, 103–106.

C1. Pearson KR and Taylor DE (1976) Groups subnormal in the units of their modular group rings. Proceedings of the London Mathematical Society, Third Series, 3, 313–328. MR55:13134

C1. Pentony S and Seneta E (1976) Partition of the genotypic variance and mean fitness change for autopolyploids. Biometrische Zeitschrift, 18, 301–311. MR56:11079

C1. Quine MP (1976) Bounds for the extinction probability of a simple branching process. Journal of Applied Probability, 13, 9–16. MR52:15714

C1. Quine MP (1976) Asymptotic results for estimators in a subcritical branching process with immigration. The Annals of Probability, 4, 319–325. MR53:4417

C1. Richardson JS (1976) Primitive idempotents and the socle in group rings of periodic abelian groups. Compositio Mathematica, 32, 203–223. MR53:13370

C1. Robinson J (1976) Estimated of parameters for a model of transmitter release at synapses. Biometrics, 32, 61–68.

C1. Seneta E (1976) On a functional equation with asymptotically unique continuous solutions. Aequationes Mathematicae, 14, 456–459.

C1. Seneta E (1976) Some supplementary notes on one-type continuous-state branching processes. Zeitschrift für Wahrscheinlichkeitstheorie verw. Gebiete, 34, 87–89. MR0397913

C1. Seneta E (1976) On a contribution of Cauchy to linear regression theory. Annales de la Societé Scientifique de Bruxelles, Série I. Sciences Mathématiques, Astronomiques et Physiques, 90, 229–235. MR55:6714

C1. Seneta E (1976) The condition of truncations of a stochastic matrix. Communications in Statistics. Theory and Methods, B5, 144–145.

C1. Suffern KG and Fackerell ED (1976) The dynamic instability of isothermal relativistic star clusters. Astrophysical Journal, 203, 477–480.

C1. Wehrhahn KH (1976) A Theorem on Nilpotent Groups with Restricted Embeddings. Proceedings of the American Mathematical Society, 54, 55–56. MR52:8248

## Conference Proceedings

E1. Cannon JJ (1976) A draft description of the group theory language Cayley. Proceedings of the 1976 ACM Symposium on Symbolic and Algebraic Computation, Yorktown Heights, N.Y., August 1976, Jenks RD (ed.) , Assoc. Comp. Mach., New York, 66–84.

E1. Cannon JJ (1976) On the teaching of mathematics for the social sciences. Proceedings of a Conference on Mathematics needed for Particular Social Sciences, Canberra, May 1974, Australian Academy of Social Sciences, 228–237.

E1. Field MJ (1976) Several Complex Variables. Proc. of summer school on complex analysis, IAEA, Vienna, 234–253.

E1. Lehrer GI (1976) Some incidence structures of maximal rank. Combinatorial Mathematics IV. Proceedings of the 4th Australian Conference (Adelaide, 1975), Lecture Notes in Mathematics, Springer, 560, 132–135. MR55:8206

E1. Seneta E (1976) The principle of random union of gametes in a finite population. Combinatorial Mathematics IV. Proceedings of the 4th Australian Conference (Adelaide, 1975), Lecture Notes in Mathematics, Springer, Berlin, 560, 215–219. MR0429171

## Unpublished Conference Proceedings

UN. Gibson WG Quantum corrections to fluid properties. Statistical Mechanics Meeting, Melbourne University (May, 1976) .

UN. Mack JM Patterns in the hyperbolic plane. 6th Biennial Conference, AAMT, Perth 1976 .


text:
# Is it possible to assign a value to the sum of primes?

It is possible, by means of zeta function regularization and the Ramanujan summation method, to assign a finite value to the sum of the natural numbers (here $n \to \infty$) : $$1 + 2 + 3 + 4 + \cdots + n \mathrel{\unicode{x201c;}{=}\unicode{x201d;}} - \frac{1}{12} .$$ Is it also possible to assign a value to the sum of primes, $$2 + 3 + 5 + 7 + 11 + \cdots + p_{n}$$ ($n \to \infty$) by using any summation method for divergent series?

This question is inspired by a question on quora.

-
You can if you approximate $p_n\rightarrow n\ln(n)$ –  user1708 Nov 22 '11 at 18:08
If you can, it won't be as nice or have as much meaning as it does for the zeta function. Your first sum can be more concretely written as $\zeta(-1)=\frac{1}{12}$. However, the prime zeta function cannot be analytically continued to the left of the imaginary axis. –  Eric Naslund Nov 22 '11 at 18:18
@anon: Yes, I am aware of that. I wrote that regularization and summability methods assigns finite values to infinite, divergent series. –  Max Muller Nov 22 '11 at 18:26
@howdy :how? (text) –  Max Muller Nov 22 '11 at 18:33
@Max: Note that $p_n\sim n\log n$ by the prime number theorem. You can zeta-regularize the divergent sum $\sum_{n=1}^\infty n\log n$ by evaluating $-\zeta'(-1)=\log A-1/12$, where $A$ is the Glaisher-Kinkelin constant. So it's an answer to something similar to your question. –  anon Nov 22 '11 at 18:48

Fröberg shows in his paper that the prime zeta function

$$P(s)=\sum_{p\in \mathbb P} \frac1{p^s}=\sum_{k=1}^\infty \frac{\mu(k)}{k}\log\zeta(ks)$$

where $\mu(k)$ and $\zeta(s)$ are respectively the Möbius and Riemann functions, cannot be analytically continued to the left half-plane, $\Re\,s\leq 0$ (in particular, we cannot give a reasonable evaluation of $P(-1)$), due to the clustering of poles along the imaginary axis arising from the nontrivial zeros of the Riemann $\zeta$ function.

Note the nasty-looking left edges in both plots above.

This result is originally due to Landau and Walfisz. See the linked papers for more details.

-
Notes: The formula is basically the infinite version of Mobius inversion. And the $P(-1)$ can't be defined because a dense line of poles forms a blockade against any hope of analytic continuation. –  anon Nov 22 '11 at 18:20
Ok, but perhaps there is a different method by means of which it can be done, right? Analytic continuation is only one of many ways to sum divergent series. –  Max Muller Nov 22 '11 at 18:22
@J.M.: Here is a short proof: In your formula above, notice that when $s=\frac{1}{k}$ for some squarefree $k$, then we have a $\log\zeta(1)$ term appear in the sum, which means it is a singular point. This sequence $\frac{1}{k}$ for $k$ squarefree is then a sequence of singularities which converges to zero. –  Eric Naslund Nov 22 '11 at 18:28
Also note that this result is originally due to Landau and Walfisz. –  Eric Naslund Nov 22 '11 at 18:31
Thanks, Eric and anon, for the added details. –  Guess who it is. Nov 22 '11 at 18:39


text:
# STL Saves or Enslaves?

This topic is 4616 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

Quote:
 Original post by Anonymous PosterI really don't see how it is apples to oranges.. how is it not realworld? If i am constantly changing values in a fixed sized list that I index into, vector is TWICE as slow. It's much more realworld than most examples STL proponents use where they assign const values to the vector. Thats somethig that would just never happen in code.The original poster asked what sort of an impact STL has. I gave one solid example. Yes it has helpful things, but it's at the expense of SPEED. I'm not saying STL isn't useful.. I'm just saying it's SLOWER.STL's dependance on iterators adds overhead in the form of function calls, and reduced code cache coherency. I chose the vector, because it was an easy, reproducable, example.

How about you produce a resizeable array that beats std::vector. An array of known size would be more readily compared to boost::array or something like that.

for example, my own array class ( yes written this min )
template< class Type , int size >class Array{    Type array[size];public:    Type &operator[]( int i )    {        return array;    }};

The test( only modified to include my class )
  #define NUMELEMENTS 20000  #define NUMLOOPS    10000  int i, j, currloop;  LARGE_INTEGER start_count, end_count, final_array_count, final_vector_count;  //Start std::Vector benchmark  printf("Profiling Array: ");  QueryPerformanceCounter(&start_count);  //Allocating vector once - giving capacity as an argument  Array<char,NUMELEMENTS> testvector;  for(currloop = 0; currloop < NUMLOOPS; currloop++)  {    for(i=0;i<NUMELEMENTS;i++)    {      testvector = (char)(i%256);    }    for(i=0;i<NUMELEMENTS;i++)    {      j = testvector;    }  }  QueryPerformanceCounter(&end_count);  final_vector_count.QuadPart = end_count.QuadPart - start_count.QuadPart;  printf("%I64d\n",final_vector_count.QuadPart,final_vector_count.QuadPart);  //Start Array benchmark  printf("Profiling array: ");  QueryPerformanceCounter(&start_count);  char testarray[NUMELEMENTS]; //Allocating array once  for(currloop = 0; currloop < NUMLOOPS; currloop++)  {    for(i=0;i<NUMELEMENTS;i++)    {      testarray = (char)(i%256);    }    for(i=0;i<NUMELEMENTS;i++)    {      j = testarray;    }  }  QueryPerformanceCounter(&end_count);  final_array_count.QuadPart = end_count.QuadPart - start_count.QuadPart;  printf("%I64d\n",final_array_count.QuadPart,final_array_count.QuadPart);  printf("arrays are %I64d times faster than Arrays\n",final_vector_count.QuadPart/final_array_count.QuadPart);

Output:
Profiling Array: 1541215Profiling array: 1554889arrays are 0 times faster than ArraysProfiling Array: 1559871Profiling array: 1557985arrays are 1 times faster than ArraysProfiling Array: 1595685Profiling array: 1574723arrays are 1 times faster than ArraysProfiling Array: 1582116Profiling array: 1569467Arrays are 1 times faster than ArraysProfiling Array: 1541563Profiling array: 1542605arrays are 0 times faster than ArraysProfiling Array: 1568356Profiling array: 1538190arrays are 1 times faster than ArraysProfiling Array: 1537563Profiling array: 1548769arrays are 0 times faster than ArraysProfiling Array: 1553744Profiling array: 1534552arrays are 1 times faster than ArraysProfiling Array: 1564541Profiling array: 1578182arrays are 0 times faster than ArraysProfiling Array: 1544573Profiling array: 1585902arrays are 0 times faster than ArraysProfiling Array: 1719074Profiling array: 1580499arrays are 1 times faster than Arrays

[/Edit]

[Edit2]

Running your original test 5 times:

Profiling std::vector: 2339557Profiling array: 1927296Arrays are 1 times faster than std::vectorProfiling std::vector: 2324930Profiling array: 1928806Arrays are 1 times faster than std::vectorProfiling std::vector: 2370096Profiling array: 1949948Arrays are 1 times faster than std::vectorProfiling std::vector: 2315778Profiling array: 1951442Arrays are 1 times faster than std::vectorProfiling std::vector: 2296300Profiling array: 1895905Arrays are 1 times faster than std::vector

Not by as much as yours...

Managed to only use -O2, not -O3 [embarrass]
Profiling std::vector: 2366109Profiling array: 2425419Arrays are 0 times faster than std::vectorProfiling std::vector: 2402442Profiling array: 2385358Arrays are 1 times faster than std::vectorProfiling std::vector: 2333141Profiling array: 2345274Arrays are 0 times faster than std::vectorProfiling std::vector: 2310996Profiling array: 2349740Arrays are 0 times faster than std::vectorProfiling std::vector: 2315365Profiling array: 2346695Arrays are 0 times faster than std::vectorProfiling std::vector: 2416623Profiling array: 2416476Arrays are 1 times faster than std::vectorProfiling std::vector: 2384026Profiling array: 2439520Arrays are 0 times faster than std::vectorProfiling std::vector: 2476950Profiling array: 2382431Arrays are 1 times faster than std::vectorProfiling std::vector: 2417932Profiling array: 2398543Arrays are 1 times faster than std::vectorProfiling std::vector: 2398195Profiling array: 2410084Arrays are 0 times faster than std::vector

And so on...

[/Edit2]

[Edited by - rip-off on April 20, 2006 1:21:36 PM]

##### Share on other sites
Quote:
 Original post by Anonymous PosterYes, that function retrieves data, but if you want to assign values to your array, it calls this function, which sets up an iterator and does all sorts of function calls and other comaratively slow things.reference operator[](size_type _Pos){ // subscript mutable sequence return (*(begin() + _Pos));}

I think that would still be optimised away since begin() just returns a pointer. Unless the optimisations aren't switched on, in which case the test doesn't make any sense.

Bojan

##### Share on other sites
And I'm saying, "of course it's slower." A reasonably implemented std::vector (which is of course the only one worth considering) will use an array underneath. You're comparing raw array accesses to array accesses wrapped in a function call. Of course its slower.

Plus, it's still not a complete analysis. What happens if the vector needs to resize? You haven't addressed the relative operations in that case; this is a key issue. And, if the vector/array can be guaranteed to be of fixed size and never need to change (in which case the resize semantics wouldn't be a key issue), perhaps a vector is a poor choice for a container in that case (arguably you could simply use a raw array). In that case the error of using a vector would be with the user for choosing an inappropriate container (same kind of user error as choosing a std::map for indexing something by integers and doing frequent linear traversals).

I am not convinced that your example is valid or addressing a serious deficiency with the STL.

Quote:
 STL's dependance on iterators adds overhead in the form of function calls, and reduced code cache coherency. I chose the vector, because it was an easy, reproducable, example.

Iterators are part of what gives the STL its power. They also contribute greatly to the "ease the programmer's burden" aspect (which is very, very relevant as it directly affects time-to-market). If the minimal performance overhead they may have is actually a life-threatening issue, perhaps you are (once again) using the wrong tool for the job; without a valid context for your example (which didn't use iterators anyway), it's hard to tell.

(The "right tool for the job" doesn't neccessarily mean another STL class either)

##### Share on other sites
Quote:
 Original post by constWell, I don't want to say, that own-made bicycle is a better one, however my point is, that usually I don't need all that complexity, that brings STL. I must think about memory allocation strategy, when my task is simple iteration over list members for example.

However your argument is largely pointless.

1. The complexity of STL that you do not use, does not get compiled into your app since you are not using it. templated functions that are not used therefore do not get compiled and linked.
2. The memory allocator STL uses is a template argument, and can therefore be replaced.
3. If you *really* need to replace STL with your own containers, you can replace the templates, and switch over automatically without replacing any previously written code. So what's the problem?

Quote:
 All I want to say, is that STL has no place in production in-game code (especially main loop), just because this is a place, where we need to optimize almost everything to get maximum fps.

Optimisation is obviously needed, but refusing to use STL is not an optimisation technique, It's prety much akin to saying, C is better than C++ because it has less bloat - a completely pointless and irrelevant argument. The reality is that most large assets are going to be block loaded from disk into a single block of memory. Therefore most of your runtime data is NOT going to use STL. The places where STL is useful is in those areas where dynamic allocation IS needed (number of characters in scene, num game objects, etc). With a proper allocator backing up STL, you really have no argument as to why this usage of STL is sub optimal.

Quote:
 There is absolutely no problem of stl-usage in tools-development or level-loading-code.

LEVEL LOADING CODE?? why on earth are you dynamically allocating level data using STL? what the hell is wrong with a single fread call like everyone else uses? Your level loading times must be through the roof! I don't think STL is the cause of your problems here, i'd suggest a complete overhaul of the way you are handiling your game assets.

Quote:
 And one more issue, I'm console developer, and there is not too much resources to spend on template instances (generated code grows too large, therefore consuming more memory) and other things.

I too am a console developer, and i have to say you need to learn more about templates and how to use them correctly. Ok, stupid use of templates is to be avoided, but in a large number of places, templates will REMOVE code, not bloat it.

Quote:
 How about cache coherency in other collections, or trees, or other more common data structures? You say I can write my own allocator for the STL types, but if I go through the trouble of doing that, wouldn't it be easier just to write my own container that did what I wanted it to do in the first place?

replace the templates when this becomes a problem.

Quote:
 Screaming "templates cause bloat", "STL's memory allocation sucks" or "I have experience, take my word for it" is neither convincing nor helpful. Instead, give us a way to judge your claims, demonstrate your expertise and help us improve our code.

here here! My translations of those sort of comments would be roughtly along the following lines :

"templates cause bloat" -> ignorance, they only do when you don't know how to write them properly.
"STL's memory allocation sucks" -> It sucks as much as the allocator you give it, if you have TOLD it to use free and malloc, then you really do need your head examining.
"I have experience, take my word for it" -> I am a troll.

The only thing i see bad with templates (in general) is the more complex meta programming stuff. Programming of that sort is best avoided IMO, since it's normally near impossible to figure out what the templates are doing later on - so for readability and maintainability, meta-programming is not a good technique. (I do find template meta-programming a good mental excersise, but i tend to leave it at that)

##### Share on other sites
Quote:
 Original post by Anonymous PosterI really don't see how it is apples to oranges.. how is it not realworld? If i am constantly changing values in a fixed sized list that I index into, vector is TWICE as slow. It's much more realworld than most examples STL proponents use where they assign const values to the vector. Thats somethig that would just never happen in code.

it's not real world because of the way you profiled it. The reality is that there is no difference in access speed when using STL vector vs. an array. period. Your benchmark demonstrates that you lack understanding, but it does not demonstrate anything near a real world case. In debug STL will be slower, granted. But who releases their final apps using debug builds?

Quote:
 The original poster asked what sort of an impact STL has. I gave one solid example. Yes it has helpful things, but it's at the expense of SPEED. I'm not saying STL isn't useful.. I'm just saying it's SLOWER.

And i'm saying you are very wrong.

Quote:
 STL's dependance on iterators adds overhead in the form of function calls, and reduced code cache coherency. I chose the vector, because it was an easy, reproducable, example.

No. It does nothing of the sort. templated inline functions compile down to a single pointer dereference. Get over it. profiling STL normally makes it appear that STL is slower. The reality is that profilers have to do more work when profiling templates.....

##### Share on other sites
Quote:
 Original post by Anonymous PosterI really don't see how it is apples to oranges.. how is it not realworld?

Well, you've allready answered yourself in one place:

Quote:
 In debug mode ...

Plus, you're benchmarking two different things:

Raw arrays : access
std::vector: access and allocation and whatever extra runtime checks the STL implementors felt like throwing in to help with debugging

Which is hardly a direct comparison of raw array access versus std::vector access.

Of final mention, is that if we're "profiling" debug mode, the appropriate benchmark is not code speed, but debugging time. While this will vary per STL implementaiton, bounds checking (usually hidden as a function of iterator addition) is quite often on the list, which is an immediate win over raw arrays.

As for release mode, they're going to perform the same on a decent compiler. If they don't, I would blame and upgrade the compiler, rather than the STL and roll a square wheel, if possible.

##### Share on other sites
My debug metrics were an aside.. I did not do the original test in debug mode.. go back and re-read the post.

The test with the result that arrays were 2 times faster than vectors was in a release build with full optimisation. (reading the post before you reply is greatly appreciated)

How do you suggest I should profile it to make it realworld? I checked an equal number of reads and writes, each datatype was allocated once. I made sure to run the test from an optimized compile.

I am willing to concede that vector is not the appropriate type replacement for a static array. But many times in these forums people suggest vectors as an alternative to static arrays and state that they are just as fast. Read access into a vector is probably just as fast (negligibly slower due to function calls). Writing into a vector, however, is not.

You asked for an example were the STL was slower. I gave one. You asked me to show where it was slower. I pointed to the function calls and the iterator construction in the non-const operator[] function.

Now you tell my my test is not real-world. The ball is in your court. What would you like to see in a test that is real world? It has to be small enough for me to post.. don't say "use it in a game", we need to be objective.

I'm willing to do the benchmark footwork, i just need a test that you guys will be happy with.

##### Share on other sites
what compiler and STL are you using rip-off? it's really interesting that there is such a huge performance difference between our tests..

##### Share on other sites
Quote:
 Original post by Anonymous Posterwhat compiler and STL are you using rip-off? it's really interesting that there is such a huge performance difference between our tests..

Gcc, version 3.4.2 (mingw)

Using the STL that comes with it.

##### Share on other sites
This is one of the reasons I shy away from STL use too... Different implementations have wildly different performance characteristics..

Gcc seems to have a better implementation than VC .NET has, (Why doesn't this surprise me ;))

I'm starting to feel like a bit of a troll here, and that's not my intent. My concerns are real concerns, and are the reason I have stuck to my own types in my code.

I'm not even as bad as some others who i've worked with who shun the use of ANY virtual functions in c++. At least I'm not that bad :)

I would honestly like to know, once and for all the performance characteristics of the STL. I think it would be a good excersize to benchmark them. Right now all I hear are people saying STL is fast. But there is no data to back up this assumption. And I think many of you probably take it for granted because you hear it, and think it must be true. I may be completely wrong in my views of the STL, but I think in the name of computer science, we should qualify this.

We should build a profiling test, and a set of test parameters, and challenge people to write code that outperforms the STL in those areas.

Either no one will succeed, and we can crown the STL king, or people will succeed, and we'll start to see how different STLs compare to each other, and have concrete proof of where the STL actually sits, and how it can be improved, and in what scenarios a homebrew datatype will be more appropriate.

What do you guys think? It's better than namecalling and finger pointing. And those of us who consider ourseld computer scientists, need some scientific method in our lives ;)

1. 1
2. 2
3. 3
Rutin
12
4. 4
5. 5

• 26
• 10
• 9
• 9
• 11
• ### Forum Statistics

• Total Topics
633695
• Total Posts
3013382
×


text:
Can I view a history of my recent review audits? [duplicate]

This question is an exact duplicate of:

I failed a review today and I was banned for a few days. I'm OK with it as I understand the reasoning.

But I don't understand the "You have made too many incorrect reviews..." since I think this one is the only one in the last week or so.

In the profile, I see tabs for summary, answers, questions, tags, badges, favorites, bounties, reputation, activity, responses and vote. But no audit or review.

Where can I see my review history?

Related: should there be an review-history or audit-history tag (similar to flag-history and revision-history)? I'm having trouble locating similar questions.

-

marked as duplicate by gnat, Yenne Info, Martijn Pieters, Unihedro, brasofiloAug 29 '14 at 20:09

If you have only failed one audit, it is possible a moderator banned you manually. How obvious was this audit that you failed...? –  Cody Gray Jun 19 '14 at 4:58
@CodyGray If this is going to turn into a review-audit-specific question, can we also have the question statement reflect that? I still see "Where can I see my review history?" –  Dennis Meng Jun 19 '14 at 4:59
Thanks @Cody - "How obvious was this audit that you failed...?"... looking back, I think it was pretty obvious. I fixated on a change to some byte codes, and missed the obvious. –  jww Jun 19 '14 at 5:00
Uhh, I'm not seeing the difference @Dennis. The question is basically why am I banned when I thought I only failed one audit—is there any way to confirm that? Feel free to modify the title if you think I've got it wrong, though. –  Cody Gray Jun 19 '14 at 5:01
@CodyGray It's just that now we have "Can I view a review history of my recent review audits" as the title and "Where can I see my review history?" in the question body. Figured we may as well change the latter too. –  Dennis Meng Jun 19 '14 at 5:02
From Shog9 at How to access history of review audits: "... including some rather useless formatting changes." - I'm guilty of this. I despise "cell phone speak", and I will approve the grammatical corrections of "i -> I", "u -> you", etc. –  jww Jun 19 '14 at 5:06
@jww So do/will I. And I encourage you to keep doing so. That isn't what Shog means. He's talking about the curious phenomenon where people will edit posts to add inline code formatting to random words/phrases that are not code. Occasionally you also see superfluous use of bold text. Do note the two examples he links. –  Cody Gray Jun 19 '14 at 5:32

Review History is in the "activity" tab. Click on it and you'll get the following options:

• all
• accepts
• posts
• revisions
• reviews
• suggestions

Snippet from a screenshot for convenience:

However, given that you're interested in the audits in particular, we'll have to dig deeper. As @animuson points out in a comment on a different question

Only review audits that you pass get listed in your activity history. Failed audits are never listed there. If you're still under 10,000 reputation, they do get listed in the history tab for that specific queue (if over 10k you'd probably never find them). I should also note that review audits are only identified as such when viewing the actual review item screen. They are not labeled as "Review Audit Passed/Failed" in the lists. – animuson Jun 21 '13 at 17:31

You're still until 10k rep for now, so sounds like from this comment you can still look at the review history for that queue (For example, the Suggested Edits history is at http://stackoverflow.com/review/suggested-edits/history). Barring that, I'm not sure if they're accessible at all (poking around Stack Exchange Data Explorer turned up nothing)

-
Thanks @Dennis. I found it. But it appears it lacks audits and their results. The audit appears to be missing even under the "all" tab. –  jww Jun 19 '14 at 4:50
@jww I'll pop into the Data Explorer and see if I can pull up the audits from there. –  Dennis Meng Jun 19 '14 at 4:52
Thanks @Dennis. Don't expend too much energy on it. It was more a curiosity thing for me (I'm getting older, and my memory is not what it used to be). Two days won't break me. –  jww Jun 19 '14 at 4:59
@jww Nah, it's fine. May as well neaten up this one and make it a good answer for review audits. I'm already pretty far into it anyway –  Dennis Meng Jun 19 '14 at 5:01
They are in your browser history. This is how I've been able to review every audit question I've ever seen, including failed audits. –  ouflak Jun 30 '14 at 15:16
Note that nowadays users with >10k can now filter for their own review history, so that doesn't matter any more. –  Qantas 94 Heavy Jul 11 '14 at 11:40
There is a my review history link on the review queue history tab that lets 10k+ users filter the history to their own reviews only. –  Martijn Pieters Aug 28 '14 at 10:28


text:
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

TLDR. If you already have some experience in imbalanced learning problems, you’re probably aware of the time-consuming part of testing lengthy lists of resampling strategies (one of the available methods to tackle imbalanced learning tasks) and respective hyperparameters. The idea behind the ATOMIC method in the autoresampling package is to save a lot of your time (and related energy consumption) while getting you a very decent approximation of the best possible solution out of an extensive list of strategies-hyperparameters combos. R code with use-case examples at the bottom of the post. If you don’t have experience with this type of problems, you might want to read on.

## Imbalanced Learning

Imbalanced learning (usually prefer imbalanced domain learning, IDL for short) is a very common issue with machine learning problems, and particularly popular in classification problems. This issue describes scenarios where the distribution of classes in the data is highly skewed. The under-represented classes are those that you’re highly interested in accurately predicting. For example, fraud detection: there’s a small percentage of fraud cases (we’re hoping), and those are the cases you’re attempting to anticipate.

Why is this a problem? Although more theoretical insight into the why’s is lacking, we are very aware of the practical difficulties in this context. When we are trying to create a model using imbalanced data, the model will tend to be more accurate towards better-represented concepts (classes) in the training data. Such effect is enhanced by several additional factors, such as the impact of optimisation/evaluation criteria and learning algorithms’ internal optimisation processes. In any case, from a general point of view, we can expect data biases will be ‘transported’ to the concepts that are captured in the resulting models.

If you dive into related literature and efforts, you will most probably find three different methods to tackle IDL tasks. First, data pre-processing methods, most commonly known as resampling strategies. Second, algorithm-level methods focus on producing alternative versions of learning algorithms tailored to counter such data bias and post-processing methods, which are applied to models’ predictions (e.g. changing the probability threshold for predicting a particular class). Of all these, there is little doubt that resampling strategies are the go-to solution and by far the most popular (and thus developed) set of methods.

## Resampling Strategies

Resampling strategies are straightforward in the way they work. What they do is change the original distribution of data. For example, random undersampling is one of the first strategies to be used to tackle IDL tasks. This strategy works by reducing the number of cases in the majority class (the ones that are not our prediction focus) by randomly selecting a sub-sample of such cases. An example: you apply random undersampling with a 70% hyperparameter definition. The resulting data set will have representations of the majority classes with 30% fewer cases. With this, a new problem surges. There are a ton of resampling strategies, and new ones are constantly being proposed. Choosing which strategy to test is already a demanding task by itself, and they have hyperparameters that should be optimised. This usually results in a lot of cherry-picking concerning which strategies to use. Worse, you will often find that the strategies’ default hyperparameters are used in both academia and industry.

Here we’ll focus on the problem of magnitude, specifically the numerous (virtually infinite) combinations that one can choose from in resampling strategy selection and respective hyperparameter optimisation. The way to go about this is to define a decent (with enough size to be credible) list and validate each of them, the same methodology one would use concerning finding the best model possible. And here we enter a big problem, one of complexity and high energy consumption. Finding the best possible model is already a time-demanding business. Now, imagine adding tens or hundreds of variants to each traditional validation step to evaluate which resampling strategy (and respective hyperparameters) are the best option. And thus, we arrive at the primary purpose of this post.

## Automated Imbalanced Classification (ATOMIC)

I’ve been working with my colleague Vitor Cerqueira since late 2018 (on and mostly off) on what we’ve come to call the ATOMIC method – shorthand for automated imbalanced classification. This is an automated machine learning (AutoML) solution for significantly reducing the time and effort associated with reaching the best possible combination of resampling strategy and respective hyperparameters for a given data set. How? Put simply: we evaluated the performance of a 400+ combo list of several resampling strategies and respective hyperparameters in 101 data sets. We then combined such evaluation data with extensive meta-feature characterisation of each 101 data sets. Such a combination leads to a data set used to create a meta-model. This tries to answer the following question: given a particular learning problem, which combination of resampling strategies and respective hyperparameters we anticipate will provide the best possible solution?

Important note: At this point, the ATOMIC method only builds models using the Random Forest learning algorithm!

The following image is a high-level illustration of the ATOMIC method in both its phases: development and prediction. This work has been recently accepted at Expert Systems with Applications1, so feel free to check it out for details and feedback is very much wanted.

## ATOMIC at work

The ATOMIC method is implemented in the autoresampling package and it’s really easy to use. First, let’s install the package.

install.packages("remotes")
remotes::install_github("nunompmoniz/autoresampling")

To use the ATOMIC method, you just to go through a very simple (and pretty standard) code snippet, as follows.

library(autoresampling)

library(mlbench)
data(PimaIndiansDiabetes)

#Split the data 70%-30% for training and test sets
ind <- sample(1:nrow(PimaIndiansDiabetes), 0.7*nrow(PimaIndiansDiabetes))
train <- PimaIndiansDiabetes[ind,]
test <- PimaIndiansDiabetes[-ind,]

atomic.m <- ATOMIC(diabetes ~ .,PimaIndiansDiabetes) # Build the ATOMIC solution
preds <- predict(atomic.m, test) # Obtain the predictions

For the final touch:

table(preds,test\$diabetes)

preds neg pos
neg 154   1
pos   0  76

## Conclusions

If you’re facing some imbalanced learning problem and you want a good-enough baseline that isn’t the simple random undersampling/oversampling or SMOTE with more-or-less default hyperparameters, this could be a great solution for you. Also, if you’re just trying to have an idea of how resampling strategies might help, this could also prove very useful!

If you have any questions, comments or suggestions, it would be great to receive them! Enjoy!

1. Nuno Moniz and Vítor Cerqueira (2021). “Automated Imbalanced Classification with Meta-learning”. Expert Systems with Applications, Elsevier↩