text:
Journal topic
Atmos. Chem. Phys., 18, 5147–5155, 2018
https://doi.org/10.5194/acp-18-5147-2018
Atmos. Chem. Phys., 18, 5147–5155, 2018
https://doi.org/10.5194/acp-18-5147-2018

Research article 17 Apr 2018

Research article | 17 Apr 2018

# The influence of internal variability on Earth's energy balance framework and implications for estimating climate sensitivity

The influence of internal variability on Earth's energy balance framework and implications for estimating climate sensitivity
Andrew E. Dessler1, Thorsten Mauritsen2, and Bjorn Stevens2 Andrew E. Dessler et al.
• 1Dept. of Atmospheric Sciences, Texas A&M University, College Station, TX 77843, USA
• 2Max Planck Institute for Meteorology, Bundesstraße 53, 20146 Hamburg, Germany

Abstract

Our climate is constrained by the balance between solar energy absorbed by the Earth and terrestrial energy radiated to space. This energy balance has been widely used to infer equilibrium climate sensitivity (ECS) from observations of 20th-century warming. Such estimates yield lower values than other methods, and these have been influential in pushing down the consensus ECS range in recent assessments. Here we test the method using a 100-member ensemble of the Max Planck Institute Earth System Model (MPI-ESM1.1) simulations of the period 1850–2005 with known forcing. We calculate ECS in each ensemble member using energy balance, yielding values ranging from 2.1 to 3.9 K. The spread in the ensemble is related to the central assumption in the energy budget framework: that global average surface temperature anomalies are indicative of anomalies in outgoing energy (either of terrestrial origin or reflected solar energy). We find that this assumption is not well supported over the historical temperature record in the model ensemble or more recent satellite observations. We find that framing energy balance in terms of 500 hPa tropical temperature better describes the planet's energy balance.

1 The problem

When an energy imbalance is imposed, such as by adding a greenhouse gas to the atmosphere, the climate will shift in such a way to eliminate the energy imbalance. This process is embodied in the traditional linearized energy balance equation:

$\begin{array}{}\text{(1)}& R=F+\mathit{\lambda }{T}_{\mathrm{S}},\end{array}$

where the forcing F is an imposed energy imbalance, TS is the global average surface temperature, and λ relates changes in TS to a change in net top-of-atmosphere (TOA) flux (Gregory et al., 2002; Dessler and Zelinka, 2014). R is the resulting TOA flux imbalance from the combined forcing and response. All quantities are deviations from an equilibrium base state, usually the pre-industrial climate. Equilibrium climate sensitivity (hereafter ECS, the equilibrium warming in response to a doubling of CO2) is equal to $-{F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}/\mathit{\lambda }$, where ${F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}$ is the forcing from doubled CO2.

Many investigators (e.g., Gregory et al., 2002; Annan and Hargreaves, 2006; Otto et al., 2013; Lewis and Curry, 2015; Aldrin et al., 2012; Skeie et al., 2014; Forster, 2016) have used Eq. (1) combined with estimates of RF, and TS to estimate λ:

$\begin{array}{}\text{(2)}& \mathit{\lambda }=\mathrm{\Delta }\left(R-F\right)/\mathrm{\Delta }{T}_{\mathrm{S}},\end{array}$

where Δ indicates the change between the start of the historical period (usually the mid- to late 19th century) and a recent period. These calculations result in values of λ near 2 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ and appear to rule out ECS larger than 4 K (Stevens et al., 2016). The substantial likelihood of an ECS below 2 K implied by these calculations led the IPCC Fifth Assessment Report to extend their lower bound on likely values of ECS to 1.5 K (Collins et al., 2013).

We test this energy balance methodology through a perfect model experiment consisting of an analysis of a 100-member ensemble of runs of the Max Planck Institute Earth System Model, MPI-ESM1.1. This is the latest coupled climate model from the Max Planck Institute for Meteorology and consists of the ECHAM6.3 atmosphere and land model coupled to the MPI-OM ocean model. The atmospheric resolution is T63 spectral truncation, corresponding to about 200 km, with 47 vertical levels, whereas the ocean has a nominal resolution of about 1.5 and 40 vertical levels. MPI-ESM1.1 is a bug-fixed and improved version of the MPI-ESM used during the fifth phase of the Coupled Model Intercomparison Project (CMIP5; Giorgetta et al., 2013) and nearly identical to the MPI-ESM1.2 model being used to provide output to CMIP6, except that the historical forcings are from the MPI-ESM. Each of the 100 members simulates the years 1850–2005 (Fig. 1) and uses the same evolution of historical natural and anthropogenic forcings. The members differ only in their initial conditions – each starts from a different state sampled from a 2000-year control simulation.

We calculate effective radiative forcing F for the ensemble by subtracting top-of-atmosphere flux R in a run with climatological sea surface temperatures (SSTs) and a constant pre-industrial atmosphere from average R from an ensemble of three runs using the same SSTs but the time-varying atmospheric composition used in the historical runs (Hansen et al., 2005; Forster et al., 2016). The three-member ensemble begins with perturbed atmospheric states. We estimate ${F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}$ using the same approach in a set of fixed-SST runs in which CO2 increases at 1 % per year, which yields a ${F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}$ value of 3.9 W m−2.

We calculate λ using Eq. (2) for each ensemble member, producing values ranging from 1.88 to 1.01 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (5–95 % range 1.63 to 1.17 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$), with an ensemble median of 1.43 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (Fig. 2a). In this calculation, Δ(RF) and ΔTS are the average difference between the first and last decade of each run. The spread in λ depends to some extent on how the calculation is set up – if one used the difference between the averages of the first and last 20 years, for example, the range in λ declines from 0.87 to 0.48 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$. Using longer averaging periods does not further decrease the range.

Figure 1Plot of annual and global average surface temperature from the 100 members of the MPI-ESM1.1 ensemble (colored lines), along with the GISTEMP measurements (Hansen et al., 2010) (white line). Temperatures are referenced to the 1951–1980 average.

Figure 2Probability density functions (PDFs) of (a) λ (lighter) and Θ (darker) and (b) ECS derived from the members of the MPI-ESM1.1 historical ensemble. The vertical lines are the 5th, 50th, and 95th percentile of each distribution.

We also calculate ECS =$-{F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}/\mathit{\lambda }$ for each ensemble member, producing values ranging from 2.08 to 3.87 K (5–95 % range 2.39 to 3.34 K) (Fig. 2b), with an ensemble median of 2.72 K. Thus, our analysis shows that λ and ECS estimated from the historical record can vary widely simply due to internal variability. Given that we have only a single realization of the 20th century, we should not consider estimates based on the historical period to be precise – even with perfect observations. This supports previous work that also emphasized the impact of internal variability on estimates of λ and ECS (Huber et al., 2014; Andrews et al., 2015; Zhou et al., 2016; Gregory and Andrews, 2016).

Previous researchers have questioned whether the historical record provides an accurate measure of λ and ECS, and we can check this by comparing the ensemble values to ECS estimates from a 2×CO2 run of the MPI-ESM1.2, which is physically very close to MPI-ESM1.1. An abrupt 2×CO2 run yields an ECS of 2.93 K in response to an abrupt doubling of CO2 (estimated by regressing years 100–1000 of a 1000-year run) – 8 % larger than the ensemble median. This is in line with the 10 % difference in ECS estimated by Mauritsen and Pincus (2017) to arise from the average CMIP5 model time-dependent feedback but smaller than suggested in other recent studies of ECS in transient climate runs (e.g., Armour, 2017; Proistosescu and Huybers, 2017).

Thus, there are a number of issues that need to be considered when interpreting estimates of λ and ECS derived from the historical period. In addition to the precision and accuracy issues discussed above, it also includes the large and evolving uncertainty in forcing over the 20th century (Forster, 2016), different forcing efficacies of greenhouse gases and aerosols (Shindell, 2014; Kummer and Dessler, 2014), and geographically incomplete or inhomogeneous observations (Richardson et al., 2016).

Figure 3Scatterplot of monthly anomalies of ΔR vs. (a) global average surface temperature ΔTS and (b) tropical average 500 hPa temperature ΔTA. Observations cover the period March 2000–July 2017, and anomalies are deviations from the mean annual cycle. ΔR and temperature time series are detrended to account for forcing. The dashed lines are ordinary least-squares fits; the slope, 5–95 % confidence interval, and correlation coefficient are shown on each panel. Confidence intervals account for autocorrelation of the time series (Santer et al., 2000).

2 Why are estimates using the traditional energy balance approach imprecise?

In this section, we explain the physical process by which internal variability leads to the large spread in λ and ECS estimated from the ensemble. We begin by observing that Eqs. (1) and (2) parameterize RF in terms of global average surface temperature, TS. In model runs with strong forcing driving large warming, such as abrupt 4×CO2 simulations, there is indeed a strong correlation between these variables (e.g., Gregory et al., 2004). However, because RF in such runs is dominated by a monotonic trend, correlations will exist with any geophysical field that also exhibits a monotonic trend, regardless of whether there is a physical connection between the fields. Thus, one should not take the correlation between RF and TS in these runs as proving causality.

If TS is a good proxy for the response RF, we would expect to also see a correlation in measurements dominated by interannual variations. Observational data allow us to test this hypothesis. We use observations of R from the Clouds and the Earth's Radiant Energy System (CERES) Energy Balanced and Filled product (ed. 4) (Loeb et al., 2018), which cover the period March 2000 to July 2017. Our sign convention throughout the paper is that downward fluxes are positive. Temperatures come from the European Centre for Medium-Range Weather Forecasts (ECMWF) Interim Re-Analysis (ERA-Interim) (Dee et al., 2011). We assume forcing changes linearly over this time period and account for it by detrending ΔR and ΔT anomaly time series using a linear least-squares fit to remove the long-term trend.

Figure 4Correlation coefficients between ΔR and temperature in CMIP5 control runs: black and red symbols represent the correlation with ΔTS and ΔTA, respectively. The dot is the average of the correlation coefficients from the 17-year segments of the model run; the bars indicate the maximum and minimum values from the control run. The dashed lines are the corresponding correlation coefficients from the CERES regressions in Fig. 3.

These data show that ΔR is poorly correlated with ΔTS in response to interannual variability (Fig. 3a), as has been noted many times in the literature; see, e.g., Sect. 5 of Forster (2016). In particular, the low correlation coefficient tells us that ΔTS explains little of the variance in ΔR. Using explicit estimates of forcing or other temperature data sets (e.g., MERRA-2) yields the same result.

Global climate models that submitted output to CMIP5 (Taylor et al., 2012) also show this poor correlation. To demonstrate this, we have calculated the correlation coefficient between ΔTS and ΔR in CMIP5 pre-industrial control runs (these are runs for which forcing F=0). To facilitate comparison with the CERES data, as well as avoid any issues with long-term drift in the control runs, we break each run into 17-year segments to match the length of the CERES data and calculate the correlation coefficient of monthly anomalies of ΔR and ΔTS for each segment. Figure 4 shows that the correlation between ΔR and ΔTS in the models is similar to that from the CERES analysis.

Recent work provides an explanation: the response of Δ(RF) to a particular ΔTS is determined not only by the global average magnitude but also by the pattern of warming (Armour et al., 2013; Andrews et al., 2015; Gregory and Andrews, 2016; Zhou et al., 2016, 2017; Andrews and Webb, 2018). During El Niño cycles that dominate the observations in Fig. 3, the spatial pattern of warm and cool regions changes, leading to responses in Δ(RF) that do not scale cleanly with ΔTS – something Stevens et al. (2016) refer to as “pattern effects”.

To demonstrate how this also generates the spread in λ in the model ensemble (Fig. 2a), we calculate the local response λr in three equal-area regions (90–19.4 S, 19.4 S–19.4 N, 19.4–90 N). We define λr as the regional analog to λ (Eq. 2):

$\begin{array}{}\text{(3)}& {\mathit{\lambda }}_{\mathrm{r}}=\mathrm{\Delta }\left(R-F{\right)}_{\mathrm{r}}/\mathrm{\Delta }{T}_{\mathrm{S},\mathrm{r}},\end{array}$

where the “r” subscript indicates a regional average value.

Figure 5λr and Θr calculated as regional average Δ(RF) divided by regional average temperature (ΔTS for λ and ΔTA for Θ). The regions are 90–19.4 S (SH), 19.4 S–19.4 N (EQ), and 19.4–90 N (NH). The values are calculated for each member of the 100-member ensemble; the solid symbols are the ensemble average, while the bars show the 5–95 % range.

We find that λr varies between the regions (Fig. 5). This means that different ensemble members with similar global average ΔTS but different patterns of surface warming produce different values of global average Δ(RF), thereby leading to spread in the estimated λ among the ensemble members. We also see strong variability in λr within each region, suggesting that how the warming is distributed within the region also drives some of the spread in estimated λ in the ensemble.

This explanation is consistent with analyses showing that λ changes during transient runs as the pattern of surface temperature evolves (Senior and Mitchell, 2000; Armour et al., 2013; Andrews et al., 2015; Gregory and Andrews, 2016; Stevens et al., 2016). In our model ensemble, however, the pattern changes are caused by internal variability rather than differing regional heat capacities that cause some regions to warm more slowly than others during forced warming.

3 A better way to describe energy balance

Our analysis demonstrates limitations of the conventional energy balance framework (Eq. 1). It has been previously noted that ΔR correlates better with tropospheric temperatures than ΔTS (Murphy, 2010; Spencer and Braswell, 2010; Trenberth et al., 2015). Other analyses have also stressed the importance of atmospheric temperatures – through its influence on lapse rate – as providing a fundamental control on the planet's energy budget (Zhou et al., 2016; Ceppi and Gregory, 2017). Based on this, we test a new energy balance framework constructed using the temperature of the tropical atmosphere:

$\begin{array}{}\text{(4)}& R-F=\mathrm{\Theta }{T}_{\mathrm{A}},\end{array}$

where TA is the tropical average (30 N–30 S) 500 hPa temperature and Θ relates this quantity to RFR and F are the same global average quantities they were in Eq. (1). ECS can be expressed in terms of Θ:

$\begin{array}{}\text{(5)}& \text{ECS}\phantom{\rule{0.25em}{0ex}}=-\frac{\mathrm{\Delta }{F}_{\mathrm{2}×{\mathrm{CO}}_{\mathrm{2}}}}{\mathrm{\Theta }}\frac{\mathrm{\Delta }{T}_{\mathrm{S}}}{\mathrm{\Delta }{T}_{\mathrm{A}}},\end{array}$

where ΔTS and ΔTA are the equilibrium changes in these quantities in response to doubled CO2. The CMIP5 ensemble average ratio ΔTS∕ΔTA is 0.86 ± 0.10 (±1σ), where Δ represents the average difference between the first and last decades of the abrupt 4×CO2 runs.

Support for Eq. (4) can be found in the observations: ΔR shows a tighter correlation with ΔTA than with ΔTS in observations (Fig. 3a vs. Fig. 3b). CMIP5 models also show this (Fig. 4). Given that the slope of these plots can be taken as estimates of Θ and λ, the tighter correlation leads to more accurate estimates of Θ than λ, both in absolute and relative terms.

Turning to the model ensemble, we next demonstrate that Θ is a more precise metric than λ. We do this by calculating Θ [$=\mathrm{\Delta }\left(R-F\right)/\mathrm{\Delta }{T}_{\mathrm{A}}$] in each ensemble member, yielding values ranging from 1.18 to 0.89 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (5–95 % range 1.16 to 0.92 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$), with an ensemble median of 1.04 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (Fig. 2a). There is clearly less variability in Θ among the ensemble members than for λ. This reflects less variability in the regional response Θr ($=\mathrm{\Delta }\left(R-F{\right)}_{\mathrm{r}}/\mathrm{\Delta }{T}_{\mathrm{A},\mathrm{r}}$) than in λr (Fig. 5), as well as less variability within the regions. We therefore conclude that interannual variability has less of an impact on Θ than λ.

Figure 6(a) Time series of λ (gray) and Θ (black) estimated in a 17-year sliding window of a 2000-year control run of the MPI-ESM1.1. (b) PDFs of the time series in (a). Median and 5–95 % confidence interval for each distribution are displayed on the plot.

We can also reproduce this in a 2000-year control run (a run with fixed pre-industrial boundary conditions) of the MPI-ESM1.1 model. Figure 6 shows λ calculated in a sliding 17-year window and confirms significant temporal variability in λ. We can similarly calculate Θ, and the figure shows that temporal variability in Θ is substantially smaller.

Figure 7The standard deviation (SD) of the λ time series divided by the SD of the Θ time series. Each time series is calculated from 17-year segments of CMIP5 control runs. The dotted line is the ensemble average.

This result is also reproduced in the CMIP5 control models. Figure 7 plots the standard deviation (SD) of each CMIP5 model's set of short-term λ divided by the SD of that model's set of short-term Θ (as described previously, we calculate time series of short-term λ and Θ values for each model by regressing anomalies in a 17-year sliding window of the control runs). All of the models fall above 1, demonstrating that there is less variability in the Θ time series than in the λ time series in every climate model. This confirms that Θ is more robust with respect to internal variability than λ. It also suggests that Θ estimated from the satellite data (Fig. 3) should be considered a better estimate of the climate system's long-term value than λ estimated from the same data set.

As far as accuracy goes, we can compare Θ in the ensemble over the historical period to Θ in response to much larger warming. The ensemble median of Θ from the historic period (Fig. 2), 1.04 ± 0.01 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (5–95 % confidence interval), is close to the value obtained from an analysis of the first 150 years of an abrupt 4×CO2 run of the same model, Θ=1.03 ± 0.04 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$, as well as Θ calculated from all 2600 years of this run, Θ=1.00 ± 0.01 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (values from the 4×CO2 runs are all obtained using the Gregory method (Gregory et al., 2004) using annual average R and temperatures). On the other hand, λ changes substantially in the 4×CO2 run as the climate warms: λ=1.36 ± 0.07 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ when calculated from the first 150 years, but λ=0.95 ± 0.01 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ from all 2600 years of that run.

Figure 8Scatterplot of λ10−30 vs. λ30−150 (red circles) in CMIP5 abrupt 4×CO2 runs, as well as Θ10−30 vs. Θ30−150 (black triangles) in the same models. Each point represents one model. The dotted line is the 1:1 line. The subscripts (10–30, 30–150) indicate the years of the run from which the values are calculated.

We can verify this result in the CMIP5 abrupt 4×CO2 ensemble. It has been previously demonstrated that plots of RF vs. TS do not trace straight lines as the climate warms (Andrews et al., 2015; Rugenstein et al., 2016; Rose and Rayborn, 2016; Armour, 2017), so λ and ECS calculated in a single model run may depend on the portion of the run selected. In the CMIP5 abrupt 4×CO2 ensemble, for example, average λ calculated by regressing years 10–30 (λ10−30) is more negative than λ calculated from years 30–150 (λ30−150) by 0.49 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ (Fig. 8).

Several explanations for this have been advanced, most prominently that λ is a function of the pattern of surface warming (Senior and Mitchell, 2000; Armour et al., 2013; Andrews et al., 2015; Gregory and Andrews, 2016; Zhou et al., 2016; Stevens et al., 2016). Using Θ largely eliminates this pattern effect: Θ10−30 and Θ30−150 have an average difference of 0.13 $\mathrm{W}\phantom{\rule{0.125em}{0ex}}{\mathrm{m}}^{-\mathrm{2}}\phantom{\rule{0.125em}{0ex}}{\mathrm{K}}^{-\mathrm{1}}$ for the CMIP5 ensemble (Fig. 8). Thus, we find additional evidence that Θ tends to be similar for different amounts and patterns of warming.

The lack of curvature in the Θ calculations means there is curvature in the relation between TA and TS in the models. Thus, the pattern effect's impact on ECS calculations shifts from λ in the traditional framework to the ΔTS∕ΔTA term in Eq. (4). This also emphasizes the need to improve our understanding of the factors that control ΔTS∕ΔTA, as well as how future patterns of surface warming will evolve.

There are several plausible reasons why TA may control R better than TS. It seems likely that several of the feedbacks – e.g., lapse rate, water vapor, or longwave cloud – should be more strongly influenced by atmospheric temperatures than TS. More recently, it has been shown that atmospheric temperatures also play a key role in regulating low clouds (Zhou et al., 2016, 2017), thereby influencing the shortwave cloud feedback. This is also consistent with Ceppi and Gregory (2017), who identified a dependence of ECS on atmospheric stability in models. We have not further investigated this – ultimately, our use of TA in Eq. (4) is based on observations (Murphy, 2010; Spencer and Braswell, 2010; Trenberth et al., 2015) that it correlates well with R. Other metrics, such as global average atmospheric temperature, work almost as well. Clearly, further investigations on how to best describe the Earth's energy balance are warranted.

Figure 9(a) Θ from individual CMIP5 control runs. The dotted line is the estimate from CERES observations; the gray region is the 5–95 % confidence band. (b) ECS from each CMIP5 model, estimated from the first 150 years of abrupt 4×CO2 runs using the Gregory method (Gregory et al., 2004). “Good” models are those whose Θ agrees with observations in (a); “bad” models are those whose Θ does not. (c) Same as (a) but for λ.

Finally, one of our ultimate goals for this revised framework is to help produce better estimates of ECS. We are working on a detailed analysis of ECS based on this framework, which is presently in review (Dessler and Forster, 2018), but we briefly show here how the advantages of the revised energy balance framework may be leveraged to do this. Figure 9a shows Θ calculated from control runs of 25 CMIP5 models. To calculate Θ in the control runs, we break each control run into 17-year segments and calculate monthly anomalies of ΔR and ΔTA during each segment. Then, we calculate Θ for each segment as the slope of the regression of ΔR vs. ΔTA for that segment. Thus, for each control run, we generate a large number of estimates of Θ. The value in Fig. 9a is the average of these individual values.

Figure 9b shows the ECS of these models, calculated from the first 150 years of the abrupt 4×CO2 runs using the Gregory method. If we assume that models with more accurate simulation of short-term Θ produce more accurate estimates of ECS (Brown and Caldeira, 2017; Wu and North, 2002), then we can use Fig. 9a and b to constrain ECS. We find that the 15 models whose average short-term Θ falls within the uncertainty of Θ estimated from CERES observations have ECS values ranging from 2.0 to 3.9 K, with an average of 2.9 K. This excludes many of the highest-ECS models, a result consistent with other analyses (Cox et al., 2018; Lewis and Curry, 2015).

It would not have been possible to draw this conclusion with the conventional energy balance framework. Figure 9c shows the comparison between λ from the control runs (calculated the same way Θ was calculated) and CERES observations. Because of the much larger uncertainty in the observational estimate of short-term λ, almost all models fall within the observational range, thereby prohibiting any constraint on the ECS range.

It may also be possible to use the relation between short-term and long-term Θ as an emergent constraint to convert short-term observations to the long-term response. There is some scatter in the relation in the CMIP5 ensemble, however, so more analysis of how these are related is likely required before ECS can be constrained in this way.

4 Conclusions

We have estimated ECS in each of a 100-member climate model ensemble using the same energy balance constraint used by many investigators to estimate ECS from 20th-century historical observations. We find that the method is imprecise – the estimates of ECS range from 2.1 to 3.9 K (Fig. 2), with some ensemble members far from the model's true value of 2.9 K. Given that we only have a single ensemble of reality, one should recognize that estimates of ECS derived from the historical record may not be a good estimate of our climate system's true value.

The source of the imprecision relates to the construction of the traditional energy balance equation (Eq. 1). In it, the response of TOA net flux (RF) is parameterized in terms of global average surface temperature (TS). Recent research has suggested that the response is not just determined by the magnitude of TS but also includes other factors, such as the pattern of TS (e.g., Armour et al., 2013; Andrews et al., 2015; Gregory and Andrews, 2016; Zhou et al., 2017) or the lapse rate (e.g., Zhou et al., 2017; Ceppi and Gregory, 2017; Andrews and Webb, 2018). As a result, two ensemble members with the same ΔTS can have different climate responses, Δ(RF), leading to spread in the inferred λ.

The lack of a direct relationship between TS and radiation balance suggests that it may be profitable to investigate alternative formulations. We test parameterizing the response in terms of 500 hPa tropical temperature (Eq. 4) and find that it is superior in many ways. Ultimately, how investigators describe the energy balance of the planet will depend on the problem and the available data. The surface temperature is indeed special, so the traditional framework may be preferred for some problems. But investigators may find that the alternatives are superior for certain problems, for instance constraining Earth's climate sensitivity.

Code and data availability
Code and data availability.

The data set for the code is availeble at http://dx.doi.org/10.5281/zenodo.1206285, and the data set for the data is available at http://dx.doi.org/10.5281/zenodo.1206267.

Competing interests
Competing interests.

The authors declare that they have no conflict of interest.

Acknowledgements
Acknowledgements.

This work was supported by NSF grant AGS-1661861 to Texas A&M University. This work was initiated while Andrew E. Dessler was on faculty development leave from Texas A&M during the fall of 2016; he thanks Texas A&M and the Max-Planck-Institut für Meteorologie for supporting this research. Computational resources were made available by Deutsches Klimarechenzentrum (DKRZ) through support from German Federal Ministry of Education and Research (BMBF) and by the Swiss National Supercomputing Centre (CSCS).

The article processing charges for this open-access
publication were covered by the Max Planck Society.

Edited by: Amanda Maycock
Reviewed by: two anonymous referees

References

Aldrin, M., Holden, M., Guttorp, P., Skeie, R. B., Myhre, G., and Berntsen, T. K.: Bayesian estimation of climate sensitivity based on a simple climate model fitted to observations of hemispheric temperatures and global ocean heat content, Environmetrics, 23, 253–271, https://doi.org/10.1002/env.2140, 2012.

Andrews, T. and Webb, M. J.: The dependence of global cloud and lapse rate feedbacks on the spatial structure of Tropical Pacific warming, J. Climate, 31, 641–654, https://doi.org/10.1175/jcli-d-17-0087.1, 2018.

Andrews, T., Gregory, J. M., and Webb, M. J.: The dependence of radiative forcing and feedback on evolving patterns of surface temperature change in climate models, J. Climate, 28, 1630–1648, https://doi.org/10.1175/JCLI-D-14-00545.1, 2015.

Annan, J. D. and Hargreaves, J. C.: Using multiple observationally-based constraints to estimate climate sensitivity, Geophys. Res. Lett., 33, L06704, https://doi.org/10.1029/2005gl025259, 2006.

Armour, K. C.: Energy budget constraints on climate sensitivity in light of inconstant climate feedbacks, Nat. Clim. Change, 7, 331–335, https://doi.org/10.1038/nclimate3278, 2017.

Armour, K. C., Bitz, C. M., and Roe, G. H.: Time-varying climate sensitivity from regional feedbacks, J. Climate, 26, 4518–4534, https://doi.org/10.1175/jcli-d-12-00544.1, 2013.

Brown, P. T. and Caldeira, K.: Greater future global warming inferred from Earth's recent energy budget, Nature, 552, 45–50, https://doi.org/10.1038/nature24672, 2017.

Ceppi, P. and Gregory, J. M.: Relationship of tropospheric stability to climate sensitivity and Earth's observed radiation budget, P. Natl. Acad. Sci. USA, 114, 13126–13131, https://doi.org/10.1073/pnas.1714308114, 2017.

Collins, M., Knutti, R., Arblaster, J., Dufresne, J.-L., Fichefet, T., Friedlingstein, P., Gao, X., Gutowski, W. J., Johns, T., Krinner, G., Shongwe, W., Tebaldi, C., Weaver, A. J., and Wehner, M.: Long-term climate change: projections, commitments and irreversibility, in: Climate Change 2013: The Physical Science Basis. Contribution of Working Group I to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change, edited by: Stocker, T. F., Qin, D., Plattner, G.-K., Tignor, M., Allen, S. K., Boschung, J., Nauels, A., Xia, Y., Bex, V., and Midgley, P. M., Cambridge University Press, Cambridge, UK and New York, NY, USA, 2013.

Cox, P. M., Huntingford, C., and Williamson, M. S.: Emergent constraint on equilibrium climate sensitivity from global temperature variability, Nature, 553, 319–322, https://doi.org/10.1038/nature25450, 2018.

Dee, D. P., Uppala, S. M., Simmons, A. J., Berrisford, P., Poli, P., Kobayashi, S., Andrae, U., Balmaseda, M. A., Balsamo, G., Bauer, P., Bechtold, P., Beljaars, A. C. M., van de Berg, L., Bidlot, J., Bormann, N., Delsol, C., Dragani, R., Fuentes, M., Geer, A. J., Haimberger, L., Healy, S. B., Hersbach, H., Holm, E. V. Isaksen, L., Kallberg, P., Kohler, M., Matricardi, M., McNally, A. P., Monge-Sanz, B. M., Morcrette, J. J., Park, B. K., Peubey, C., de Rosnay, P., Tavolato, C., Thepaut, J. N., and Vitart, F.: The ERA-Interim reanalysis: configuration and performance of the data assimilation system, Q. J. Roy. Meteorol. Soc., 137, 553–597, https://doi.org/10.1002/qj.828, 2011.

Dessler, A. E. and Forster, P. M.: An Estimate of Equilibrium Climate Sensitivity from Interannual Variability, EarthArXiv, https://doi.org/doi:10.17605/OSF.IO/4ET67, 2018.

Dessler, A. E. and Zelinka, M. D.: Climate feedbacks, in: Encyclopedia of Atmospheric Sciences, edited by: North, G. R., Pyle, J., and Zhang, F., Elsevier, Oxford, 18–25, 2014.

Dessler, M. and Mauritsen, S.: Data sets used to generate the figures, https://doi.org/10.5281/zenodo.1206267, 2018a.

Dessler, M. and Mauritsen, S.: Code to generate figures, https://doi.org/10.5281/zenodo.1206286, 2018b.

Forster, P. M.: Inference of climate sensitivity from analysis of Earth's energy budget, Annu. Rev. Earth Pl. Sc., 44, 85–106, https://doi.org/10.1146/annurev-earth-060614-105156, 2016.

Forster, P. M., Richardson, T., Maycock, A. C., Smith, C. J., Samset, B. H., Myhre, G., Andrews, T., Pincus, R., and Schulz, M.: Recommendations for diagnosing effective radiative forcing from climate models for CMIP6, J. Geophys. Res., 121, 12460–12475, https://doi.org/10.1002/2016jd025320, 2016.

Giorgetta, M. A., Jungclaus, J., Reick, C. H., Legutke, S., Bader, J., Böttinger, M., Brovkin, V., Crueger, T., Esch, M., Fieg, K., Glushak, K., Gayler, V., Haak, H., Hollweg, H.-D., Ilyina, T., Kinne, S., Kornblueh, L., Matei, D., Mauritsen, T., Mikolajewicz, U., Mueller, W., Notz, D., Pithan, F., Raddatz, T., Rast, S., Redler, R., Roeckner, E., Schmidt, H., Schnur, R., Segschneider, J., Six, K. D., Stockhause, M., Timmreck, C., Wegner, J., Widmann, H., Wieners, K.-H., Claussen, M., Marotzke, J., and Stevens, B.: Climate and carbon cycle changes from 1850 to 2100 in MPI-ESM simulations for the Coupled Model Intercomparison Project phase 5, J. Adv. Model. Earth Syst., 5, 572–597, https://doi.org/10.1002/jame.20038, 2013.

Gregory, J. M. and Andrews, T.: Variation in climate sensitivity and feedback parameters during the historical period, Geophys. Res. Lett., 43, 3911–3920, https://doi.org/10.1002/2016GL068406, 2016.

Gregory, J. M., Stouffer, R. J., Raper, S. C. B., Stott, P. A., and Rayner, N. A.: An observationally based estimate of the climate sensitivity, J. Climate, 15, 3117–3121, https://doi.org/10.1175/1520-0442(2002)015<3117:aobeot>2.0.co;2, 2002.

Gregory, J. M., Ingram, W. J., Palmer, M. A., Jones, G. S., Stott, P. A., Thorpe, R. B., Lowe, J. A., Johns, T. C., and Williams, K. D.: A new method for diagnosing radiative forcing and climate sensitivity, Geophys. Res. Lett., 31, L03205, https://doi.org/10.1029/2003gl018747, 2004.

Hansen, J., Sato, M., Ruedy, R., Nazarenko, L., Lacis, A., Schmidt, G. A., Russell, G., Aleinov, I., Bauer, M., Bauer, S., Bell, N., Cairns, B., Canuto, V., Chandler, M., Cheng, Y., Del Genio, A., Faluvegi, G., Fleming, E., Friend, A., Hall, T., Jackman, C., Kelley, M., Kiang, N., Koch, D., Lean, J., Lerner, J., Lo, K., Menon, S., Miller, R., Minnis, P., Novakov, T., Oinas, V., Perlwitz, J.,, Perlwitz, J., Rind, D., Romanou, A., Shindell, D., Stone, P., Sun, S., Tausnev, N., Thresher, D., Wielicki, B., Wong, T., Yao, M., and Zhang, S.: Efficacy of climate forcings, J. Geophys. Res.-Atmos., 110, D18104, https://doi.org/10.1029/2005JD005776, 2005.

Hansen, J., Ruedy, R., Sato, M., and Lo, K.: Global surface temperature change, Rev. Geophys., 48, RG4004, https://doi.org/10.1029/2010rg000345, 2010.

Huber, M., Beyerle, U., and Knutti, R.: Estimating climate sensitivity and future temperature in the presence of natural climate variability, Geophys. Res. Lett., 41, 2086–2092, https://doi.org/10.1002/2013GL058532, 2014.

Kummer, J. R. and Dessler, A. E.: The impact of forcing efficacy on the equilibrium climate sensitivity, Geophys. Res. Lett., 41, 3565–3568, https://doi.org/10.1002/2014gl060046, 2014.

Lewis, N. and Curry, J. A.: The implications for climate sensitivity of AR5 forcing and heat uptake estimates, Clim. Dynam., 45, 1009–1023, https://doi.org/10.1007/s00382-014-2342-y, 2015.

Loeb, N. G., Doelling, D. R., Wang, H., Su, W., Nguyen, C., Corbett, J. G., Liang, L., Mitrescu, C., Rose, F. G., and Kato, S.: Clouds and the Earth's Radiant Energy System (CERES) Energy Balanced and Filled (EBAF) Top-of-Atmosphere (TOA) Edition-4.0 Data Product, J. Climate, 31, 895–918, https://doi.org/10.1175/jcli-d-17-0208.1, 2018.

Mauritsen, T. and Pincus, R.: Committed warming inferred from observations, Nat. Clim. Change, 7, 652–655, https://doi.org/10.1038/nclimate3357, 2017.

Murphy, D. M.: Constraining climate sensitivity with linear fits to outgoing radiation, Geophys. Res. Lett., 37, D17107, https://doi.org/10.1029/2010GL042911, 2010.

Otto, A., Otto, F. E. L., Boucher, O., Church, J., Hegerl, G., Forster, P. M., Gillett, N. P., Gregory, J., Johnson, G. C., Knutti, R., Lewis, N., Lohmann, U., Marotzke, J., Myhre, G., Shindell, D., Stevens, B., and Allen, M. R.: Energy budget constraints on climate response, Nat. Geosci., 6, 415–416, https://doi.org/10.1038/ngeo1836, 2013.

Proistosescu, C. and Huybers, P. J.: Slow climate mode reconciles historical and model-based estimates of climate sensitivity, Sci. Adv., 3, e1602821, https://doi.org/10.1126/sciadv.1602821, 2017.

Richardson, M., Cowtan, K., Hawkins, E., and Stolpe, M. B.: Reconciled climate response estimates from climate models and the energy budget of Earth, Nat. Clim. Change, 6, 931–935, https://doi.org/10.1038/nclimate3066, 2016.

Rose, B. E. J. and Rayborn, L.: The effects of ocean heat uptake on transient climate sensitivity, Curr. Clim. Change Rep., 2, 190–201, https://doi.org/10.1007/s40641-016-0048-4, 2016.

Rugenstein, M. A. A., Caldeira, K., and Knutti, R.: Dependence of global radiative feedbacks on evolving patterns of surface heat fluxes, Geophys. Res. Lett., 43, 9877–9885, https://doi.org/10.1002/2016GL070907, 2016.

Santer, B. D., Wigley, T. M. L., Boyle, J. S., Gaffen, D. J., Hnilo, J. J., Nychka, D., Parker, D. E., and Taylor, K. E.: Statistical significance of trends and trend differences in layer-average atmospheric temperature time series, J. Geophys. Res., 105, 7337–7356, https://doi.org/10.1029/1999jd901105, 2000.

Senior, C. A. and Mitchell, J. F. B.: The time-dependence of climate sensitivity, Geophys. Res. Lett., 27, 2685–2688, https://doi.org/10.1029/2000GL011373, 2000.

Shindell, D. T.: Inhomogeneous forcing and transient climate sensitivity, Nat. Clim. Change, 4, 274, https://doi.org/10.1038/nclimate2136, 2014.

Skeie, R. B., Berntsen, T., Aldrin, M., Holden, M., and Myhre, G.: A lower and more constrained estimate of climate sensitivity using updated observations and detailed radiative forcing time series, Earth Syst. Dynam., 5, 139–175, https://doi.org/10.5194/esd-5-139-2014, 2014.

Spencer, R. W. and Braswell, W. D.: On the diagnosis of radiative feedback in the presence of unknown radiative forcing, J. Geophys. Res., 115, D16109, https://doi.org/10.1029/2009JD013371, 2010.

Stevens, B., Sherwood, S. C., Bony, S., and Webb, M. J.: Prospects for narrowing bounds on Earth's equilibrium climate sensitivity, Earths Future, 4, 512–522, https://doi.org/10.1002/2016EF000376, 2016.

Taylor, K. E., Stouffer, R. J., and Meehl, G. A.: An overview of CMIP5 and the experiment design, B. Am. Meteorol. Soc., 93, 485–498, https://doi.org/10.1175/bams-d-11-00094.1, 2012.

Trenberth, K. E., Zhang, Y., Fasullo, J. T., and Taguchi, S.: Climate variability and relationships between top-of-atmosphere radiation and temperatures on Earth, J. Geophys. Res., 120, 3642–3659, https://doi.org/10.1002/2014JD022887, 2015.

Wu, Q. and North, G. R.: Climate sensitivity and thermal inertia, Geophys. Res. Lett., 29, 1707, https://doi.org/10.1029/2002GL014864, 2002.

Zhou, C., Zelinka, M. D., and Klein, S. A.: Impact of decadal cloud variations on the Earth's energy budget, Nat. Geosci., 9, 871–874, https://doi.org/10.1038/ngeo2828, 2016.

Zhou, C., Zelinka, M. D., and Klein, S. A.: Analyzing the dependence of global cloud feedback on the spatial pattern of sea surface temperature change with a Green's function approach, J. Adv Model. Earth Syst., 9, 2174–2189, https://doi.org/10.1002/2017MS001096, 2017.


text:
What is Moving Average?

Moving Average (MA) is the average value of shares' prices of the given period. Average in Moving Average can be as simple as Arithmetic Mean or more complex like Exponential Average or Weighted Average.

Notion

Generally, Moving Average is specified in abbreviation with its parameters (period length, period unit, type) like Mathematical functions. e.g., MA(4, day, close) represents the average value of the last four days' close prices.

It is in practice to use "close prices," "day period" and "simple arithmetic mean" as default configuration unless specified. MA(3) can be interpreted as the simple mean price of the last three days' close prices.

It is also in practice to specify the period first followed by Moving Average abbreviation. For example, 30 EMA is the same as EMA(30) i.e. last 30 days exponential average price.

Using Moving Average in Chart Tools

Moving Average is plotted as a line in chart tools. Any point value on MA line represents the average of the last n price points (where n = period length). We are picking TradingView for MA demonstration.

MA period unit value is inferred from chart interval settings i.e. if the chart is of 1-hour interval, then MA(9) would be a moving average of 9 hours. Period length, price type (default: close), line color, and line thickness are configurable.

You can select any arithmetic moving average (MA/SMA), exponential moving average (EMA), or weighted moving average(WMA):

• For SMA: Indicators > Moving Average
• For EMA: Indicators > Moving Average Exponential
• For WMA: Indicators > Moving Average Weighted

MA as an indicator

Moving Average smoothen the price volatility of a given period. It acts as a trading tool to determine the trend direction of the share price. If a share is traded above MA line, then the trend is an uptrend else a downtrend.

Fast-Slow Moving Averages

Some traders prefer using two MA lines of different period lengths in conjunction for estimating trend direction. Such systems of MA lines are usually termed as Fast-Slow Moving Averages. e.g., 20 MA (fast)- 50 MA (slow), 50 MA - 200 MA. The crossover of the fast and slow MA lines generates Buy-Sell signals.

Generally, the ratio of slow and fast-moving average varies from 2 to 5 times. Depending upon trading preferences, different length combinations of MA are used.

Drawbacks

It is a lagged indicator. The more the period length, the more it is slow in generating any indication. It may not work well with high price fluctuations and may produce false signals.

Summary

Moving Average is the average of the shares prices taken for a period. It is used to estimate trend direction. The combinations of Moving Averages can be used to generate buy-sell signals. Moving Average may not be smoothened if the price is volatile which may lead to false signals.

Don't hesitate to contact us at @5cripo for any feedback or suggestions.

format: plain


text:
# GeomCacheManager¶

class GeomCacheManager

This is used to keep track of, and limit the size of, the cache of munged vertices, which would otherwise be distributed through all of the GeomVertexData objects in the system.

The actual data in the cache is not stored here, but rather it is distributed among the various GeomVertexData source objects. This allows the cache data to propagate through the multiprocess pipeline.

This structure actually caches any of a number of different types of pointers, and mixes them all up in the same LRU cache list. Some of them (such as GeomMunger) are reference-counted here in the cache; most are not.

Inheritance diagram

void flush(void)

Immediately empties all elements in the cache.

static GeomCacheManager *get_global_ptr(void)

Returns the global cache manager pointer.

int get_max_size(void) const

Returns the maximum number of entries in the cache for storing pre- processed data for rendering vertices. See set_max_size().

int get_total_size(void) const

Returns the number of entries currently in the cache.

void set_max_size(int max_size) const

Specifies the maximum number of entries in the cache for storing pre- processed data for rendering vertices. This limit is flexible, and may be temporarily exceeded if many different Geoms are pre-processed during the space of a single frame.

This is not a limit on the actual vertex data, which is what it is; it is also not a limit on the amount of memory used by the video driver or the system graphics interface, which Panda has no control over.


text:
# Twofish MDS multiplication

I wasted the last 2 days finding literature and/or some illustrative explanations on how to perform correct multiplications against the MDS-Matrix in Twofish over $\operatorname{GF}(256)$ with $x^8 + x^6 + x^5 + x^3 + 1$.

There seems to be no method - all algorithms I found are using pre-computed MDS tables, which isn't helping me understand it at all.

Could someone provide me with a simple and easy-to-use algorithm for this multiplication?

• Have you looked at section 4.2 of the Twofish paper? It would be helpful if you mentioned which part you are having trouble with. You need to know how to do 3 things: 1. Add in $GF(2^8)$ 2. multiply in $GF(2^8)$, and matrix multiplication (requires 1 and 2). – user13741 Jan 9 '17 at 19:17

Each byte act as a polynomial in $$\operatorname{GF}(2^8)$$
You will multiply the elements of the matrix in (Galois Field) $$\operatorname{GF}(2^8)$$ and add them in $$\operatorname{GF}(2^8)$$
here is a link where you can find a wonderful explanation for $$\operatorname{GF}(2^8)$$
• Welcome to Cryptography. We have $\LaTeX$/MathJax enables on our site. Note that your answer is fitting into a link only answer those are usually converted into comments. – kelalaka Apr 10 at 15:53


text:
# Fuzzy Inference System implementation in Python

12 minutes
June 24, 2020

## Introduction

In a previous article, we discussed the basics of fuzzy sets and fuzzy inferencing. The report also illustrated the construction of a possible control application using a fuzzy inferencing method. In this article, we will build a multi-input/multi-output fuzzy inference system using the Python programming language. It is assumed that the reader has a clear understanding of fuzzy inferencing and has read the article mentioned previously.

## System Architecture

The diagram below illustrates the structure of the application. The design is based on several considerations on Fuzzy Inference Systems, some being:

• A Fuzzy Inference System will require input and output variables and a collection of fuzzy rules.

• Both input and output variables will contain a collection of fuzzy sets if the Fuzzy Inference System is of Mamdani type.

• Input and output variables are very similar, but they are used differently by fuzzy rules. During execution, input variables use the input values to the system to fuzzify their sets, that is they determine the degree of belonging of that input value to all of the fuzzy sets of the variable. Each rule contributes to some extent to the output variables; the totality of this contribution will determine the output of the system.

• Fuzzy rules have the structure of the form;

if {antecedent clauses} then {consequent clauses}

Therefore a rule will contain several clauses of antecedent type and some clauses of consequent type. Clauses will be of the form:

{variable name} is {set name}

We will discuss some implementation details of the classes developed for this system in the following sections:

### FuzzySet class

A FuzzySet requires the following parameters so that it can be initiated:

• name — the name of the set
• minimum value — the minimum value of the set
• maximum value — the maximum value of the set
• resolution — the number of steps between the minimum and maximum value

It is, therefore, possible to represent a fuzzy set by using two numpy arrays; one that will hold the domain values and one that will hold the degree-of-membership values. Initially, all degree-of-membership values will be all set to zero. It can be argued that if the minimum and maximum values are available together with the resolution of the set, the domain numpy array is not required as the respective values can be calculated. While this is perfectly true, a domain array was preferred in this example project so that the code is more readable and simple.

def create_triangular(cls, name, domain_min,
domain_max, res, a, b, c):

t1fs = cls(name, domain_min, domain_max, res)

t1fs._dom = np.round(np.maximum(np.minimum
((t1fs._domain-a)/(b-a), (c-t1fs._domain)/(c-b))
, 0), t1fs._precision)

In the context of a fuzzy variable, all the sets will have the same minimum, maximum and resolution values.

As we are dealing with a discretized domain, it will be necessary to adjust any value used to set or retrieve the degree-of-membership to the closest value in the domain array.

def _adjust_domain_val(self, x_val):
return self._domain[np.abs(
self._domain-x_val).argmin()]

The class contains methods whereby a set of a given shape can be constructed given a corresponding number of parameters. In the case of a triangular set, for example, three parameters are provided, two that define the extents of the sets and one for the apex. It is possible to construct a triangular set by using these three parameters as can be seen in the figure below.

Since the sets are based on numpy arrays, the equation above can be translated directly to code, as can be seen below. Sets having different shapes can be constructed using a similar method.

def create_triangular(cls, name, domain_min,
domain_max, res, a, b, c):

t1fs = cls(name, domain_min, domain_max, res)

t1fs._dom = np.round(np.maximum(np.minimum(
(t1fs._domain-a)/(b-a),
(c-t1fs._domain)/(c-b)), 0),
t1fs._precision)

The FuzzySet class also contains union, intersection and negation operators that are necessary so that inferencing can take place. All operator methods return a new fuzzy set with the result of the operation that took place.

def union(self, f_set):

result = FuzzySet(
f'({self._name}) union ({f_set._name})',
self._domain_min,
self._domain_max, self._res)

result._dom = np.maximum(self._dom, f_set._dom)

return result

Finally, we implemented the ability to obtain a crisp result from a fuzzy set using the centre-of-gravity method that is referred to in some detail in the previous article. It is important to mention that there is a large number of defuzzification methods are available in the literature. Still, as the centre-of-gravity method is overwhelmingly popular, it is used in this implementation.

def cog_defuzzify(self):

num = np.sum(
np.multiply(self._dom, self._domain))

den = np.sum(self._dom)

return num/den

### Fuzzy Variable classes

As discussed previously, variables can be of input or output in type, with the difference affecting the fuzzy inference calculation. A FuzzyVariable is a collection of sets that are held in a python dictionary having the set name as the key. Methods are available to add FuzzySets to the variable, where such sets will take the variable’s limits and resolution.

For input variables, fuzzification is carried out by retrieving the degree-of-membership of all the sets in the variable for a given domain value. The degree-of-membership is stored in the set as it will be required by the rules when they are evaluated.

def fuzzify(self, val):

# get dom for each set and store it -
# it will be required for each rule
for set_name, f_set in self._sets.items():
f_set.last_dom_value = f_set[val]

Output variables will ultimately produce the result of a fuzzy inference iteration. This means that for Mamdani-type systems, as we are building here, output variables will hold the union of the fuzzy contributions from all the rules, and will subsequently defuzzify this result to obtain a crisp value that can be used in real-life applications.

Therefore, output variables will require an additional FuzzySet attribute that will hold the output distribution for that variable, where the contribution that was resulting from each rule and added using the set union operator. The defuzzification result can then be obtained by calling the centre-of-gravity method for output distribution set.

class FuzzyOutputVariable(FuzzyVariable):

def __init__(self, name, min_val, max_val, res):
super().__init__(name, min_val,
max_val, res)
self._output_distribution =
FuzzySet(name, min_val, max_val, res)

rule_consequence):

self._output_distribution =
self._output_distribution.union(
rule_consequence)

def get_crisp_output(self):
return
self._output_distribution.cog_defuzzify()

### Fuzzy Rules classes

The FuzzyClause class requires two attributes; a fuzzy variable and a fuzzy set so that the statement

variable is set

can be created. Clauses are used to implement statements that can be chained together to form the antecedent and consequent parts of the rule. When used as an antecedent clause, the FuzzyClause returns the last degree-of-membership value of the set, that is calculated during the fuzzification stage as we have seen previously.

The rule will combine the degree-of-membership values from the various antecedent clauses using the min operator, obtaining the rule activation that is then used in conjunction with the consequent clauses to obtain the contribution of the rule to the output variables. This operation is a two-step process:

• The activation value is combined with the consequent FuzzySet using the min operator, that will act as a threshold to the degree-of-membership values of the FuzzySet.
• The resultant FuzzySet is combined with the FuzzySets obtained from the other rules using the union operator, obtaining the output distribution for that variable.
# execution methods for a FuzzyClause
# that contains a FuzzyVariable;
#  _variable
# and a FuzzySet; _set

def evaluate_antecedent(self):
return self._set.last_dom_value

def evaluate_consequent(self, activation):
self._set.min_scalar(activation))

The FuzzyRule class will, therefore, require two attributes:

• a list containing the antecedent clauses and
• a list containing the consequent clauses

During the execution of the FuzzyRule, the procedure explained above is carried out. The FuzzyRule coordinates all the tasks by utilizing all the various FuzzyClauses as appropriate.

def evaluate(self):
# rule activation initialize to
# 1 as min operator will be performed
rule_activation = 1

# execute all antecedent clauses,
# keeping the minimum of the returned
# doms to determine the activation
for ante_clause in self._antecedent:
rule_activation =
min(ante_clause.evaluate_antecedent(),
rule_activation)

# execute consequent clauses, each output
# variable will update its
# output_distribution set
for consequent_clause in self._consequent:
consequent_clause.evaluate_consequent(
rule_activation)

### Fuzzy System Class — Bringing it all together.

At the topmost level of this architecture, we have the FuzzySystem that coordinates all activities between the FuzzyVariables and FuzzyRules. Hence the system contains the input and output variables, that are stored in python dictionaries using variable-names as keys and a list of the rules.

One of the challenges presented at this stage is the method that the end-user will use to add rules, that should ideally abstract the implementation detail of the FuzzyClause classes. The method that was implemented consists of providing two python dictionaries that will contain the antecedent and consequent clauses of the rule in the following format;

variable name : set name

A more user-friendly method is to provide the rule as a string and then parse that string to create the rule, but this seemed an unnecessary overhead for a demonstration application.

    def add_rule(self, antecedent_clauses, consequent_clauses):
'''
adds a new rule to the system.
Arguments:
-----------
antecedent_clauses -- dict,
{variable_name:set_name, ...}
consequent_clauses -- dict,
{variable_name:set_name, ...}
'''
# create a new rule
new_rule = FuzzyRule()

for var_name, set_name in
antecedent_clauses.items():

# get variable by name
var = self.get_input_variable(var_name)

# get set by name

f_set = var.get_set(set_name)

var, f_set)

for var_name, set_name in
consequent_clauses.items():

var = self.get_output_variable(var_name)

f_set = var.get_set(set_name)

var, f_set)

self._rules.append(new_rule)

Addition of a new rule to the FuzzySystem

The execution of the inference process can be achieved with a few lines of code given this structure, where the following steps are carried out;

1. The output distribution sets of all the output variables are cleared.
2. The input values to the system are passed to the corresponding input variables so that each set in the variable can determine its degree-of-membership for that input value.
3. Execution of the Fuzzy Rules takes place, meaning that the output distribution sets of all the output variables will now contain the union of the contributions from each rule.
  # clear the fuzzy consequences
# as we are evaluating a new set of inputs.
# can be optimized by comparing if the inputs
# have changes from the previous
# iteration.
self._clear_output_distributions()

# Fuzzify the inputs. The degree of membership
# will be stored in each set

for input_name, input_value in
input_values.items():

self._input_variables[input_name].fuzzify(
input_value)

# evaluate rules
for rule in self._rules:
rule.evaluate()

# finally, defuzzify all output distributions
# to get the crisp outputs

output = {}
for output_var_name, output_var in
self._output_variables.items():

output[output_var_name] =
output_var.get_crisp_output()

return output

As a final note, the Fuzzy Inferencing System implemented here contains additional functions to plot fuzzy sets and variables and to obtain information about an inference step execution.

## Library Use Example

In this section, we will discuss the use of the fuzzy inference system. In particular, we will implement the fan speed case study that was designed in the previous article in this series.

A fuzzy system begins with the consideration of the input and output variables, and the design of the fuzzy sets to explain that variable.

The variables will require a lower and upper limit and, as we will be dealing with discrete fuzzy sets, the resolution of the system. Therefore a variable definition will look as follows

temp = FuzzyInputVariable('Temperature', 10, 40, 100)

where the variable ‘Temperature’ ranges between 10 and 40 degrees and is discretized in 100 bins.

The fuzzy sets define for the variable will require different parameters depending on their shape. In the case of triangular sets, for example, three parameters are needed, two for the lower and upper extremes having a degree of membership of 0 and one for the apex which has a degree-of-membership of 1. A triangular set definition for variable ‘Temperature’ can, therefore, look as follows;

temp.add_triangular('Cold', 10, 10, 25)

where the set called ‘Cold’ has extremes at 10 and 25 and apex at 10 degrees. In our system, we considered two input variables, ‘Temperature’ and ‘Humidity’ and a single output variable ‘Speed’. Each variable us described by three fuzzy sets. The definition of the output variable ‘Speed’ looks as follows:

motor_speed = FuzzyOutputVariable('Speed',
0, 100, 100)

As we have seen before, the fuzzy system is the entity that will contain these variables and fuzzy rules. Hence the variables will have to be added to a system as follows:

system = FuzzySystem()

## Fuzzy Rules

A fuzzy system executes fuzzy rules to operate of the form

If x1 is S and x2 is M then y is S

where the If part of the rule contains several antecedent clauses and the then section will include several consequent clauses. To keep things simple, we will assume rules that require an antecedent clause from each input variable and are only linked together with an ‘and’ statement. It is possible to have statements linked by ‘or’ and statements can also contain operators on the sets like ‘not’.

The simplest way to add a fuzzy rule to our system is to provide a list of the antecedent clauses and consequent clauses. One method of doing so is by using a python dictionary that contains

Variable:Set entries for the clause sets. Hence the above rule can be implemented as follows:

system.add_rule(
{ 'Temperature':'Cold',
'Humidity':'Wet' },
{ 'Speed':'Slow'})

Execution of the system involves inputting values for all the input variables and getting the values for the output values in return. Again this is achieved through the use of dictionaries that us the name of the variables as keys.

output = system.evaluate_output({
'Temperature':18,
'Humidity':60  })

The system will return a dictionary containing the name of the output variables as keys, and the defuzzified result as values.

## Conclusion

In this article, we have looked at the practical implementation of a fuzzy inference system. Whilst the library presented here will require some further work so that it can be used in real projects, including validation and exception handling, it can serve as the basis for projects that require Fuzzy Inferencing. It is also recommended to look at some open-source projects that are available, in particular skfuzzy, a fuzzy logic toolbox for SciPy. In the next article, we will examine ways whereby a fuzzy system can be created from a dataset so that that fuzzy logic can be used in machine learning scenarios. Similarly to this introduction to Fuzzy Logic concepts, a practical article will follow.


text:
### At a Glance

The area of a regular pentagon looks about twice as a big as the pentangle star drawn within it. Is it?

### Six Discs

Six circular discs are packed in different-shaped boxes so that the discs touch their neighbours and the sides of the box. Can you put the boxes in order according to the areas of their bases?

### Equilateral Areas

ABC and DEF are equilateral triangles of side 3 and 4 respectively. Construct an equilateral triangle whose area is the sum of the area of ABC and DEF.

# Towering Trapeziums

##### Age 14 to 16 Challenge Level:

$OGH$ is an isosceles right-angled triangle:

Lines $AB$, $CD$, $EF$, and $GH$ are parallel.

Suppose the area of the smallest triangle $OAB$ is one square unit.
• If lines $OC$ and $AB$ have the same length, calculate the area of trapezium $ABDC$.
• If lines $OE$ and $CD$ also have the same length, calculate the area of trapezium $CDFE$.
• If lines $OG$ and $EF$ also have the same length, calculate the area of trapezium $EFHG$.
Suppose that the chain of trapezia continued.

What would be the area of the $n^{th}$ trapezium in the chain?


text:
# Should pathfinder in A* hold closedSet and openedSet or each object should hold its sets?

I am about to implement A* pathfinding algorithm and I wonder how should I implement this - from the point of view of architecture.

I have the pathfinder as a class - I think I will instantiate only one object of this class (or maybe make it a Singleton - this is not so important).

The hardest part for me is whether the closedSet and openedSet should be attached to objects that can find the path for them or should be stored in pathfinder class ?

I am opened to any hints and critique whatsoever.

What is the best practice considering pathfinding in terms of design ?

• Adding a "PathFinder" interface really doesn't require any extra time... Also, a note for OP: quite often the ClosedSet doesn't actually exist; the developer will instead add a HasBeenVisited property to the Node class. – BlueRaja - Danny Pflughoeft Dec 18 '12 at 16:34


text:
# if $\mu(X)$ is finite and $f$ is finite on X a.e then $\lim_{n\to \infty}\mu \{x: |f(x)|\geq n\}=0$

Let $(X,\mathcal F, \mu)$ be measurable space with $\mu(X)<\infty$. Prove that if function $f$ is measurable and finite on $X$ then $$\lim_{n\to \infty}\mu \{x: |f(x)|\geq n\}=0.$$

I have been asked this question before. However, I missed one condition that $f$ is finite. However, I got a hint without using this hypothesis and I believe that the hint is insufficient. Can anyone give me more detail proof? Thanks

• By finite do you mean $f(x) < \infty$ for all $x \in X$? Seems like some people have interpreted finiteness as boundedness in their answers. – desos Aug 20 '15 at 14:04
• Yes,you're right – Hoan Do Aug 20 '15 at 14:11
• and 3 deleted answers later, we finally have a correct proof :) – air Aug 20 '15 at 14:16

Perhaps, this argument is easier. Just notice the identity $$(|f|=+\infty)=\bigcap_{n\geq 1} (|f|\geq n).$$ Hence $$0=\mu(|f|=+\infty)=\mu(\bigcap_{n\geq 1}(|f|\geq n))=\lim_n\mu(|f|\geq n),$$ where the second equality is continuity from above because $\mu$ is finite.


text:
# Why is water unusual?

For such a small molecule, water has an exceptionally high boiling point, and this may be traced to the polarity of the $O - H$ bond.
If you compare the boiling points of other small molecules, i.e. $N {H}_{3}$, $C {H}_{4}$, ${H}_{2} S$, to that of water, it is very clear that the $100$ ""^@C normal boiling point is exceptionally high. Because the oxygen hydrogen bond is polar, i.e. ""^(delta+)H-stackrel(delta-)O-H^(delta+)water molecules engage in extensive intermolecular hydrogen bonding, and this substantially elevates the boiling point.


text:
Maxwell's equations

1. Nov 1, 2004

AXIS

Having some problems with my Electromag Unit again.

Heres the questions I'm having problems with, any help would be appreciated

1

For plane electromagnetic waves in a homogeneous, linear, uncharged non conductor

Formulate the Maxwell equations for the electromagnetic fields E and B.

2

Given are the

i) linearly polarised, plane wave E= Eo sin (kz-wt)
ii) circularly polarised, plane wave E = Eo(cos(kz-wt)ex + sin(kz-wt)ey)

Compute for both waves the magnetic flux density B and the Poynting vector P = E x H

Last edited: Nov 1, 2004
2. Nov 1, 2004

Tide

You're not going to formulate the Maxwell equations. You're going go formulate wave equations and their solutions from Maxwell's equations.

Your basic approach will be to work with Ampere's and Faraday's laws (the curl equations). Curl both sides of either one and use the other one to remove the curl in the partial derivatives with respect to time. You have just derived the wave equations! Now apply them to your specific problem. (HINT: You'll have use a vector identity on the curl of a curl in deriving the wave equations which is almost certainly contained in your textbook - if not then demand a refund!)

3. Nov 1, 2004

AXIS

Are you talking about Question 1 or 2

4. Nov 1, 2004

AXIS

Okay forget about Question 1, I managed to work it out for myself,

So can anyone do Question 2?

5. Nov 1, 2004

Tide

You should be able to do Question 2 after I told you how to do it?

6. Nov 1, 2004

marlon

No Tide, the equations describing the waves in this particular medium are the Maxwell-equations. Ofcourse the resulting E and B equations have to respect these specific Maxwell-equations. Besides a problem in electrostatics and magnetostatics has the property that the general Maxwell-equations loose their time derivatives and become perfectly separated from each other. Yet this is NOT the case : E is dependent of time so you cannot just loose the time derivative.

This is the Maxwell-equation you should use : rotor E = -dB/dt. Since E is given in the two situations, just calculate the rotor (you know, with a determinant). Then B can be found (or H = B/mu) by integrating the corresponding components with respect to the time. So the x component of B equals the integral with respect to t of the x-component of the rotor. This gives you the B or H vector and once this one is know it is real easy to calculate the Poynting vector. Just calculate the vectorproduct and your problem is solved.

Just to be clear : the real part of the Poynting vector corresponds to the outward dissipated energy through the surface of an encapsulated volume. This volume arises when working with Gauss's law...The energy arises from currents in the volume, that generate the EM-fields. This energy is delivered by these currents in order to maintain the generated EM-fields E and B. Ofcourse conservation of energy states that this energy needs to dissipate out of the surface so that the net amount of energy in the encapsulated volume is always CONSTANT.

regards
marlon

Last edited: Nov 1, 2004
7. Nov 1, 2004

Tide

Marion,

Two points: First, Maxwell's equations have already been formulated - by Maxwell, incidentally! Axis is not reformulating Maxwell's equations but applying them. It sounds picky but it's an important distinction.

Second, perhaps I didn't make myself clear but I am not suggesting the time derivatives go away. I am saying that when you take the curl of the time derivative terms you can interchange the order of spatial derivatives and temporal derivatives so the curl of the time derivative becomes the time derivative of the curl allowing simplification of the wave equation.

8. Nov 1, 2004

marlon

Tide,
in that case i stand corrected and i apologize for misreading your words...

regards
marlon

9. Nov 1, 2004

AXIS

I need to Compute for both waves the magnetic flux density B and the Poynting vector P = E x H.

Now I figure I need to use faradays law to find B, but how do I do Del cross E where E= Eo sin (kz-wt) and again for E = Eo(cos(kz-wt)ex + sin(kz-wt)ey)

10. Nov 1, 2004

AXIS

Basically I don't know how to find the curl of a plane wave.

11. Nov 2, 2004

Tide

Well, yes, you can but that's not the point.

Here's a simplified version:

If

$$\nabla \times \vec E = -\frac {1}{c} \frac {\partial \vec B}{\partial t}$$

and

$$\nabla \times \vec B = \frac {1}{c} \frac {\partial \vec E}{\partial t}$$

then

$$\nabla \times \nabla \times \vec E = - \frac {1}{c} \frac {\partial}{\partial t} \nabla \times \vec B$$

from which you obtain the wave equation

$$\nabla^2 \vec E = \frac {1}{c^2} \frac {\partial^2 E}{\partial t^2}$$

using the identity $\nabla \times \nabla \times \vec E = \nabla \nabla \cdot \vec E - \nabla^2 \vec E$ and using the fact that $\nabla \cdot \vec E = 0$ in free space. $\vec B$ is governed by a similar equation.

You can easily verify the expressions you provided in your original post are solutions this wave equation. Of course, you will use the form of Maxwell's equations written in the system of units to which you are accustomed and include additional physics as needed such as electrical currents and dielectric effects.

12. Nov 2, 2004

ehild

You can find the curl of a vector given with its cartesian components as

$$curl\vec A = (\frac {\partial A_y}{\partial z}- \frac {\partial A_z}{\partial y})\vec e_x + (\frac {\partial A_x}{\partial z}- \frac {\partial A_z}{\partial x})\vec e_y+(\frac {\partial A_y}{\partial x}- \frac {\partial A_x}{\partial y})\vec e_z$$

The electric field in the planar wave in question 2 propagates in the z direction, it depends only on z (and the time, t). Both the electric and magnetic fields are perpendicular to the direction of propagation in an isotopic medium, (and you have such simple wave) so you can suppose that the electric field is parallel to the x axis.

$$\vec E = E_x\vec e_x = E_{x0} \sin (kz-\omega t) \vec e_x$$.

As this wave has only x component and depends only on the coordinate z, its curl is very simple.

$$curl \vec E = \frac {\partial E_x}{\partial z}\vec j = E_{x0}*k*\cos (kz-\omega t)\vec e_y$$

According to Maxwell's second equation :

$$curl \vec E = - \frac{\partial\vec B}{\partial t}$$

so

$$\frac{\partial \vec B}{\partial t}=-E_{x0}*k*\cos (kz-\omega t)\vec e_y$$

Now you have to integrate with respect to time and you get the magnetic flux density.

ehild


text:
# Binomial Probability Distribution Section 5.4

In this Binomial Probability Distribution, students use the binomial probability formula to determine the success of a given probability. Using the given parameters, students write a probability equation and solve the problem. They complete six probability story problems.

Concepts

Resource Details


text:
# Identify properties

In this section, you´ll learn how to identify the properties of multiplication and addition and how you can use identification to help solve mathematical problems.

To solve rather hard problems without using a calculator you have to identify all expressions that have the same operation.

Example

$\begin{array}{lcl} 58+69+91=? \end{array}$

In this example, you can add in any order you prefer. The sum of the expression will not change if you prefer to add the numbers in a different order.

$\begin{array}{lcl} 91+58+69=218\\ 58+69+91=218 \end{array}$

The same is true for multiplication:

$\begin{array}{lcl} 5\cdot 4\cdot 30=600\\ 4\cdot 30\cdot 5=600 \end{array}$

## Video lesson

Show that the following equation holds true

$3\cdot a\cdot 4=a\cdot 4\cdot 3$


text:
STEM Gender Equality | Join us on ZOOM | Spreading Mathematical Happiness

Help The Education Support Forum through MathsGee serve learners across Africa with a DONATION

1 like 0 dislike
160 views
What is a measure of central tendency?
| 160 views

1 like 0 dislike

Measures of central tendency are the most basic and, often, the most informative description of a population’s characteristics. They describe the “average” member of the population of interest. There are three measures of central tendency:

Mean — the sum of a variable’s values divided by the total number of values
Median — the middle value of a variable
Mode — the value that occurs most often

Example:
The incomes of five randomly selected people in the United States are $10,000,$10,000, $45,000,$60,000, and $1,000,000. Mean Income = (10,000 + 10,000 + 45,000 + 60,000 + 1,000,000) / 5 =$225,000

Median Income = $45,000 Modal Income =$10,000

The mean is the most commonly used measure of central tendency. Medians are generally used when a few values are extremely different from the rest of the values (this is called a skewed distribution). For example, the median income is often the best measure of the average income because, while most individuals earn between $0 and \$200,000, a handful of individuals earn millions.

by Diamond (49,550 points)
selected by

6 like 0 dislike


text:
# Homework Help: Possibly impossible question?

1. Jan 1, 2010

### mishcake

Given that 2e^(t²) + e^t - 3e = 0, solve for t.

I've been racking my brains to figure out a solution to this one. I know that this can easily be solved by using a graphing calculator, but is there an analytic method to deduce the value of t as well? According to my friend, since this is neither a polynomial nor an algebraic expression, an analytic method would be impossible (at least at A levels).

Thanks in advance to all those who help!

Last edited: Jan 1, 2010
2. Jan 1, 2010

### kreil

Try taking the natural logarithm of both sides then using the quadratic equation on the resulting second degree polynomial

3. Jan 1, 2010

### mishcake

But that would only work if the first term is to the power 2t instead of t².

4. Jan 1, 2010

### rasmhop

$$2(e^t)^2 +e^t - 3e = 0$$
or
$$2e^{(t^2)} + e^t -3e = 0$$
? I suspect the former as that's a very common type of problem in elementary algebra and in that case you can indeed get by using the substitution y=e^t.

5. Jan 1, 2010

### mishcake

The latter. If it were the former I wouldn't even be posting it here :p

6. Jan 1, 2010

### andylu224

obviously, one solution is t = 1.

7. Jan 1, 2010

### nicksauce

The natural logarithm is 0 is not defined, and the logarithm of a sum is not the sum of the logarithms, so this does not work at all.

8. Jan 2, 2010

oops


text:
# Eigenvalues of Multiplication in algebraic number field

Finally I have a new question which is puzzling me. I am currently reading a manuscript so there is no reference or link I can provide. I will try to put all the information needed in here. This implies that I hear several definitions for the first time while reading, which on the other hand is assumed and unless I provide references the idea is that everything needed should be obtainable from what is mentioned within the post.

Question 1: (too general)

Let $\mathbb{K}$ be an algebraic number field, i.e. $\mathbb{Q}\hookrightarrow\mathbb{K}$ with $[\mathbb{K}:\mathbb{Q}]=:d<\infty$. Let $b\in\mathbb{K}$ and define $\phi(b)(x):=bx$ for all $x\in\mathbb{K}$. Then $\phi(b)\in\operatorname{End}(\mathbb{Q}^{[\mathbb{K}:\mathbb{Q}]})$. What are the Eigenvalues of $\phi(b)$ (i.e. the roots of the characteristic polynomial)?

What have I got:

As $\mathbb{K}$ is an algebraic number field, we know that $\mathbb{K}\cong\mathbb{Q}(\alpha)$ for some number algebraic over $\mathbb{Q}$ and that for $m\in\mathbb{Q}[z]$ the minimal polynomial of $\alpha$. Letting $\zeta_{1},\ldots,\zeta_{r}$ the real roots of $m$ and $\zeta_{r+1},\overline{\zeta_{r+1}},\ldots,\zeta_{r+s},\overline{\zeta_{r+s}}$ the complex roots of $m$, we know that $\alpha$ is an annihilator of the characteristic polynomial of $\phi(\alpha)$ and hence the minimal polynomial divides the characteristic polynomial and hence $m$ being separable over $\mathbb{Q}$ is a $\mathbb{Q}$-multiple of the charcteristic polynomial for reasons of dimension. This argument holds for all roots of $m$.

What is the issue:

In the manuscript at hand we start off with an element $\zeta\in\mathbb{Q}(\alpha)$ (or $\mathbb{K}$ - as you prefer) satisfying some more restraints:

There is a subring $\mathcal{O}\subseteq \mathbb{Q}(\alpha)$ such that as an additive group $\mathcal{O}\cong\mathbb{Z}^{d}$ (as $d=[\mathbb{Q}(\alpha):\mathbb{Q}]$ and the base field is $\mathbb{Q}$, this implies that $\mathcal{O}$ is a lattice in the $\mathbb{Q}$-vector space $\mathbb{Q}(\alpha)$).

$\mathcal{O}$ is called an order - I am not sure whether this agrees with the standard definition of an order (one sometimes sees the requirement that $1\in\mathcal{O}$ which doesn't follow automatically from this definition). Now the manuscript claims that for $b\in\mathcal{O}$ the eigenvalues of $\phi(b)$ are also given by the roots of $m$. I am not sure but this seems odd to me. If we let $b=0$ then the eigenvalues are all zero. If $1\in\mathcal{O}$, then for $b=1$ the eigenvalues are all 1. Can we say something about the group of units, i.e. if $b\in\mathcal{O}^{\times}=\{o\in\mathcal{O};\exists p\in\mathcal{O}:op=1\}$?

Question 2:

Is there a way to identify the elements $b\in\mathcal{O}$ such that $\phi(b)$ has the roots of $m$ as eigenvalues?

-
BTW, a subring is required to contain $1$. –  awllower Aug 23 '13 at 10:49
That depends on whether a ring is required to be unital, no? –  M. Luethi Aug 23 '13 at 10:50
I see. So that terminology might not be standard. And I cannot see why this is an issue: eigen-values are roots of the minimal polynomial, as required? Maybe I mis-understood something. –  awllower Aug 23 '13 at 10:51
The discussion is about "the roots of which minimal polynomial". The statement is that they are the roots of the polynomial of $\alpha$. This is not true for every linear map of course. –  M. Luethi Aug 23 '13 at 10:55
Orders are usually considered as subrings of non-commutative algebras, say matrix algebras $M_{n}(\mathbb{Q})$. I think you are talking about the ring of integers of $\mathbb{Q}(\alpha)$ and its ideals? –  plusepsilon.de Aug 23 '13 at 10:59

If $b\in K$, if $f\in\mathbb Q[x]$ is the minimal polynomial of $b$ and if $n=[K:\mathbb Q(b)]$, then $\phi=f^n$. There is not much to prove: if $n=1$ you can take $1,b,b^2,\dots, b^{k-1}$ as a basis of $K$ ($k=\deg f$) and you get the standard matrix with char. polynomial $f$. For a general $n$, choose a basis $a_1,\dots,a_n$ of $K$ over $\mathbb Q(b)$, so that $b^ta_s$ is a basis of $K$ over $\mathbb Q$, and the matrix of $\phi$ is block-diagonal, with the same block repeating $n$-times. There are nicer proofs (my favorite is: $K\otimes_{\mathbb Q}\mathbb C\cong\mathbb C\oplus\mathbb C\oplus\dots\oplus\mathbb C$ as a $\mathbb C$-algebra, and the inclusion $K\to K\otimes_{\mathbb Q}\mathbb C$ is via all the embeddings of $K$ to $\mathbb C$), but this one will do.


text:
Solved

# WSH Open Outlook with .attachment (Zip-File)

Posted on 2014-03-24
585 Views
Hello Experts,

I've a simple wsh/vbs Script which doesn't work. In "Code-Example 1" Outlook doesn't start so I think there must be a problem with the DFile.

My Script create a Zip Archiv and I want to send this Archiv via Outlook respectively open Outlook with the right attachment.

DFile is the 'guilty' item (i.g. DFile = C:\Verschlüsselung\10000\Archiv-10000.Zip"

' Code-Example 1
...
ScriptPath = Left(WScript.ScriptFullName, InStrRev(WScript.ScriptFullName, "\"))
sStr=Split(ScriptPath,"\")
FolderN=sStr(UBound(sStr)-1)
DFile = ScriptPath & "Archiv-" & FolderN & "-" & ".Zip"
...
Function Send2Outlook (DFile)
Set objOutl = CreateObject("Outlook.Application")
Set objMailItem = objOutl.CreateItem(olMailItem)
Set attachment = objMailItem.Attachments
objMailItem.Display
...
End Function

If I use a simple Filename in attachment.Add it works.

' Code-Example 1
...
Function Send2Outlook ()
Set objOutl = CreateObject("Outlook.Application")
Set objMailItem = objOutl.CreateItem(olMailItem)
Set attachment = objMailItem.Attachments
objMailItem.Display
End Function
...

Why doesn't DFile work in Attachment.Add Statement? It's an $which the absolute Filename and Filepath. I use ByRef and ByVal, delimiter chr(34) but in "Code-Example 1" Outlook doesn't start? Best Regards. reredok 0 Question by:reredok [X] ###### Welcome to Experts Exchange Add your voice to the tech community where 5M+ people just like you are talking about what matters. • Help others & share knowledge • Earn cash & points • Learn & ask questions • 5 • 4 9 Comments LVL 70 Expert Comment ID: 39950048 Maybe it is because you append another dash ("-") to the filename? Your created zip file is searched as C:\Verschlüsselung\10000\Archiv-10000-.Zip, and probably does not exist. It might be generated the same, but that is something we cannot see here. 0 LVL 4 Author Comment ID: 39950118 The file exists. The same file can be send via Outlook manually. I added the pathname/filename hard-coded in script and it works fine. I presume that Outlook doesn't start because there must be a diffence between "C:\123456\123456.txt" and "C:\Verschlüsselung\10000\Archiv-10000.Zip" regarding the Outlook.Attachments Statement. Further I used the Filesystemobject in Function call ... with no success. 0 LVL 70 Expert Comment ID: 39950174 To clarify: You used "C:\Verschlüsselung\10000\Archiv-10000-.Zip" (with the trailing dash) hardcoded, and it worked? 0 LVL 4 Author Comment ID: 39950263 Yes. C:\Verschlüsselung\10000\Archiv-10000.Zip not C:\Verschlüsselung\10000\Archiv-10000-.Zip sry the vbs code create a Zip Archiv with winrar: i.e. Zip-Archiv: Archiv-10001-2014-03-24_115211.Zip Syntax: a custom Nummer 10001 Date: 2014-03-24 TimeStamp: 115211 Extension: Zip Result: C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip works: attachment.Add "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip", olByValue, 4, "Great" works not: attachment.Add DFile, olByValue, 4, "Great" where DFile = "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip" works not: attachment.Add chr(34) & DFile & chr(34), olByValue, 4, "Great" What's wrong with DFile??? 0 LVL 70 Expert Comment ID: 39950504 It's best to debug that in Outlook VBA, and that is what I will try to do now. Edit: Works in VBA, as expected. I get the "Der Pfad ist nicht vorhanden" error for non-existing files, and the file attached in a new mail if it exists, with this simple VBA code: Public Sub atttest() Dim DFile As String, objMailItem As MailItem ' DFile = "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip" DFile = "C:\temp\ee\1.txt" Set objMailItem = CreateItem(olMailItem) objMailItem.Attachments.Add DFile, olByValue, 4, "Great" objMailItem.Display End Sub  What's your default eMail type? HTML, Text or RTF? (The latter has some special features, and should NOT be used). 0 LVL 70 Expert Comment ID: 39950568 Same with VBS: Option Explicit const olMailItem = 0 const olByValue = 1 Dim DFile, objOutlook, objMailItem ' DFile = "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip" DFile = "C:\temp\ee\1.txt" set objOutlook = CreateObject("Outlook.Application") Set objMailItem = objOutlook.CreateItem(olMailItem) objMailItem.Attachments.Add DFile, olByValue, 4, "Great" objMailItem.Display  So it must be something else, or RTF. 0 LVL 4 Author Comment ID: 39950595 it's wsh vbs code which is controlled by a "file or more file drag 'n' drop" Event. Debug is not so easy and it's impossible for my opinion in Outlook VBA. I don't understand why CreateObject("Outlook.Application").CreateItem(olMailItem).Attachments deals so different between a$ "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip" and a variant DFile
Which kind of Input is needed? In ms documentation it must be a variant
0

LVL 70

Accepted Solution

Qlemo earned 500 total points
ID: 39950687
"It must be a variant" cannot be true. In almost all cases the real type of the var is what you need. The file parameter can be a string or an Outlook object (hence the var type of variant is allowed here). For other types the Attachment.Add should result in an error message.

First step to disect the culprit is to do exactly what I did for test - use a very limited test case and code. If that works, you can try to integrate that into some more code of you, and so on.

BTW, if you write
DFile = "C:\Verschlüsselung\Archiv-10001-2014-03-24_115211.Zip"

that isn't a variant anymore, but a string. Keep in mind you can't use (force) types for vars in VBS.

On another note, why are you providing the "4" as position? I would expect to have a 1 here, as you did not fill in anything in the mail body yet.
0

LVL 4

Author Closing Comment

ID: 39952836
I rebuild my Code and found a Problem with DFile which was only declared in a vbs function and not in called code. So the scope of this var maybe not well defined... maybe outlook had same problems with this fact. So I <Dim DFile> in "Main-Code" and transmit it up to every called function so to say as dummy
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Large Outlook files lead to various unwanted errors and corruption issues. Furthermore, large outlook files can also make Outlook take longer to start-up, search, navigate, and shut-down. So, In this article, i will discuss a method to make your Out…
Invest in your employees with these five simple steps to improve employee engagement and retention.
This video Micro Tutorial shows how to password-protect PDF files with free software. Many software products can do this, such as Adobe Acrobat (but not Adobe Reader), Nuance PaperPort, and Nuance Power PDF, but they are not free products. This vide…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
###### Suggested Courses
Course of the Month3 days, 9 hours left to enroll


text:
# Conjugate points

Suppose $$(M,g)$$ is a two dimensional Riemannian manifold. Let $$\gamma:(-\delta,\delta)\to M$$ be a geodesic segment and suppose that $$\gamma(0)$$ is not conjugate to any other point in $$(-\delta,\delta)$$. Is it true that there always exists a solution to the Jacobi equation along $$\gamma$$ that is non-vanishing anywhere along $$\gamma$$?

Thanks,

• I guess you mean orthogonlal Jacobi field to $\gamma$;otherwise $J=\gamma'$ solves your problem. For orthogonal Jacobi field the answer is no, in the unit sphere you can take $\delta$ arbitrary close to $\pi$ so, you geodesic has length almost $2\cdot\pi$ --- there is no Jacobi equation orthogonal to γ that is non-vanishing anywhere. – Anton Petrunin Mar 30 '19 at 1:42

The example in Anton's comment above shows that the result fails if one assumes only that the conjugate radius of each point along $$\gamma$$ is at least $$\delta$$. I'll add only that the result is true if the focal radius of each point along $$\gamma$$ is at least $$\delta$$ (see here for the definition of the focal radius). In that case, every Jacobi field $$J$$ along $$\gamma$$ satisfying $$J(0) \neq 0$$ and $$\nabla_{\gamma'} J(0) = 0$$ is nowhere vanishing.


text:
# Influence of the flow rate on the pressure field

Pressure field for the case : $qwell=0.5 \ m^3/s$

Pressure field for the case : $qwell=1\ m^3/s$

Pressure field for the case : $qwell=10 \ m^3/s$

An increase in flow rate induce an increase of the negative pressure.


text:
## Stream: new members

### Topic: Fresh variables causing trouble

#### Jack Crawford (Oct 24 2018 at 04:32):

I'm in a bit of a pickle right now trying to deal with one of those messy __mlocal__fresh__1234_56789 variables.

I have the following relevant lines in my tactic state:
M N __mlocal__fresh_9046_21051 : matrix (fin m) (fin n) α, r₁ : row_equivalent M __mlocal__fresh_9046_21051, r₂ : row_equivalent_step __mlocal__fresh_9046_21051 N, H₁ : row_equivalent.apply r₁ = __mlocal__fresh_9046_21051 ⊢ elementary.apply (r₂.elem) (row_equivalent.apply r₁) = N
Tantalisingly, I would love to perform some sort of rewrite or subst or simp with H₁ to rewrite the goal as ⊢ elementary.apply (r₂.elem) __mlocal__fresh_9046_21051 = N, but each of these fail.
I think I could probably perform the rewrite (just via eq.trans) if I could have myself something of the form
have H₂ : elementary.apply (r₂.elem) (row_equivalent.apply r₁) = elementary.apply (r₂.elem) __mlocal__fresh_9046_21051 (and solve this with something like congr, from H₁), but unfortunately I cannot do this as I cannot explicitly write down the __mlocal__fresh_9046_21051 (of course, the numbers change every time Lean recompiles).

Is there a way I can explicitly name my fresh variable in a less transient way?
Or am I doing something else completely stupid and in bad practice and shouldn't even have this fresh variable popping up at all?

Here's the actual code that's giving me this tactic state (you can see the fresh variable comes out of my induction over row_equivalent, which has two constructors, of the form nil : Π M, row_equivalent M M and cons : Π (r₁ : row_equivalent M N) (r₂ : row_equivalent_step N L) , row_equivalent M L)

@[simp] lemma row_equivalent.apply_implements : Π {M N : matrix (fin m) (fin n) α} (r : row_equivalent M N), r.apply = N | M N (row_equivalent.nil) := by simp[row_equivalent.apply] | M N (row_equivalent.cons r₁ r₂) := begin simp[row_equivalent.apply], have H₁, from row_equivalent.apply_implements r₁, -- Here is where I see the tactic state I provided above sorry, end

#### Mario Carneiro (Oct 24 2018 at 05:42):

You should use | _ _ (@row_equivalent.cons M N L r₁ r₂) in the pattern match

#### Jack Crawford (Oct 24 2018 at 08:24):

Ah yes, I don't know why I didn't think of this myself -- silly question!
Thanks @Mario!

Last updated: May 16 2021 at 05:21 UTC