text:
# Stuck! I can't find the E field outside cylinder, but inside i found!

1. Sep 18, 2005

### mr_coffee

Hello everyone. I'm so close to getting this problem done but i can't get the last part right!
THe problem is the following:
Two long, charged, thin-walled, concentric cylinders have radii of 3.0 and 6.0 cm. The charge per unit length is 4.9 10- 6 C/m on the inner shell and -8.5 10-6 C/m on the outer shell.

(a) Find the magnitude and direction of the electric field at radial distance r = 4.8 cm from the common central axis. (Take radially outward to be positive.)

I found this by using: E = $$\delta$$/2PIEor;
E = (4.9E-6)/(2PIEo(.048m) = 1835826.8 N/C

(b) Find the magnitude and direction of the electric field at r = 8.5 cm, using the same sign convention.

I can't seem to figure this part out. I tr4eid doing the following:
I added up the E field @ 3.0cm and @ 6.0cm to get 389644.9 but didn't know what do it with it from there. So i tried, just using the same method as above in part (a) but insteed of using .048m i used .085m and i got -1798361 N/C which was wrong. Any help would be great!

2. Sep 19, 2005

### cliowa

What is your knowledge in this field?

It seems very easy to me to just solve this problem by using Gauss' Law. Ever heard of that?

Regards...Cliowa

3. Sep 19, 2005

### mr_coffee

FLux = Q/Eo ? I already tried that and FLux = EA. How would you approach it using Gauss's Law?

4. Sep 19, 2005

### Staff: Mentor

Solve part b exactly as you solved part a. The only change is that you must use the total charge per unit length contained within the radius. (Add the charge from both cylinders.)

5. Sep 19, 2005

### mr_coffee

the problem i'm having is, how do you figure out the charge, when all your given is the Electrical field? Also am I just finding the charge @ 3cm and the charge @ 6cm, then adding them together, then using that charge in the equation -> E = /2PIEor;
But in that equation there is no charge variable.

6. Sep 19, 2005

### Staff: Mentor

You are given the charge per unit length on each cylinder, not the electric field; the electric field is what you are asked to find.

Yes, add the charges. That equation has no charge because you left it out! (Refer to your first post.)

7. Sep 20, 2005

### mr_coffee

Awesome, thanks agan Doc!! worked great!!

format: plain


text:
Machine Learning : Unsupervised – k-means Clustering and Bootstrapping

1. Content Briefing

1. k-means theoretical implementation
2. Implementing k-means algorithm in R
3. Addressing optimal ‘k’ value using Calinski-Harabasz Index and Average Silhouette Width Index
4. Bootstrapping k-means clusters for its validation and confidence

2. The Model

5.1. Data

I have used R language to code for clustering on the World Health Organization (WHO) data, containing 35 countries limited to the region of ‘America’[3]. Following are the data fields:

1. $Country: contains names of the countries of region America (datatype: string) 2.$Population: contains population count of respective countries (datatype: integer)
3. $Under15: count of population under 15 years of age (datatype: number) 4.$Over60: count of population over 60 years of age (datatype: number)
5.  $FertilityRate: fertility rate of the respective countries (datatype: number) 6.$LifeExpectancy: Life expectancy of people of respective countries (datatype: integer)
7. $CellularSubscribers: Count of people of respective countries possessing cellular subscriptions (datatype: number) 8.$LiteracyRate: Rate of Literacy of respective countries (datatype: number)
9. $GNI: Gross National Income of respective countries (datatype: number) 5.2. K Means Clustering K means is another popular clustering algorithm where we try to categorize data based on forming clusters. K means to find it large applications in document classifications, delivery store optimizer, identifying crime localities, customer segmentation, etc. as all the clustering algorithms. So, the question arises how is k-means different? and why do we need it? K means is one of the simplest algorithms to implement when you have the data which is all numeric and the distance metric used in squared Euclidean. It is a high ad hoc algorithm to be used in clustering with only one major disadvantage, any guess? 5.3. Theoretical Implementation – K Means Clustering 1. Select random number of ‘k’ cluster centers for your data. (this is the disadvantage of k-means clustering that we need to pre-define the number of clusters we need, can lead to unwanted results) 2. For the selected centers we now assign all the data points which are nearest to it forming our clusters 3. Now, for the clusters formed we compute the centers of the clusters 4. Further, we start reassigning the data points as per the new cluster centers we just formed in step 3. 5. Steps 3 and 4 are iterative and should be done until no further possibility of trading data points between clusters or you may have reached to maximum number of iterations that might be set. All of the above steps for building a k means model will be understood clearly with the following figure illustration below: Image illustration for k means clustering 5.4. Practical Implementation It is finally time to implement k means clustering using R language. The function to run k means clustering in R is kmeans(). The function gives the cluster attributes that includes cluster labels, the cluster centers, the total sum of the square, total WSS (within the sum of squares) and total BSS. k-means does not have a stopping point that is unique, thus the possibility of k-means being fairly unstable is high as the fact that the final cluster is dependent on the initial cluster centers. To nullify this effect we can run k-means clusters several times with different random starts and based on results we can select the one with least WSS. And the best part? kmeans() function can manage this on its own unless otherwise stated it defaults to one random start. My model for k-means clustering is built on the ‘WHO’ Health data limited to the American region containing 35 countries. This is the same data which was used by me for implementing Hierarchical Clustering. This will also help us understand whether using different algorithms on the same set of data produces the same clusters or different? Thinking logically if the data is the same which means the relationship between the data remains the same, indicating that the weights and distances of the data points in a plane also will be the same. So irrespective of what algorithm we use we should get the same set of clusters. Will we? We’ll figure out very soon. So get ready with your R-Studio and make sure you have the data downloaded from my website. Here is the data download link: https://talktomedata.files.wordpress.com/2019/05/who3.xlsx 5.5. R Algorithm for k-means 5.5.1 Reading and Scaling Data First things first, I am loading the WHO3.csv file in the object ‘data’ using the function read.csv(). The arguments are ‘header = T’ stating to R that the file contains headers and since it is a CSV – comma separated values, meaning data values are separated with comma, I mention in the argument as ‘sep = “,”‘. Moving ahead I have scaled the data, which is a really important aspect to get good clusters and without any flaws. I have scaled data to set mean = 0 and with a standard deviation of 1 for all the data columns except the first one which is ‘Country’. First, I create an object ‘scaling.variables’ for all the columns except the first as I mentioned. Going ahead, I am using scale() function to scale the columns isolated except the first column. The scale function gives two attributes ‘scaled: center’ and ‘scaled: scale’ which are saved into different objects, these objects can be handy if we need to remove the data scaling. R listing for reading and scaling the data Printing clusters is crucial and it is not a good idea to print them with all the columns of data as this may be confusing in finding the cluster relations. You have to try combinations of data columns to make sure you are printing the right amount of columns so that you can find a relation between the clusters. To print them I am forming a function named ‘clusters_print’. This will help me print the clusters formed by kmeans() limiting the columns to “Country”, “CellularSubscribers”, “LiteracyRate” and “GNI”. Below is the listing for the clusters_print function. Listing for function to print clusters with limited columns 5.5.2 Clustering using kmeans() In previous hierarchical clusters, the algorithm used a number of clusters k=5 was used. I am using the same k i.e. equal to 5 clusters for k-means as well. This will help me compare whether the clusters formed will be the same or different. Moving ahead I form the object ‘kclust’ in which I am saving the output of kmeans function. The k-means is formed using ‘scaled’ data for k number of clusters along with ‘nstart=100’ and ‘iter.max=100’. As I mentioned earlier that the k-means final output depends upon the initial centers which are selected. Thus, ‘nstart=100’ will start clustering with 100 different initial start points and having 100 iterations for each i.e. ‘iter.max=100’. This is very complex computation which is carried out on ease with R’s kmeans() function. The output of k-means stored in ‘kclust’ is used to extract the clusters as kclust$cluster and this is saved in an object ‘grouped’. This grouped object is used to print our clusters using the print_cluster function which we formed earlier. Below are the listing and the output showing k-means clusters.

Listing for k-means clusters and printing them

Following can be inferred from the clusters formed above:

1. Here, clusters formed are somewhat in relation to the geographic mapping of the countries
2. Cluster 1 contains countries with least average GNI all being in 4 figures and literacy rate averaging 80.89
3. Cluster 2 is a good mix of countries with 4 and 5 digits GNI along with literacy rate averaging 92.18
4. Cluster 3 has countries with highest literacy rate with minimum being 99%
5. Cluster 4 too has countries with good literacy rates with minimum being 90% and GNI for all the countries in cluster 4 is in 5 figures

And guess what, these are more or less the same clusters with little trade-offs which were formed in Hierarchical Clusters from my previous blog: Machine Learning: Unsupervised – Hierarchical Clustering and Bootstrapping. Below is the clusters image which was formed in Hierarchical Clustering for comparison purposes.

Clusters formed in Hierarchical clustering (refer Hierarchical clustering blog)

5.5.3. Optimal ‘k’ for Clusters

Again, the question arises; how are we sure about having 5 clusters and not 5 or 3 or may just 2? How do we know we have selected an optimal number of k i.e. clusters for clustering? This can be figured out by ‘Calinski-Harabasz Index’ and ‘Average Silhouette Width’. These both concepts help us figure out what should be our optimal number of clusters i.e. k. I am going to give you a little theoretical idea about both the concepts in depth and detailed explanation is out of scope for this article.

5.5.3.1. Calinski-Harabasz Index (ch)

The Calinski-Harabasz index of a clustering is the ratio of the between-cluster variance
(which is essentially the variance of all the cluster centroids from the dataset’s grand
centroid) to the total within-cluster variance (basically, the average WSS of the clusters
in the clustering).

5.5.3.2. Average Silhouette Width (asw)

Measures how well an individual data point is clustered and further estimates average distance between clusters.  The silhouette plot displays a measure of how close each point in one cluster is to points in the neighboring clusters.

5.5.3.3. Computing ch and asw

kmeansruns() another function in ‘fpc’ package of R can be used to compute Calinski-Harabasz Index (ch) and Average Silhouette Width (asw) automatically. This runs k-means over a range of k and then estimates best k. It further returns the best value of k and output of kmeans for the respective k value. Using kmeansruns() on the scaled data for ‘krange=1:10’ i.e. all values of k from 1 to 10 and criterion = ‘ch’ and ‘asw’ respectively. The kmeansruns() gives the best k value as one of its output that can be extracted as $bestk. Below are the R listing and best value of k obtained. Listing to compute ch and asw using kmeansruns and extracting bestk Best k values obtained from ch and asw The Calinski-Harabasz index gives the best k-value as 2 and Average Silhouette Width gives the best k value as 3. Thus, 2 or 3 is our optimal number of ‘k’ for this data set. Now, you can question me why did I use k = 5? This is simply because in my last blog of Hierarchical Clustering k was 5 so I used the same k here too, to illustrate how close we get the same clusters irrespective of the clustering algorithm that we deploy. 5.5.4. Visual Examination of ‘ch’ and ‘asw’ indexes As per the listing for computing ‘asw’ and ‘ch’, I have used krange = 1:10. I am now going to compute both the indexes for a range of 1 to 10 against the ‘score’ of individual indexes. The index with the highest score is returned as best ‘k’. I have computed a data-frame that combines criterion values one of the outputs of kmeasnruns() function. Further, I reshape this data frame using the melt() function of R in ‘reshape2’ library. Further using ‘ggplot2’ library I have plotted the data frame. The listing and output are shown below. Listing for forming data-frame of combined asw and ch, later plotting them The output for range of indexes from 1-10 of ‘ch’ and ‘asw’ The plot for both ch and asw can be seen in the above figure for a range of k value from 1 to 10. ch (red) peaks at maximum score at 2 thus returning us best k value as 2 and asw peaks best score at index value 3 thus returning us with best k value as 3. 5.5.5 Bootstrapping of k-means Bootstrapping is the litmus test that our model needs to validate positively so that we can rely on our model and can bet upon its findings and maybe if required test them for unknown data points to predict clusters. Clusterboot() function in ‘fpc’ package does the bootstrapping by re-sampling to evaluate how stable our clusters are. It works on Jaccard co-efficient a similarity measure between sets. Jaccard coefficient values should be greater than 0.5 for all our clusters to make sure our clusters are best formed. For an in-depth explanation and understanding of bootstrapping theory refer to my blog on Hierarchical Clusters. For the test again I am selecting k = 5 as bestk to evaluate previously formed clusters. Further, using cluster boot on scaled data with arguments as clustermethod = kmeansCBI to indicate kmeans cluster-boot, running it i.e. booting it 100 times and maximum iterations for each booting to be 100. All this to be done for krange of my best k selected i.e. 5 clusters. the seed is set equal to random number 9898 for result reproducibility. We can extract clusters formed by bootstrap in$result\$partition of the bootstrap model formed. These clusters are taken in to object ‘groups’ and clusters are printed using the cluster_print function that we formed earlier. Below are the listings and the clusters formed over evaluation of 100 runs and 100 iterations respectively.

Listing for cluster-boot of k-means and printing them

Bootstrap clusters

As we can see above the clusters formed initially in k-means are same as the clusters formed here in bootstraps. This shows that we have fairly stable clusters that can be trusted and deployed in practical use as they pass the test of 100 booting and 100 iterations.

Further, our results obtained in bootstrapping can be rectified by seeing each cluster’s maximum Jaccard Co-efficient which should be greater than 0.5 value indicating stability and number of time on 100 did each cluster dissolved proving its stability. Below is the combined listing and output for Jaccard coefficient and the number of times a cluster dissolved.

Maximum Jaccard Co-efficient and each cluster dissolution (on 100)

Here, we got all the Jaccard coefficient of all the clusters above 0.6 and a good number for cluster dissolving too in 100 times. These values just give us another layer of confidence on our clusters via bootstrapping.

3. Conclusion

1. k-means is one the best and simplest ways to compute unsupervised machine learning with clustering
2. Always remember to scale your data preferably with mean 0 and stdv. of 1 for all the numeric data columns for getting clean results
3. If required perform ch and asw indexing before computing k-means if you are not sure about what should be your optimal ‘k’ value for k-means clustering
4. Always bootstrap your model by trying to produce similar results as original to be confident about your model and findings

7. Clustering Takeaways:

1. The goal is simply to draw out similarities by forming a subset of your data.
Good clusters indicate the data points in one cluster are similar and dissimilar to data points in another cluster
2. Units of data field matter, different units in different respective data fields produce potentially different results, it is always a good idea to have a clear sense of data and data units before clustering
3. You will always like the scenario of unit change of output change across categories to represent the same unit change (consistency). Thus, it becomes important that you scale your data as I have scaled with mean set 0 and standard deviation of 1.
4. Clustering is always deployed as a data exploration algorithm and can act as a precursor to supervised learning
5. Can be considered similar to visualization, with more iterations and interactions you can understand your data better unlike automated machine learning processes like supervised learning
6. Many theories to attain best k value for your clusters, the best are indicated here and others too can be explored easily, but it is always wise to choose the best as per the situation

To read the original post, click here

Cheers,
Neeraj


text:
There’s no such thing as a literal @ in that part of a URL, you have to URL encode it. Sometimes browsers will decode it for you so it looks ok but it’s just being helpful. The only time you can use it without encoding is when specifying the username and password in a URL e.g. http://admin:password@example.com otherwise it has to be URL encoded as a %40.
If you modify the regular expressions to also match against @ it still won’t work because the @ will be converted into %40 before it’s sent to the browser.
Thankfully if you try to add the @ in manually WordPress is smart enough to redirect you to the page that is closest, which is usually the author archive of the same user.
Also be wary of that code, removing the /author/ portion of the rule will mean that /test-page/ will also match author archives and you will get clashes that either turn every page into an author archive, or prevent author archives working.


text:
# Fourier transform

Three different Fourier transforms are usually defined and all have applications in digital signal processing.

The continuous Fourier transform of the function x(t) is defined with the formula

$$H(s)=\int_{-\infty}^{\infty} x(t) \, e^{-2\pi\,j\,t\,s} \, dt$$

The inverse continuous Fourier transform is

$$x(t)=\int_{-\infty}^{\infty} H(s) \, e^{2\pi\,j\,t\,s} \, ds$$

The discrete Fourier transform of the function x(k) is defined with the formula

$$H(n)=\sum_{k=0}^{N-1} x(k) \, e^{-\frac{2\pi\,j\,k\,n}{N}}, \, n=0,1,...,N-1$$

and its inverse is

$$x(k)=\frac{1}{N}\sum_{n=0}^{N-1} H(n) \, e^{\frac{2\pi\,j\,k\,n}{N}}, \, k=0,1,...,N-1$$

The discrete-time Fourier transform is defined by the formula

$$H(s)=\sum_{k=-\infty}^{\infty} x(k) \, e^{-2\pi\,s\,j\,k}$$

and its inverse, usually written using ω = 2π f, is

$$x(k)=\frac{1}{2\pi}\int_{-\pi}^{\pi} H(\omega) \, e^{j\,\omega\,k} \, d\omega$$

The three forms of the Fourier transform above are sometimes abbreviated as FT, DFT, and DTFT.

## Interpretation of the Fourier transform

As any other transform, the Fourier transform translates one type of function into another. The usual interpretation of the Fourier transform in digital signal processing is that the Fourier transforms translate a signal – a function of time and with values the signal values given specific amplitudes, frequencies, and phase amounts – into a function of frequencies that produces the amplitudes and phases of these frequencies given a specific time.

Typically, we define the signal x(t) as the sum of simple sine and cosine waves as follows.

$$x(t)=\sum_{n=0}^{N-1} A_n \, cos(2\pi\,f_n\,(t-\tau_n))$$

where fn, An, and τ n are respectively the frequencies, amplitudes, and phases of these simple waves. This signal x(t) is a function of time for a set of predefined frequencies, amplitudes, and phases. The values of x(t) are the values of the signal.

The Fourier transform H(s) on the other hand is a function of the frequency s. H(s) itself has complex values, which, as shown below, contain information about the amplitudes and phases of the simple waves in the signal. Since the time t is not a part of the argument or values of H(s), the Fourier transform H(s) produces the amplitude and phase of the frequency s at a specific, predefined time t. The transform may produce different amplitudes and phases at different times t.

One more simplistic way of stating this is that, if we have a signal as a function of time, the Fourier transform can help us identify and analyze the amplitudes and phases of frequencies present in this signal.

The following helps explain this statement in the case of the discrete Fourier transform.

Take the discrete Fourier transform of a signal x(k) in discrete time k and apply Euler's formula.

$$H(n)=\sum_{k=0}^{N-1} x(k) \, e^{-\frac{2\pi\,j\,k\,n}{N}}$$ $$=\sum_{k=0}^{N-1} x(k) \, cos(\frac{2\pi\,k\,n}{N})-j \sum_{k=0}^{N-1} x(k) \, sin(\frac{2\pi\,k\,n}{N})$$

for n = 0, 1, …, N – 1. Suppose that x(k) is a real valued signal. Fourier analysis tells us that

$$\sum_{k=0}^{N-1} x(k) \, cos(\frac{2\pi\,k\,n}{N}) \approx \frac{N B_n}{2}$$ $$\sum_{k=0}^{N-1} x(k) \, sin(\frac{2\pi\,k\,n}{N}) \approx \frac{N C_n}{2}$$

where Bn = An cos(2π n τn) and Cn = An sin(2π n τn) are the coefficients of the simple wave An cos(2π n (t - τn)) in x(k) with integer frequency n, amplitude An, and phase τn.

As explained in the topic Fourier analysis, the above result happens because simple waves are orthogonal and the sum products above produce a zero (approximately in the discrete case) for every such simple sine or cosine wave in x(k) except for the ones at n and at N – n.

$$H(n) \approx \frac{N\,B_n}{2}-j \frac{N\,C_n}{2}$$

Further, Bn and Cn can be used to compute the amplitude and phase

$$|A_n|=\sqrt{B_n^2+C_n^2}$$ $$\Phi_n=atan2(\frac{C_n}{B_n})$$

of the frequency n in the signal x(k).

Simply put, H(n), the nth complex value of the Fourier transform, helps us find the amplitude An and phase Φn (through the coefficients Bn and Cn) of the simple wave with integer frequency n in the complex signal x(k).

In practice, we often have only a complex signal x(t) or x(k) and we do not know what frequencies comprise this signal. We can use the Fourier transform to find them. In the example above, the Fourier transform decomposes the real valued signal x(k), the signal values in time, into a set of amplitudes and phases H(n) for frequencies n.

In practice, there is also no guarantee that the complex signal x(t) or x(k) is composed of simple sine or cosine waves with integer frequencies (see, for example, Square wave). However, it can often be approximated by a sum of such simple waves, as discussed in the topic Fourier analysis.

Thus, the Fourier transform is a natural extension of the Fourier series. There are three motivations for using the Fourier transform rather than the Fourier series. First, the Fourier transform allows for shorter notation. Second, the use of complex numbers allows the Fourier transform to return a complex valued function, which means two separate values that can be used to describe the amplitude and the phase of the signal separately. Using complex numbers in the Fourier transform allows us to compute the coefficients Bn and Cn simultaneously and to produce a single function H(n) – a function that indirectly returns both amplitude and phase. Third, the Fourier transform has an inverse transform, which is easy to describe and which has its own uses.

## Example – the discrete Fourier transform of a simple wave

Тake a simple discrete sine wave with frequency f, amplitude A and phase m, sampled over N points for a period of time 1. The values of this simple wave would be

$$A \, sin(\frac{2\pi\,f\,(k-m)}{N})=B \, cos(\frac{2\pi\,f\,k}{N})+C \, sin(\frac{2\pi\,f\,k}{N})$$

where B = -A sin(2π f m / N) and C = A cos(2π f m / N). We can compute the discrete Fourier transform as follows.

$$H(n)=\sum_{k=0}^{N-1}(B \, cos(\frac{2\pi\,f\,k}{N})+C \, sin(\frac{2\pi\,f\,k}{N})) \, e^{-\frac{2\pi\,j\,k\,n}{N}}$$

for n = 0, 1, …, N – 1. We use Euler's formula again

$$e^{-\frac{2\pi\,j\,k\,n}{N}}=cos(\frac{2\pi\,n\,k}{N})-j \, sin(\frac{2\pi\,n\,k}{N})$$

and note that the components of the Fourier transform (the sine and cosine functions with frequency n) are orthogonal to the simple wave with frequency f over the sampling period, except in two cases – for n = f and for n = N – f. In the second case, we note that

$$cos(\frac{2\pi\,n\,(N-k)}{N})=cos(2\pi\,n-\frac{2\pi\,n\,k}{N})=cos(\frac{2\pi\,n\,k}{N})$$ $$sin(\frac{2\pi\,n\,(N-k)}{N})=sin(2\pi\,n-\frac{2\pi\,n\,k}{N})=-sin(\frac{2\pi\,n\,k}{N})$$

The transform, as a function of n, translates to

$$H(n) \approx \begin{cases} B \sum_{k=0}^{N-1} cos^2 (\frac{2\pi\,k\,n}{N}) - j \, C sin^2 (\frac{2\pi\,k\,n}{N}), \, n=f, N-f \\ 0, \,\, n \ne f, N-f\end{cases}$$

The two sums for a large enough sampling frequency N evaluate to approximately N / 2 and so the transform is simply

$$H(n) \approx \begin{cases} \frac{N}{2} (B - j \, C), \, n=f, N-f \\ 0, \,\, n \ne f, N-f\end{cases}$$

Thus, the discrete Fourier transform of a simple wave with frequency f produces a function H(n) that indicates something about the single wave at components n = f and n = N – f and is zero otherwise. Specifically, at n = f and n = N – f .

$$|H(n)| \approx \sqrt{Re(H(n))^2+Im(H(n))^2}=\frac{N}{2} \sqrt{B^2+C^2}=\frac{N}{2} A$$ $$atan2(Im(H(n)),\,Re(H(n)))=atan2(N C,\,N B)=-\frac{2\pi\,f\,m}{N}$$

These are the amplitude (scaled by N / 2) and phase of the original simple sine wave.

## Example – discrete Fourier transform of a real valued complex signal

If the original wave is a complex real valued signal consisting of various waves with different amplitudes and frequencies, the result will be similar due to the fact that simple sine or cosine waves with different frequencies are orthogonal. Each component of the discrete Fourier transform (for each n) will produce the magnitude and phase of the corresponding simple wave (with frequency n) in the complex signal, if that wave is present in the complex signal.

The discrete Fourier transform H(n) of a real valued signal x(k), evaluated at the frequency n, shows the amplitude of the nth simple wave component in the signal x(k)

$$A_n=2 \frac{|H(n)|}{N}=2 \frac{\sqrt{Re(H(n))^2+Im(H(n))^2}}{N}$$

and the phase of the nth simple wave component in x(k)

$$\Phi_n=atan2(Im(H(n),Re(H(n)))$$

It is important to note that the Fourier transform works because its components (the transform basis) and sine and cosine functions in general are orthogonal over properly selected intervals. In the ideal case, when a signal is composed only of waves with frequencies equal to those employed by the transform, the integrals or sums of the transform definition will produce zero in all cases except where a wave in the signal has the same frequency as the component of the transform. (In the less ideal case, where signal frequencies are not the same as those of the transform components, the result is less precise, but similar).

## Redundant values of the Fourier transform of real valued signals

Suppose that we compute the discrete Fourier transform of a simple sine wave at 10 Hz, using the discrete Fourier transform with 100 points over 2 seconds of the wave. The magnitude of the resulting discrete Fourier transform components will be as in the following figure.

The discrete Fourier transform will be non-zero – approximately – at components 20 and 80. Since we are sampling with 100 points over 2 seconds, we have effectively sampled the wave with the sampling frequency 50 Hz. This means that we have used the discrete Fourier transform with components at 0.5 Hz, 1 Hz, 1.5 Hz, …, 49.5 Hz (These multiples of 0.5 Hz are orthogonal over 2 seconds.). The 20th component is 10 Hz and it makes sense that we have a non-zero value at this component. According to the discussion above, we also get a non-zero value at component 80 = 100 – 20. The magnitude of the discrete Fourier transform at these components is 100 / 2 = 50. These results are as expected. (We chose to compute the discrete Fourier transform with N uniform points over 2 seconds. How we choose the points of the discrete Fourier transform defines what the transform components are. In this case, the components represent the frequencies between 0 and N / 2. Most often, the discrete Fourier transform is computed with the first N points of a signal sampled at the sampling frequency fs. In this case, the components are the frequencies 0, fs / N, 2 fs / N, …, (N – 1) fs / N. The discrete Fourier transform then poses one interesting question, namely what the component at 0 represents. The magnitude of the component at 0 for a signal of the form x(k) = A0 + A1 sin(2π k f / N) would be N A0. Thus, although the discrete Fourier transform component at 0 is usually meaningless for digital signal processing, in analog signals it represents DC current.)

When the input to the discrete Fourier transform or the inverse discrete Fourier transform is real valued and not complex, the transform produces complex numbers such that H(N – 1 – n) is the complex conjugate of H(n). The information for n > N / 2 is redundant.

## Approximation with the discrete Fourier transform

Note that in the 10 Hz simple wave example above, one of the components of the discrete Fourier transform happens to be 10 Hz. This is not always the case. An example of the graph that will be produced in other cases – when the frequencies in the signal do not correspond to the components of the transform – is shown in the topic Fourier analysis.

## Example – discrete Fourier transform of a complex valued signal

The fact that the discrete Fourier transform of a real valued signal produces repeated and redundant information is uncomfortable. We have two choices. First, we can ignore the second half. Second, we can feed the transform with complex numbers. The complex frequency f sampled over N, for example, is

$$e^{-\frac{2\pi\,j\,f\,k}{N}}$$

When the discrete Fourier transform is used on complex data, however, the results are different. Take the simple wave

$$e^{-\frac{2\pi\,j\,f\,k}{N}}=cos(\frac{2\pi\,f\,k}{N})-j \, sin(\frac{2\pi\,f\,k}{N})$$

The component H(n) of the discrete Fourier transform at n = f would be

$$H(n) = \sum_{n=0}^{N-1} (cos^2(\frac{2\pi\,n\,k}{N}) + \, sin^2(\frac{2\pi\,n\,k}{N}))$$ $$-j \, \sum_{n=0}^{N-1} (sin(\frac{2\pi\,n\,k}{N}) \, cos(\frac{2\pi\,n\,k}{N})+sin(\frac{2\pi\,n\,k}{N}) \, cos(\frac{2\pi\,n\,k}{N}))$$ $$=N$$

This result is twice larger than the result of the discrete Fourier transform of a real valued signal.

The discrete Fourier transform H(n) of a complex valued signal x(k) shows the amplitude of the nth simple wave component in the signal x(k)

$$A_n=\frac{|H(n)|}{N}=\frac{\sqrt{Re(H(n))^2+Im(H(n))^2}}{N}$$

and the phase of the nth simple wave component in x(k)

$$\Phi_n=arg(H(n))=atan2(Im(H(n)),Re(H(n)))$$

## The discrete Fourier transform and finite impulse response filters

A finite impulse response low pass filter is simply a signal composed of the simple waves with frequencies less than the cutoff frequency fc (see Low pass filter). We should be able to use the discrete Fourier transform to compute the frequency response (magnitude response and phase response) of the low pass filter. As above, we note that this low pass filter is real valued and hence we can dispose of half of the components. We also note that the low pass filter of length N in the Low pass filter topic is already scaled by 2 / N. Thus, we can compute the standard discrete Fourier transform over N points, but in order to compute the magnitude, we will not scale by 2 / N. The resulting computation for the magnitude response of the filter is

$$|H(n)|=\sqrt{(\sum_{n=0}^{N-1} a(k) \, sin(\frac{2\pi\,n\,k}{N}))^2+(\sum_{n=0}^{N-1} a(k) \, cos(\frac{2\pi\,n\,k}{N}))^2}$$

The fact that the discrete Fourier transform is computed with a small set of components – the length of the filter – means that the magnitude response would be sparse in the frequency domain, as shown on the following figure. Suppose that we take the sampling frequency of fs = 2000 Hz and we create a standard finite impulse response low pass filter with length N = 101 and cutoff frequency of fc = 40 Hz. The magnitude response of the filter in the figure below employs a transform of N = 101 points, which is the same as the length of the filter. The cutoff frequency is between components 2 and 3, which, given the sampling frequency of fs = 2000 Hz, translates to between 39.6 Hz and 59.4 Hz (sampling 101 times over 2000 Hz implies 19.8 Hz per component). Note that this figure is limited to component 50, or half of N.

With the discrete Fourier transform we can also compute the phase response of our low pass filter prototype. We note that the filter has coefficients that are symmetric around the middle, i.e., a(k) = a(N – 1 – K). Assume for a moment, that Re(H(n)) > 0. Then

$$\Phi_n=atan2(Im(H(n)),Re(H(n)))=atan(\frac{Im(H(n))}{Re(H(n))})$$ $$=atan(\frac{\sum_{n=0}^{N-1} a(k) \, sin(\frac{2\pi\,n\,k}{N})}{\sum_{n=0}^{N-1} a(k) \, cos(\frac{2\pi\,n\,k}{N})})$$

Since a(k) = a(N – 1 – k),

$$a(k) \, sin(\frac{2\pi\,k\,n}{N})+a(N-1-k) \, sin(\frac{2\pi\,(N-1-k)\,n}{N})$$ $$=2 \, a(k) \, sin(\frac{2\pi\,(N-1)\,n}{2N}) \, cos(\frac{2\pi\,(N-1-2k)\,n}{2N})$$ $$a(k) \, cos(\frac{2\pi\,k\,n}{N})+a(N-1-k) \, cos(\frac{2\pi\,(N-1-k)\,n}{N})$$ $$=2 \, a(k) \, cos(\frac{2\pi\,(N-1)\,n}{2N}) \, cos(\frac{2\pi\,(N-1-2k)\,n}{2N})$$

The phase response, assuming that the filter is of odd length, is as follows.

$$\Phi_n=atan(\frac{2 \, sin(\frac{2\pi\,n}{N} \frac{N-1}{2}) (1+\sum_{k=0}^{(N-1)/2} (a(k) cos(\frac{2\pi\,n}{N} \frac{N-1-2k}{2})) )}{2 \, cos(\frac{2\pi\,n}{N} \frac{N-1}{2}) (1+\sum_{k=0}^{(N-1)/2} (a(k) cos(\frac{2\pi\,n}{N} \frac{N-1-2k}{2})) )})$$

The "1 +" in the numerator and denominator handle the case when the filter is of odd length N. If the filter has even number of points N, the computations would be the same but without "1 +". Thus,

$$\Phi_n=atan(\frac{sin(\frac{2\pi\,n}{N} \frac{N-1}{2})}{cos(\frac{2\pi\,n}{N} \frac{N-1}{2}) })=\frac{2\pi\,n}{N} \frac{N-1}{2}$$

The phase response of a finite impulse response filter with coefficients that are symmetric around the middle is linear with respect to the frequency n and produces a delay of (N – 1) / 2 samples. These computations assume that Re(H(n)) > 0, but are similar in other cases.

## Using the inverse discrete Fourier transform

If the discrete Fourier transform produces the magnitude response of a filter, then we should be able to produce a filter by taking the inverse discrete Fourier transform from a desired magnitude response. The topic Low pass filter shows how to create a low pass filter by summing up the simple waves up to the cutoff frequency.

$$a(k)=\frac{2}{f_s} \sum_{n=1}^{f_c} cos(\frac{2\pi\,n\,k}{f_s}), \, k=0,1,...,f_s-1$$

where fc is the cutoff frequency and fs is the sampling frequency. This equation can also be written as

$$a(k)=2(\frac{1}{f_s} \sum_{n=1}^{f_s / 2} B_n \, cos(\frac{2\pi\,n\,k}{f_s})), \, B_n=\begin{cases} 1, n \le f_c \\ 0, n \gt f_c\end{cases}$$

where Bn is the desired magnitude response of the filter, equal to 1 up to the cutoff frequency fc and zero afterwards. The upper limit of the sum is fs / 2 as suggested by the Nyquist-Shannon sampling theorem.

This formula is very similar to the inverse discrete Fourier transform, except that it only takes the real part of the inverse discrete Fourier transform, hence only the cosines, is limited to half of the inverse transform, hence the sum goes up to only fs / 2, and is scaled by 2. Thus, this formula samples the frequency content and uses computations similar to the inverse discrete Fourier transform to create a filter. We are not limited to sampling only at fs, and we can sample at any evenly spaced N points. In other words, the low pass filter can be created by

$$a(k)=2(\frac{1}{N} \sum_{n=1}^{N / 2} B_n \, cos(\frac{2\pi\,n\,k}{N})), \, B_n=\begin{cases} 1, \frac{n\,f_s}{N} \le f_c \\ 0, \frac{n\,f_s}{N} \gt f_c\end{cases} , \, k=0,1,...,N-1$$

We note that cosine functions are symmetric around the origin and that the filter a(k) could similarly be symmetric around the origin, if we are after a linear phase response. We can then extend the sum and remove the scaling factor of 2 as follows.

$$a(k)=\frac{1}{N} \sum_{n=-N/2}^{N / 2} B_n \, cos(\frac{2\pi\,n\,k}{N}), \, B_n=\begin{cases} 1, |\frac{n\,f_s}{N}| \le f_c \\ 0, |\frac{n\,f_s}{N}| \gt f_c\end{cases}$$

Note the natural addition of n = 0 to the sum. Since Bn represents the desired filter magnitude response, the magnitude response should remain at 1 as the frequency approaches zero.

Finally, in an attempt to make the filter symmetric around (N – 1) / 2, we shift the filter as follows.

$$a(k)=\frac{1}{N} \sum_{n=-N/2}^{N / 2} B_n \, cos(\frac{2\pi\,n\,(k-\frac{N-1}{2})}{N}), \, B_n=\begin{cases} 1, |\frac{n\,f_s}{N}| \le f_c \\ 0, |\frac{n\,f_s}{N}| \gt f_c\end{cases}, \, k=0,1,...,N-1$$

This filter formula resembles the inverse discrete Fourier transform, but it is not the inverse discrete Fourier transform. We do not use the inverse discrete Fourier transform to produce a FIR filter. There are important differences between the inverse transform and the filter computation above. First, the formula above uses only the real part of the inverse discrete Fourier transform. Second, the formula above is shifted both in n, as the sum runs from –N / 2 to N / 2 and in k, as the sum uses k – (N – 1) / 2.

The formula above is the real portion of a generalized or shifted form of the inverse complex valued discrete Fourier transform, which is usually written as

$$x(k)=\frac{1}{N} \sum_{k=0}^{N-1} H(n) \, e^{\frac{2\pi\,j\,(k+\alpha)\,(n+\beta)}{N}}$$

Note that we could easily add the imaginary part of the inverse discrete Fourier transform above. Since sine functions are odd (i.e., sin(-x) = -sin(x)), the sum of the sine values for n = -N / 2, …, N / 2 would simply be zero. In other words, by designing a desired magnitude response Bn that is symmetric around the origin, we created an inverse transform and thus a filter that contains only real valued coefficients.

Using a desired magnitude response that includes negative frequencies may be troublesome, since negative frequencies do not mean much. The technique of using a symmetric magnitude response to produce a real valued filter is, however, common.

## Sampling of the continuous inverse Fourier transform

The continuous-time Fourier transform translates a signal x(t) that is a function of time for specific amplitudes, frequencies, and phase amounts into a signal H(x(t)) that is a function of frequencies and phase amounts for specific amplitudes and time. The inverse Fourier transform translates functions of frequencies and phase amounts into signals in time. An example of how the continuous inverse Fourier transform can be sampled to produce a low pass filter is shown in the topic Low pass filter.

## Relationships between the Fourier transform and other transforms

The discrete-time Fourier transform is a special case of the Z transform. It is the Z transform evaluated at z = e = ej 2πf.

The continuous Fourier transform is equivalent to evaluating the bilateral Laplace transform with s = j ω = j 2πf.

## Properties of the Fourier transform

The following are some of the more basic properties of the Fourier transform. Denote the Fourier transform of x(t) as in the definition above with Hs. Given integrable functions x(t) and y(t), complex numbers a and b, real numbers T and S, and the nonzero real number c

$$H(a\,x(t)+b\,y(t))=a\,H(x(t))+b\,H(y(t))$$ $$H(x(t-T))=e^{-j\,2\pi\,T\,s} H_s$$ $$H(e^{j\,2\pi\,t\,S}x(t)) = H_{s-S}$$ $$H(x(c\,t)) = \frac{1}{|c|} H_{s/c}$$ $$H(\overline{x(t)}) = \overline{H_{-s}}$$ $$H((x*y)(t)) = H(x(t)) \, H(y(t))$$

The first property is obviously the linearity of the Fourier transform. The second and third equations above are called the time shifting (or translation) properties. The fourth property shows scaling in the time domain. The fifth equation shows complex conjugation properties (this property explains the redundancy of the transform when used on real data). The last equation shows the transform of a convolution, which is useful when creating transfer functions of digital filters stacked one after the other.

## A note on the fast Fourier transform

Using the discrete Fourier transform is quite computationally intensive. Each discrete Fourier transform of length N requires N2 multiplications of complex numbers. The fact that the number of computations in the discrete Fourier transform is proportional to N2 labels the transform as an O(N2) algorithm.

An alternative is to use the fast Fourier transform, or FFT. The FFT is not a transform, but is rather an algorithm for faster discrete Fourier transform computations. There are a number of good programmatic implementations of the FFT readily available and hence we will not present one here. We only present the theoretical foundation of the FFT, which is quite simple.

The FFT relies on the following equation, known as the Danielson-Lanczos lemma. The discrete Fourier transform of N points HN(x(k)), can be written as follows

$$H(n) = \sum_{k=0}^{N-1} x(k) \, e^{-\frac{2\pi\,j\,k\,n}{N}}$$ $$=\sum_{k=0}^{\frac{N}{2}-1} x(2k) \, e^{-\frac{2\pi\,2\,k\,n}{N}} + \sum_{k=0}^{\frac{N}{2}-1} x(2k+1) \, e^{-\frac{2\pi\,n\,(2k+1)}{N}}$$ $$=\sum_{k=0}^{\frac{N}{2}-1} x(2k) \, e^{-\frac{2\pi\,k\,n}{N/2}} + e^{-\frac{2\pi\,n}{N}} \sum_{k=0}^{\frac{N}{2}-1} x(2k+1) \, e^{-\frac{2\pi\,k\,n}{N/2}}$$ $$=H_{N/2}^{even}(x(k))+ e^{-\frac{2\pi\,k\,n}{N/2}} H_{N/2}^{odd} (x(k))$$

In other words, the discrete Fourier transform of N points can be computed as the sum of two discrete Fourier transforms of N / 2 points, where the first transform traverses the even points of the original discrete Fourier transform and the second transform traverses the odd points of the original transform. The second transform – of odd points – must be multiplied by some constant.

If we can split the discrete Fourier transform in to two transforms of length N / 2, then we can also split these two new transforms into four transforms of length N / 4. In fact, if we select the easy case where N is a power of 2, we can continue splitting up the transform into smaller transforms until we have a number of transforms of length 1.

For a discrete Fourier transform of length N, the FFT would require N transforms of length one and N complex computations because of the constants that appear in front of the transforms of the odd points. The FFT, however, would also require log2(N) operations to perform the discrete Fourier transform split into smaller transforms. Thus, the number of operations in the FFT is proportional to N log2(N), which means that the FFT is an O(N log2(N)) algorithm. On large sets of data, the FFT would be much faster than the discrete Fourier transform. For example, the discrete Fourier transform and FFT are useful in audio pitch shifting. A three-minute audio track may require up to 8 billion computations to be pitch shifted with the discrete Fourier transform, but it would require only about 80 million computations to be pitch shifted with the FFT.

## Add new comment

### Filtered HTML

• Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
• Web page addresses and e-mail addresses turn into links automatically.
• Lines and paragraphs break automatically.

### Plain text

• No HTML tags allowed.
• Web page addresses and e-mail addresses turn into links automatically.
• Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.


text:
# Conjugate-join-closed subnormal implies join-transitively subnormal

This article gives the statement and possibly, proof, of an implication relation between two subgroup properties. That is, it states that every subgroup satisfying the first subgroup property (i.e., conjugate-join-closed subnormal subgroup) must also satisfy the second subgroup property (i.e., join-transitively subnormal subgroup)
View all subgroup property implications | View all subgroup property non-implications
Get more facts about conjugate-join-closed subnormal subgroup|Get more facts about join-transitively subnormal subgroup

## Statement

Suppose $H$ is a conjugate-join-closed subnormal subgroup of a group $G$: for any subset $S$ of $G$, the subgroup $H^S = \langle H^s \mid s \in S \rangle$ is a subnormal subgroup of $G$.

Then, $H$ is a join-transitively subnormal subgroup of $G$: for any subnormal subgroup $K$ of $G$, the join of subgroups $\langle H, K \rangle$ is also a subnormal subgroup of $G$.

## Facts used

1. Join of subnormal subgroups is subnormal iff their commutator is subnormal: Suppose $H, K \le G$ are subnormal subgroups. Then $[H,K]$ is subnormal if and only if $H^K$ is subnormal, if and only if $\langle H, K \rangle$ is subnormal.

## Proof

Given: A conjugate-join-closed subnormal subgroup $H$ of a group $G$, a subnormal subgroup $K$ of $G$.

To prove: $\langle H, K \rangle$ is subnormal.

Proof:

1. (Given data used: $H$ is conjugate-join-closed subnormal in $G$): Since $H$ is conjugate-join-closed subnormal in $G$, $H^K$ is subnormal in $G$.
2. (Given data used: $H, K$ are subnormal in $G$; Fact used: fact (1)): By fact (1), we get that $\langle H, K \rangle$ is subnormal in $G$.


text:
• ### Feasibility study of the time reversal symmetry tests in decays of metastable positronium atoms with the J-PET detector(1804.07148)

April 19, 2018 hep-ex, physics.ins-det
This article reports on the feasibility of testing of the symmetry under reversal in time in a purely leptonic system constituted by positronium atoms using the J-PET detector. The present state of T symmetry tests is discussed with an emphasis on the scarcely explored sector of leptonic systems. Two possible strategies of searching for manifestations of T violation in non-vanishing angular correlations of final state observables in the decays of metastable triplet states of positronium available with J-PET are proposed and discussed. Results of a pilot measurement with J-PET and assessment of its performance in reconstruction of three-photon decays are shown along with an analysis of its impact on the sensitivity of the detector for the determination of T -violation sensitive observables.
• ### Towards 2+1 photon tomography: Energy-based selection of two 511 keV photons and a prompt photon with the J-PET scanner(1803.00996)

The possibility to separate signals caused by 511 keV photons created in annihilation of electron-positron pairs and the so-called prompt photons from nuclei de- excitation is investigated. It could potentially be used to improve the quality of reconstructed images in the J-PET scanner in 2+1 photon tomography. Firstly, a research is conducted for several radioisotopes that decay via \b{eta}+ decay followed by de-excitation of an excited nucleus. Efficiency, purity and false positive rate are calculated for each isotope as a function of energy deposited threshold, with a hypothesis that signals caused by 511 keV photons deposit smaller values of energy than 1 z 13the selected threshold, while prompt photons deposit larger energy than the threshold. Analysis of the results accompanied with physical properties of radioisotopes suggests using 44 Sc, which is the most promising candidate for medical applications. With the use of GATE and J-POS simulation software, in-phantom scattering was introduced and the best energy deposited threshold value was estimated to be approximately 375 keV. It corresponds to almost 100% efficiency for 511 keV signals, 75% purity for 511 keV photons, and approximately 70% efficiency and purity for prompt photons.
• ### Time calibration of the J-PET detector(1710.05598)

Oct. 16, 2017 nucl-ex, physics.ins-det
The Jagiellonian Positron Emission Tomograph (J-PET) project carried out in the Institute of Physics of the Jagiellonian University is focused on construction and tests of the first prototype of PET scanner for medical diagnostic which allows for the simultaneous 3D imaging of the whole human body using organic scintillators. The J-PET prototype consists of 192 scintillator strips forming three cylindrical layers which are optimized for the detection of photons from the electron-positron annihilation with high time- and high angular-resolutions. In this article we present time calibration and synchronization of the whole J-PET detection system by irradiating each single detection module with a 22Na source and a small detector providing common reference time for synchronization of all the modules.
• ### Analysis procedure of the positronium lifetime spectra for the J-PET detector(1710.05611)

Oct. 16, 2017 nucl-ex, physics.ins-det
Positron Annihilation Lifetime Spectroscopy (PALS) has shown to be a powerful tool to study the nanostructures of porous materials. Positron Emissions Tomography (PET) are devices allowing imaging of metabolic processes e.g. in human bodies. A newly developed device, the J-PET (Jagiellonian PET), will allow PALS in addition to imaging, thus combining both analyses providing new methods for physics and medicine. In this contribution we present a computer program that is compatible with the J-PET software. We compare its performance with the standard program LT 9.0 by using PALS data from hexane measurements at different temperatures. Our program is based on an iterative procedure, and our fits prove that it performs as good as LT 9.0.
• ### Multichannel FPGA based MVT system for high precision time (20~ps~RMS) and charge measurement(1707.03565)

In this article it is presented an FPGA based $M$ulti-$V$oltage $T$hreshold (MVT) system which allows of sampling fast signals ($1-2$ ns rising and falling edge) in both voltage and time domain. It is possible to achieve a precision of time measurement of $20$ ps RMS and reconstruct charge of signals, using a simple approach, with deviation from real value smaller than 10$\%$. Utilization of the differential inputs of an FPGA chip as comparators together with an implementation of a TDC inside an FPGA allowed us to achieve a compact multi-channel system characterized by low power consumption and low production costs. This paper describes realization and functioning of the system comprising 192-channel TDC board and a four mezzanine cards which split incoming signals and discriminate them. The boards have been used to validate a newly developed Time-of-Flight Positron Emission Tomography system based on plastic scintillators. The achieved full system time resolution of $\sigma$(TOF) $\approx 68$ ps is by factor of two better with respect to the current TOF-PET systems.
• ### Calculation of time resolution of the J-PET tomograph using the Kernel Density Estimation(1706.00924)

In this paper we estimate the time resolution of the J-PET scanner built from plastic scintillators. We incorporate the method of signal processing using the Tikhonov regularization framework and the Kernel Density Estimation method. We obtain simple, closed-form analytical formulas for time resolutions. The proposed method is validated using signals registered by means of the single detection unit of the J-PET tomograph built out from 30 cm long plastic scintillator strip. It is shown that the experimental and theoretical results, obtained for the J-PET scanner equipped with vacuum tube photomultipliers, are consistent.
• ### Measurement of gamma quantum interaction point in plastic scintillator with WLS strips(1612.08571)

Dec. 27, 2016 physics.ins-det
We demonstrated the feasibility of measuring the axial coordinate of a gamma quantum interaction point in a plastic scintillator bar via the detection of scintillation photons escaping from the scintillator with an array of wavelength-shifting (WLS) strips. Using a test set-up comprising a BC-420 scintillator bar and an~array of sixteen BC-482A WLS strips we achieved a spatial resolution of~5\,mm~($\sigma$) for annihilation photons from a $^{22}$Na isotope. The studied method can be used to improve the spatial resolution of a plastic-scintillator-based PET scanner which is being developed by the J-PET collaboration.
• ### A feasibility study of ortho-positronium decays measurement with the J-PET scanner based on plastic scintillators(1607.08588)

Aug. 22, 2016 physics.ins-det
We present a study of the application of the Jagiellonian Positron Emission Tomograph (J-PET) for the registration of gamma quanta from decays of ortho-positronium (o-Ps). The J-PET is the first positron emission tomography scanner based on organic scintillators in contrast to all current PET scanners based on inorganic crystals. Monte Carlo simulations show that the J-PET as an axially symmetric and high acceptance scanner can be used as a multi-purpose detector well suited to pursue research including e.g. tests of discrete symmetries in decays of ortho-positronium in addition to the medical imaging. The gamma quanta originating from o-Ps decay interact in the plastic scintillators predominantly via the Compton effect, making the direct measurement of their energy impossible. Nevertheless, it is shown in this paper that the J-PET scanner will enable studies of the o-Ps$\to3\gamma$ decays with angular and energy resolution equal to $\sigma(\theta) \approx 0.4^{\circ}$ and $\sigma(E) \approx 4.1$ keV, respectively. An order of magnitude shorter decay time of signals from plastic scintillators with respect to the inorganic crystals results not only in better timing properties crucial for the reduction of physical and instrumental background, but also suppresses significantly the pileups, thus enabling compensation of the lower efficiency of the plastic scintillators by performing measurements with higher positron source activities.
• ### Time resolution of the plastic scintillator strips with matrix photomultiplier readout for J-PET tomograph(1602.02058)

Recent tests of a single module of the Jagiellonian Positron Emission Tomography system (J-PET) consisting of 30 cm long plastic scintillator strips have proven its applicability for the detection of annihilation quanta (0.511 MeV) with a coincidence resolving time (CRT) of 0.266 ns. The achieved resolution is almost by a factor of two better with respect to the current TOF-PET detectors and it can still be improved since, as it is shown in this article, the intrinsic limit of time resolution for the determination of time of the interaction of 0.511 MeV gamma quanta in plastic scintillators is much lower. As the major point of the article, a method allowing to record timestamps of several photons, at two ends of the scintillator strip, by means of matrix of silicon photomultipliers (SiPM) is introduced. As a result of simulations, conducted with the number of SiPM varying from 4 to 42, it is shown that the improvement of timing resolution saturates with the growing number of photomultipliers, and that the 2 x 5 configuration at two ends allowing to read twenty timestamps, constitutes an optimal solution. The conducted simulations accounted for the emission time distribution, photon transport and absorption inside the scintillator, as well as quantum efficiency and transit time spread of photosensors, and were checked based on the experimental results. Application of the 2 x 5 matrix of SiPM allows for achieving the coincidence resolving time in positron emission tomography of $\approx$ 0.170 ns for 15 cm axial field-of-view (AFOV) and $\approx$ 0.365 ns for 100 cm AFOV. The results open perspectives for construction of a cost-effective TOF-PET scanner with significantly better TOF resolution and larger AFOV with respect to the current TOF-PET modalities.
• ### Trilateration-based reconstruction of ortho-positronium decays into three photons with the J-PET detector(1602.07528)

Feb. 24, 2016 nucl-ex, physics.ins-det
This work reports on a new reconstruction algorithm allowing to reconstruct the decays of ortho-positronium atoms into three photons using the places and times of photons recorded in the detector. The method is based on trilateration and allows for a simultaneous reconstruction of both location and time of the decay. Results of resolution tests of the new reconstruction in the J-PET detector based on Monte Carlo simulations are presented, which yield a spatial resolution at the level of 2 cm (FWHM) for X and Y and at the level of 1 cm (FWHM) for Z available with the present resolution of J-PET after application of a kinematic fit. Prospects of employment of this method for studying angular correlations of photons in decays of polarized ortho-positronia for the needs of tests of CP and CPT discrete symmetries are also discussed. The new reconstruction method allows for discrimination of background from random three-photon coincidences as well as for application of a novel method for determination of the linear polarization of ortho-positronium atoms, which is also introduced in this work.
• ### Determination of the 3\gamma fraction from positron annihilation in mesoporous materials for symmetry violation experiment with J-PET scanner(1602.05376)

Feb. 17, 2016 nucl-ex, physics.ins-det
Various mesoporous materials were investigated to choose the best material for experiments requiring high yield of long-lived positronium. We found that the fraction of 3\gamma annihilation determined using \gamma-ray energy spectra and positron annihilation lifetime spectra (PAL) changed from 20% to 25%. The 3gamma fraction and o-Ps formation probability in the polymer XAD-4 is found to be the largest. Elemental analysis performed using scanning electron microscop (SEM) equipped with energy-dispersive X-ray spectroscop EDS show high purity of the investigated materials.
• ### Potential of the J-PET detector for studies of discrete symmetries in decays of positronium atom - a purely leptonic system(1602.05226)

Feb. 16, 2016 nucl-ex, physics.ins-det
The Jagiellonian Positron Emission Tomograph (J-PET) was constructed as a prototype of the cost-effective scanner for the simultaneous metabolic imaging of the whole human body. Being optimized for the detection of photons from the electron-positron annihilation with high time- and high angular-resolution, it constitutes a multi-purpose detector providing new opportunities for studying the decays of positronium atoms. Positronium is the lightest purely leptonic object decaying into photons. As an atom bound by a central potential it is a parity eigenstate, and as an atom built out of an electron and an anti-electron it is an eigenstate of the charge conjugation operator. Therefore, the positronium is a unique laboratory to study discrete symmetries whose precision is limited in principle by the effects due to the weak interactions expected at the level of (~10$^{-14}$) and photon-photon interactions expected at the level of (~10$^{-9}$). The J-PET detector enables to perform tests of discrete symmetries in the leptonic sector via the determination of the expectation values of the discrete-symmetries-odd operators, which may be constructed from the spin of ortho-positronium atom and the momenta and polarization vectors of photons originating from its annihilation. In this article we present the potential of the J-PET detector to test the C, CP, T and CPT symmetries in the decays of positronium atoms.
• ### Searches for discrete symmetries violation in ortho-positronium decay using the J-PET detector(1509.01114)

Sept. 3, 2015 hep-ex, physics.ins-det
In this paper we present prospects for using the J-PET detector to search for discrete symmetries violations in a purely leptonic system of the positronium atom. We discuss tests of CP and CPT symmetries by means of ortho-positronium decays into three photons. No zero expectation values for chosen correlations between ortho-positronium spin and momentum vectors of photons would imply the existence of physics phenomena beyond the Standard Model. Previous measurements resulted in violation amplitude parameters for CP and CPT symmetries consistent with zero, with an uncertainty of about 10-3. The J-PET detector allows to determine those values with better precision thanks to a unique time and angular esolution combined with a high geometrical acceptance. Achieving the aforementioned is possible due to application of polymer scintillators instead of crystals as detectors of annihilation quanta.
• ### Studies of unicellular micro-organisms Saccharomyces cerevisiae by means of Positron Annihilation Lifetime Spectroscopy(1509.00411)

Aug. 30, 2015 physics.ins-det, q-bio.OT
Results of Positron Annihilation Lifetime Spectroscopy (PALS) and microscopic studies on simple microorganisms: brewing yeasts are presented. Lifetime of ortho - positronium (o-Ps) were found to change from 2.4 to 2.9 ns (longer lived component) for lyophilised and aqueous yeasts, respectively. Also hygroscopicity of yeasts in time was examined, allowing to check how water - the main component of the cell - affects PALS parameters, thus lifetime of o-Ps were found to change from 1.2 to 1.4 ns (shorter lived component) for the dried yeasts. The time sufficient to hydrate the cells was found below 10 hours. In the presence of liquid water an indication of reorganization of yeast in the molecular scale was observed. Microscopic images of the lyophilised, dried and wet yeasts with best possible resolution were obtained using Inverted Microscopy (IM) and Environmental Scanning Electron Microscopy (ESEM) methods. As a result visible changes to the surface of the cell membrane were observed in ESEM images.
• ### Reconstruction of hit-time and hit-position of annihilation quanta in the J-PET detector using the Mahalanobis distance(1508.07463)

Aug. 29, 2015 nucl-ex, physics.ins-det
The J-PET detector being developed at Jagiellonian University, is a Positron Emission Tomograph composed of the long strips of polymer scintillators. At the same time it is a detector system which will be used for studies of the decays of positronium atoms. The shape of photomultiplier signals depends on the hit-time and hit-position of the gamma quantum. In order to take advantage of this fact a dedicated sampling front-end electronics which enables to sample signals in voltage domain with the time precision of about 20 ps and novel reconstruction method based on the comparison of examined signal with the model signals stored in the library has been developed. As a measure of the similarity we use the Mahalanobis distance. The achievable position and time-resolution depends on number and values of the threshold levels at which the signal is sampled. A reconstruction method, as well as preliminary results are presented and discussed.
• ### PALS investigations of free volumes thermal expansion of J-PET plastic scintillator synthesized in polystyrene matrix(1508.06820)

Aug. 27, 2015 nucl-ex, physics.ins-det
The polystyrene dopped with 2,5-diphenyloxazole as a primary fluor and 2-(4-styrylphenyl)benzoxazole as a wavelength shifter, prepared as a plastic scintillator was investigated using positronium probe in wide range of temperatures from 123 to 423 K. Three structural transitions at 260 K, 283 K and 370 K were found in the material. In the o-Ps intensity dependence on temperature, the significant hysteresis is observed. Heated to 370 K, the material exhibits the o-Ps intensity variations in time.
• ### Processing optimization with parallel computing for the J-PET tomography scanner(1508.02751)

The Jagiellonian-PET (J-PET) collaboration is developing a prototype TOF-PET detector based on long polymer scintillators. This novel approach exploits the excellent time properties of the plastic scintillators, which permit very precise time measurements. The very fast, FPGA-based front-end electronics and the data acquisition system, as well as, low- and high-level reconstruction algorithms were specially developed to be used with the J-PET scanner. The TOF-PET data processing and reconstruction are time and resource demanding operations, especially in case of a large acceptance detector, which works in triggerless data acquisition mode. In this article, we discuss the parallel computing methods applied to optimize the data processing for the J-PET detector. We begin with general concepts of parallel computing and then we discuss several applications of those techniques in the J-PET data processing.


text:
Skip navigation
Please use this identifier to cite or link to this item: http://arks.princeton.edu/ark:/88435/dsp01h989r633k
 Title: Strategies for Asymmetric Catalysis Utilizing Proton-Coupled Electron Transfer Authors: Roos, Casey Bard Advisors: Knowles, Robert R. Contributors: Chemistry Department Subjects: Organic chemistry Issue Date: 2021 Publisher: Princeton, NJ : Princeton University Abstract: Radicals are often considered high energy and fleeting intermediates. Controlling the reactivity of these species remains an outstanding challenge in catalysis. This thesis is centered around the use of proton-coupled electron transfer (PCET) as a strategy to control selectivity in both bond forming and breaking processes involving high energy radical intermediates. PCET is an elementary step that describes the homolysis of an E−H bond through the simultaneous movement of a proton and electron to a structurally distinct base and oxidant, respectively. This enables the activation of strong E–H bonds, such as alcohols and amides for which no sufficient single hydrogen atom transfer (HAT) catalyst exists. In the first part of this thesis, PCET is utilized to develop an enantioselective hydroamination of alkenes by sulfonamides. The enantioselectivity observed in this reaction is a result of a key post-PCET hydrogen bonding interaction between the generated amidyl radical and resulting chiral conjugate acid. Catalyst design, scope studies, and preliminary mechanistic results will be described herein. While the first section of this thesis is dedicated to the use of PCET-generated radicals for enantioselective bond formation, the latter half of this work describes the utility of these radicals for destroying stereochemistry towards the development of a dynamic kinetic resolution of remote stereocenters and small molecule deracemization. In the former, racemization of a remote stereocenter, a traditionally challenging process, is facilitated by the generation of an amidyl radical via PCET and subsequent 1,5-HAT to generate an achiral radical intermediate. Finally, preliminary results for a light-driven deracemization protocol are reported, utilizing a thiyl radical HAT catalyst to generate a captodatively stabilized radical which then undergoes reduction and enantioselective protonation. These projects illustrate the use of PCET to generate high energy species which can then be utilized to facilitate challenging bond breaking and bond forming processes. URI: http://arks.princeton.edu/ark:/88435/dsp01h989r633k Alternate format: The Mudd Manuscript Library retains one bound copy of each dissertation. Search for these copies in the library's main catalog: catalog.princeton.edu Type of Material: Academic dissertations (Ph.D.) Language: en Appears in Collections: Chemistry

Files in This Item:
This content is embargoed until 2022-09-30. For questions about theses and dissertations, please contact the Mudd Manuscript Library. For questions about research datasets, as well as other inquiries, please contact the DataSpace curators.

Items in Dataspace are protected by copyright, with all rights reserved, unless otherwise indicated.


text:
# cupyx.scipy.sparse.csc_matrix¶

class cupyx.scipy.sparse.csc_matrix(arg1, shape=None, dtype=None, copy=False)[source]

Compressed Sparse Column matrix.

Now it has only part of initializer formats:

csc_matrix(D)

D is a rank-2 cupy.ndarray.

csc_matrix(S)

S is another sparse matrix. It is equivalent to S.tocsc().

csc_matrix((M, N), [dtype])

It constructs an empty matrix whose shape is (M, N). Default dtype is float64.

csc_matrix((data, indices, indptr))

All data, indices and indptr are one-dimenaional cupy.ndarray.

Parameters
• arg1 – Arguments for the initializer.

• shape (tuple) – Shape of a matrix. Its length must be two.

• dtype – Data type. It must be an argument of numpy.dtype.

• copy (bool) – If True, copies of given arrays are always used.

Methods

__getitem__(key)[source]
__setitem__(key, x)[source]
__len__()[source]
__iter__()[source]
arcsin()[source]

Elementwise arcsin.

arcsinh()[source]

Elementwise arcsinh.

arctan()[source]

Elementwise arctan.

arctanh()[source]

Elementwise arctanh.

argmax(axis=None, out=None)[source]

Returns indices of maximum elements along an axis.

Implicit zero elements are taken into account. If there are several maximum values, the index of the first occurrence is returned. If NaN values occur in the matrix, the output defaults to a zero entry for the row/column in which the NaN occurs.

Parameters
• axis (int) – {-2, -1, 0, 1, None} (optional) Axis along which the argmax is computed. If None (default), index of the maximum element in the flatten data is returned.

• out (None) – (optional) This argument is in the signature solely for NumPy compatibility reasons. Do not pass in anything except for the default value, as this argument is not used.

Returns

Indices of maximum elements. If array,

its size along axis is 1.

Return type

(cupy.narray or int)

argmin(axis=None, out=None)[source]

Returns indices of minimum elements along an axis.

Implicit zero elements are taken into account. If there are several minimum values, the index of the first occurrence is returned. If NaN values occur in the matrix, the output defaults to a zero entry for the row/column in which the NaN occurs.

Parameters
• axis (int) – {-2, -1, 0, 1, None} (optional) Axis along which the argmin is computed. If None (default), index of the minimum element in the flatten data is returned.

• out (None) – (optional) This argument is in the signature solely for NumPy compatibility reasons. Do not pass in anything except for the default value, as this argument is not used.

Returns

Indices of minimum elements. If matrix,

its size along axis is 1.

Return type

(cupy.narray or int)

asformat(format)[source]

Return this matrix in a given sparse format.

Parameters

format (str or None) – Format you need.

asfptype()[source]

Upcasts matrix to a floating point format.

When the matrix has floating point type, the method returns itself. Otherwise it makes a copy with floating point type and the same format.

Returns

A matrix with float type.

Return type

cupyx.scipy.sparse.spmatrix

astype(t)[source]

Casts the array to given data type.

Parameters

dtype – Type specifier.

Returns

A copy of the array with a given type.

ceil()[source]

Elementwise ceil.

conj(copy=True)[source]

Element-wise complex conjugation.

If the matrix is of non-complex data type and copy is False, this method does nothing and the data is not copied.

Parameters

copy (bool) – If True, the result is guaranteed to not share data with self.

Returns

The element-wise complex conjugate.

Return type

cupyx.scipy.sparse.spmatrix

conjugate(copy=True)[source]

Element-wise complex conjugation.

If the matrix is of non-complex data type and copy is False, this method does nothing and the data is not copied.

Parameters

copy (bool) – If True, the result is guaranteed to not share data with self.

Returns

The element-wise complex conjugate.

Return type

cupyx.scipy.sparse.spmatrix

copy()[source]

Returns a copy of this matrix.

No data/indices will be shared between the returned value and current matrix.

count_nonzero()[source]

Returns number of non-zero entries.

Note

This method counts the actual number of non-zero entories, which does not include explicit zero entries. Instead nnz returns the number of entries including explicit zeros.

Returns

Number of non-zero entries.

deg2rad()[source]

diagonal(k=0)[source]

Returns the k-th diagonal of the matrix.

Parameters
• k (int, optional) – Which diagonal to get, corresponding to elements

• a[i – 0 (the main diagonal).

• Default (i+k]) – 0 (the main diagonal).

Returns

The k-th diagonal.

Return type

cupy.ndarray

dot(other)[source]

Ordinary dot product

eliminate_zeros()[source]

Removes zero entories in place.

expm1()[source]

Elementwise expm1.

floor()[source]

Elementwise floor.

get(stream=None)[source]

Returns a copy of the array on host memory.

Warning

You need to install SciPy to use this method.

Parameters

stream (cupy.cuda.Stream) – CUDA stream object. If it is given, the copy runs asynchronously. Otherwise, the copy is synchronous.

Returns

Copy of the array on host memory.

Return type

scipy.sparse.csc_matrix

getH()[source]
get_shape()[source]

Returns the shape of the matrix.

Returns

Shape of the matrix.

Return type

tuple

getcol(i)[source]

Returns a copy of column i of the matrix, as a (m x 1) CSC matrix (column vector).

Parameters

i (integer) – Column

Returns

Sparse matrix with single column

Return type

cupyx.scipy.sparse.csc_matrix

getformat()[source]
getmaxprint()[source]
getnnz(axis=None)[source]

Returns the number of stored values, including explicit zeros.

Parameters

axis – Not supported yet.

Returns

The number of stored values.

Return type

int

getrow(i)[source]

Returns a copy of row i of the matrix, as a (1 x n) CSR matrix (row vector).

Parameters

i (integer) – Row

Returns

Sparse matrix with single row

Return type

cupyx.scipy.sparse.csc_matrix

log1p()[source]

Elementwise log1p.

max(axis=None, out=None, *, explicit=False)[source]

Returns the maximum of the matrix or maximum along an axis.

Parameters
• axis (int) – {-2, -1, 0, 1, None} (optional) Axis along which the sum is computed. The default is to compute the maximum over all the matrix elements, returning a scalar (i.e. axis = None).

• out (None) – (optional) This argument is in the signature solely for NumPy compatibility reasons. Do not pass in anything except for the default value, as this argument is not used.

• explicit (bool) – Return the maximum value explicitly specified and ignore all implicit zero entries. If the dimension has no explicit values, a zero is then returned to indicate that it is the only implicit value. This parameter is experimental and may change in the future.

Returns

Maximum of a. If axis is

None, the result is a scalar value. If axis is given, the result is an array of dimension a.ndim - 1. This differs from numpy for computational efficiency.

Return type

min : The minimum value of a sparse matrix along a given axis.

numpy.matrix.max : NumPy’s implementation of max for matrices

maximum(other)[source]
mean(axis=None, dtype=None, out=None)[source]

Compute the arithmetic mean along the specified axis.

Parameters

axis (int or None) – Axis along which the sum is computed. If it is None, it computes the average of all the elements. Select from {None, 0, 1, -2, -1}.

Returns

Summed array.

Return type

cupy.ndarray

min(axis=None, out=None, *, explicit=False)[source]

Returns the minimum of the matrix or maximum along an axis.

Parameters
• axis (int) – {-2, -1, 0, 1, None} (optional) Axis along which the sum is computed. The default is to compute the minimum over all the matrix elements, returning a scalar (i.e. axis = None).

• out (None) – (optional) This argument is in the signature solely for NumPy compatibility reasons. Do not pass in anything except for the default value, as this argument is not used.

• explicit (bool) – Return the minimum value explicitly specified and ignore all implicit zero entries. If the dimension has no explicit values, a zero is then returned to indicate that it is the only implicit value. This parameter is experimental and may change in the future.

Returns

Minimum of a. If axis is

None, the result is a scalar value. If axis is given, the result is an array of dimension a.ndim - 1. This differs from numpy for computational efficiency.

Return type

max : The maximum value of a sparse matrix along a given axis.

numpy.matrix.min : NumPy’s implementation of ‘min’ for matrices

minimum(other)[source]
multiply(other)[source]

Point-wise multiplication by another matrix

power(n, dtype=None)[source]

Elementwise power function.

Parameters
• n – Exponent.

• dtype – Type specifier.

rad2deg()[source]

reshape(shape, order='C')[source]

Gives a new shape to a sparse matrix without changing its data.

rint()[source]

Elementwise rint.

set_shape(shape)[source]
sign()[source]

Elementwise sign.

sin()[source]

Elementwise sin.

sinh()[source]

Elementwise sinh.

sort_indices()[source]

Sorts the indices of this matrix in place.

Warning

Calling this function might synchronize the device.

sorted_indices()[source]

Return a copy of this matrix with sorted indices

Warning

Calling this function might synchronize the device.

sqrt()[source]

Elementwise sqrt.

sum(axis=None, dtype=None, out=None)[source]

Sums the matrix elements over a given axis.

Parameters
• axis (int or None) – Axis along which the sum is comuted. If it is None, it computes the sum of all the elements. Select from {None, 0, 1, -2, -1}.

• dtype – The type of returned matrix. If it is not specified, type of the array is used.

• out (cupy.ndarray) – Output matrix.

Returns

Summed array.

Return type

cupy.ndarray

sum_duplicates()[source]

Eliminate duplicate matrix entries by adding them together.

Note

This is an in place operation.

Warning

Calling this function might synchronize the device.

tan()[source]

Elementwise tan.

tanh()[source]

Elementwise tanh.

toarray(order=None, out=None)[source]

Returns a dense matrix representing the same value.

Parameters
• order ({'C', 'F', None}) – Whether to store data in C (row-major) order or F (column-major) order. Default is C-order.

• out – Not supported.

Returns

Dense array representing the same matrix.

Return type

cupy.ndarray

tobsr(blocksize=None, copy=False)[source]

Convert this matrix to Block Sparse Row format.

tocoo(copy=False)[source]

Converts the matrix to COOdinate format.

Parameters

copy (bool) – If False, it shares data arrays as much as possible.

Returns

Converted matrix.

Return type

cupyx.scipy.sparse.coo_matrix

tocsc(copy=None)[source]

Converts the matrix to Compressed Sparse Column format.

Parameters

copy (bool) – If False, the method returns itself. Otherwise it makes a copy of the matrix.

Returns

Converted matrix.

Return type

cupyx.scipy.sparse.csc_matrix

tocsr(copy=False)[source]

Converts the matrix to Compressed Sparse Row format.

Parameters

copy (bool) – If False, it shares data arrays as much as possible. Actually this option is ignored because all arrays in a matrix cannot be shared in csr to csc conversion.

Returns

Converted matrix.

Return type

cupyx.scipy.sparse.csr_matrix

todense(order=None, out=None)[source]

Return a dense matrix representation of this matrix.

todia(copy=False)[source]

Convert this matrix to sparse DIAgonal format.

todok(copy=False)[source]

Convert this matrix to Dictionary Of Keys format.

tolil(copy=False)[source]

Convert this matrix to LInked List format.

transpose(axes=None, copy=False)[source]

Returns a transpose matrix.

Parameters
• axes – This option is not supported.

• copy (bool) – If True, a returned matrix shares no data. Otherwise, it shared data arrays as much as possible.

Returns

Transpose matrix.

Return type

cupyx.scipy.sparse.spmatrix

trunc()[source]

Elementwise trunc.

__eq__(other)[source]

Return self==value.

__ne__(other)[source]

Return self!=value.

__lt__(other)[source]

Return self<value.

__le__(other)[source]

Return self<=value.

__gt__(other)[source]

Return self>value.

__ge__(other)[source]

Return self>=value.

__nonzero__()[source]
__bool__()[source]

Attributes

A

Dense ndarray representation of this matrix.

This property is equivalent to toarray() method.

H
T
device

CUDA device on which this array resides.

dtype

Data type of the matrix.

format = 'csc'
has_canonical_format

Determine whether the matrix has sorted indices and no duplicates.

Returns

bool: True if the above applies, otherwise False.

Note

has_canonical_format implies has_sorted_indices, so if the latter flag is False, so will the former be; if the former is found True, the latter flag is also set.

Warning

Getting this property might synchronize the device.

has_sorted_indices

Determine whether the matrix has sorted indices.

Returns
bool:

True if the indices of the matrix are in sorted order, otherwise False.

Warning

Getting this property might synchronize the device.

ndim
nnz
shape
size


text:
# Why do we not consider Thevenin Voltage source while dealing with Dependent sources in RLC circuits?

"If no controlling current or voltage associated with the dependent source is of interest, we may simply find the Thévenin equivalent connected to the inductor and capacitor."

This is what's written in Engineering Circuit Analysis- Hyatt, Kimberly.

After doing a question this way, I found it a little strange: We're finding the Thevenin Equivalent which includes an independent voltage(Thevenin) source and a Thevenin Resistance, and the total circuit consists of the capacitor and inductor as well. Since it includes an independent voltage source the total response should be the sum of the natural and the forced response, but we're not including the forced response in it. Why so?

• Reading your question it looks like you are referring to a specific schematic - can you include it? Mar 20, 2019 at 12:55
• The image you included talks about finding only the equivalent resistance, $R_{eq}$, not a Thevenin equivalent circuit or the Thevenin voltage source. Mar 20, 2019 at 15:52
• Exactly, why we're concerned about only the Thevenin Resistance and not the Thevenin Voltage, it's as if we're ignoring it without any reason. I'm asking why are we doing so? Mar 21, 2019 at 11:27

I believe what they are saying is the dependent source and the two resistors can be boiled down into an R-equivalent resistor (with the excitation source removed). This would be advantageous because one could then analyze the circuit as an RLC which simplifies the math.

So what they do is remove the L and the C and subsitute a current source, and then say "Hey, all these components are linear and function like a resistor"

If you go around the loop and find the equivalent to Vtest you get a resistor, this allows you to ignore

What they are trying to show is that for some circuits it is easier to simplify the circuit before trying to solve the circuit.

We are not concerned with the forced response of the circuit because there is no zero state response, the circuit has to be excited for there to be a response.

In addition 1A current through the loop helps you find Vtest for an initial condition, which will help you find Vc, because when the circuit starts up, the inductor is shorted.

• I understand that, what I'm asking is if I make the Thevenin Equivalent of the above circuit then it includes a Thevenin Independent source and a Thevenin Resistance, what you're suggesting(and perhaps the book suggests the same) is that you ignore the Thevenin Independent source, then even the Thevenin Circuit simplifies to only consisting of a Resistor, a Capacitor and an Inductor, and then simply find the natural response, but my doubt is how can we just neglect the Thevenin Independent Voltage source in the first place? Mar 21, 2019 at 11:25