text:
# Domain of a composite function

• B

## Summary:

Let say I have f(x) = ##-x^2 + 3 , x \leq 0##. I want to find the domain of composite function ##ff^{-1}## and ##f^{-1} f##
##f(x)=-x^2 + 3## so ##f^{-1} (x)=- \sqrt{3-x} ~, x \leq 3##

##ff^{-1} = - (- \sqrt{3-x})^2 + 3 = x## and the domain will be ##x \leq 3##

##f^{-1} f = - \sqrt{3-(-x^2+3)} = -x ## and the domain will be ##x \leq 0##

My question:
##ff^{-1} (x)## or ##f^{-1} f(x) ## is not always equal to ##x## and their domain can be different?

Thanks

Mark44
Mentor
Summary:: Let say I have f(x) = ##-x^2 + 3 , x \leq 0##. I want to find the domain of composite function ##ff^{-1}## and ##f^{-1} f##

##f(x)=-x^2 + 3## so ##f^{-1} (x)=- \sqrt{3-x} ~, x \leq 3##

##ff^{-1} = - (- \sqrt{3-x})^2 + 3 = x## and the domain will be ##x \leq 3##

##f^{-1} f = - \sqrt{3-(-x^2+3)} = -x ## and the domain will be ##x \leq 0##

My question:
##ff^{-1} (x)## or ##f^{-1} f(x) ## is not always equal to ##x## and their domain can be different?

Thanks
Here ##ff^{-1} (x)## and ##f^{-1} f(x) ## are equal (= x) on their common domain, which is ##x \le 0##. Outside that common domain, one or both of ##ff^{-1} (x)## and ##f^{-1} f(x) ## don't necessarily result in x.
For example, f(x) is defined at x = 1, but outside of the restricted domain of this problem.
##f^{-1}(f(1)) = f^{-1}(2) = -\sqrt{3 - 2} = -1 \ne 1##

songoku
Here ##ff^{-1} (x)## and ##f^{-1} f(x) ## are equal (= x) on their common domain, which is ##x \le 0##.
I try using ##x=-6## which in their common domain.

##ff^{-1} (-6) = f(-3) = -6##

##f^{-1}f (-6) = f^{-1}(-33) = -6##

But from my working in post#1, ##f^{-1} f = - \sqrt{3-(-x^2+3)} = -x \rightarrow f^{-1} f(x) = -x##
So, ##f^{-1} f(-6) = - (-6) = 6## which is clearly wrong but I do not understand why. Is ##f^{-1} f(x) = -x## correct?

Outside that common domain, one or both of ##ff^{-1} (x)## and ##f^{-1} f(x) ## don't necessarily result in x.
For example, f(x) is defined at x = 1, but outside of the restricted domain of this problem.
##f^{-1}(f(1)) = f^{-1}(2) = -\sqrt{3 - 2} = -1 \ne 1##
I thought the domain of ##f^{-1} f(x)## is ##x \le 0## so we can not put ##x=1## to ##f^{-1} f(x)## because it is outside the allowed domain?

Thanks

Mark44
Mentor
I try using ##x=-6## which in their common domain.

##ff^{-1} (-6) = f(-3) = -6##

##f^{-1}f (-6) = f^{-1}(-33) = -6##

But from my working in post#1, ##f^{-1} f = - \sqrt{3-(-x^2+3)} = -x \rightarrow f^{-1} f(x) = -x##
The above should be ##f^{-1}( f(x))##
songoku said:
So, ##f^{-1} f(-6) = - (-6) = 6## which is clearly wrong
No, the correct result is in the work near the top of this post; namely ##f^{-1}(f (-6)) = f^{-1}(-33) = -6##
songoku said:
but I do not understand why. Is ##f^{-1} f(x) = -x## correct?
No. Keep in mind that the domain of f is ##x \le 0##.
##f^{-1}( f(x)) = f^{-1}(-x^2 + 3) = -\sqrt{3 + x^2 - 3} = -\sqrt{x^2} = -|x|##
But since ##x \le 0##, then |x| = -x, so -|x| = x.
Hence ##f^{-1}( f(x)) = x, which is the right result for the composition of a function and its inverse.
songoku said:
I thought the domain of ##f^{-1} f(x)## is ##x \le 0## so we can not put ##x=1## to ##f^{-1} f(x)## because it is outside the allowed domain?
I mentioned in my previous post that x = 1 was not in the restricted domain of f, but we could still do the calculation of ##f^{-1}( f(x))##.
[/quote]The above

songoku
The above should be ##f^{-1}( f(x))##
You mean I should use bracket for "f(x)" part or maybe you have other purpose stating this part?

Hence ##f^{-1}( f(x)) = x##, which is the right result for the composition of a function and its inverse.
Actually I have note from teacher saying this exact thing: "the composition of a function and its inverse will always be equal to ##x##"

When I was practicing, I encounter problem on post#1 and I am confused why ##f(f^{-1}(x))## is ##x## but ##f^{-1}( f(x))## is ##-x##
You have explained that actually my working is wrong, both should be equal to ##x##

So the composition of a function and its inverse will always be equal to ##x##?

I mentioned in my previous post that x = 1 was not in the restricted domain of f, but we could still do the calculation of ##f^{-1}( f(x))##.
Oh, I thought we can only use value of ##x## in the restricted domain. Same as ##f(x)##, the domain is ##x \le 0## so I thought we can not put ##x > 0## into ##f(x)##

If I want to draw the graph of ##f(f^{-1}(x))##, should I just draw ##y=x## that extends from ##(-\infty , \infty)## or I draw ##y=x## that extends only from ##(-\infty , 3]## ?

Thanks

Mark44
Mentor
You mean I should use bracket for "f(x)" part or maybe you have other purpose stating this part?
Yes, because ##f^{-1]f## could be mistaken for the product rather than the composition of the two functions.
songoku said:
Actually I have note from teacher saying this exact thing: "the composition of a function and its inverse will always be equal to ##x##"

When I was practicing, I encounter problem on post#1 and I am confused why ##f(f^{-1}(x))## is ##x## but ##f^{-1}( f(x))## is ##-x##
You have explained that actually my working is wrong, both should be equal to ##x##

So the composition of a function and its inverse will always be equal to ##x##?
Yes, but only on their shared domain.
songoku said:
Oh, I thought we can only use value of ##x## in the restricted domain. Same as ##f(x)##, the domain is ##x \le 0## so I thought we can not put ##x > 0## into ##f(x)##

If I want to draw the graph of ##f(f^{-1}(x))##, should I just draw ##y=x## that extends from ##(-\infty , \infty)## or I draw ##y=x## that extends only from ##(-\infty , 3]## ?
For the functions of this problem, only the part of the line y = x that's in the third quadrant; i.e., for ##x \in (-\infty, 0]##.

songoku
For the functions of this problem, only the part of the line y = x that's in the third quadrant; i.e., for ##x \in (-\infty, 0]##.
Sorry I don't understand why it should be only the 3rd quadrant part

Is ##x \le 3## the correct domain for ##f(f^{-1}(x))## ?

Mark44
Mentor
Sorry I don't understand why it should be only the 3rd quadrant part

Is ##x \le 3## the correct domain for ##f(f^{-1}(x))## ?
For that composition, yes, but for ##f(f^{-1}(x))## to be equal to ##f^{-1}(f(x))##, we need the domain that both functions share: ##x \in (-\infty, 0]##. On that interval, the line y = x is in only the 3rd quadrant.

songoku
For that composition, yes, but for ##f(f^{-1}(x))## to be equal to ##f^{-1}(f(x))##, we need the domain that both functions share: ##x \in (-\infty, 0]##. On that interval, the line y = x is in only the 3rd quadrant.
So if I only want to draw graph of ##f(f^{-1}(x))##, I still have to take the domain of ##f^{-1}(f(x))## into consideration? I can not just consider only domain of ##f(f^{-1}(x))## eventhough that is the graph I want to draw?

Thanks

Mark44
Mentor
So if I only want to draw graph of ##f(f^{-1}(x))##, I still have to take the domain of ##f^{-1}(f(x))## into consideration?
No, that would be the line y = x, for ##x \in (-\infty, 3]##. For the graph of the other composition, ##y =(f^{-1}(f(x))##, that would be the same line, but for ##x \in (-\infty, 0]##.
What I said was for both compositions to be equal, we have to be using the common domain, ##x \in (-\infty, 0]##.

Last edited:
songoku
I suppose all the ##\infty## is typo, should be ##-\infty## instead.

Thank you very much for all the explanation Mark44

Last edited by a moderator:
Mark44
Mentor
I suppose all the ##\infty## is typo, should be ##-\infty## instead.

Thank you very much for all the explanation Mark44
Yes, I neglected to add the minus sign. I've edited my post to correct them.


text:
# Kempe chain

Alfred B. Kempe (http://www-history.mcs.st-andrews.ac.uk/Mathematicians/Kempe.htmlbio at St Andrews) first used these chains, now called after him, in 1879 in a “proof” of the four-color conjecture. Although Percy Heawood found a flaw in his proof 11 years later, the idea of Kempe chains itself is quite sound. Heawood used it to prove 5 colors suffice for maps on the plane, and the 1976 proof by Appel, Haken and Koch is also based on Kempe’s ideas.

The original Kempe chains were used in the context of colorings of countries on a map, or in modern terminology face colorings of a plane graph $G$ (such that no two adjacent faces receive the same color). The idea was extended by Heawood to embeddings of a graph in any other surface. Here

• a Kempe chain of colors $a$ and $b$ is a maximal connected set of faces that have either of those colors. as in: you can travel from any face in the set to any other, through the set. Maximal as in: there are no more faces of those colors you could enlarge the set with, i.e. that border the area you’ve already got.

In the modern dual formulation of the four-color theorem, faces of $G$ are replaced by vertices of the dual graph $G^{*}$ (and vice versa); vertices are adjacent (linked by an edge) in $G^{*}$ whenever the corresponding faces of $G$ were adjacent (sharing a border). It now becomes a vertex coloring problem (again, adjacent vertices must receive different colors). Here

• a Kempe chain of colors $a$ and $b$ is a maximal connected subgraph containing only vertices of those colors. Connected as usual in graph theory (there’s a path between any two vertices) and maximal as in: there are no more vertices of those colors you could enlarge the subgraph with, i.e. that are adjacent to a vertex you’ve already got.

An alternative formulation: let $G(a,b)$ be the subgraph induced by all the vertices of color $a$ or $b$ (that is, with all the edges that run between those vertices). Now any connected component $H(a,b)$ of $G(a,b)$ is a Kempe chain.

While faces imply an embedding in a surface, the vertex version of the definition does not rely on any embedding. The chains are more useful in the context of an embedding though.

## Kempe chains of edges

With of graphs (again, with different colors for adjacent edges i.e. those that meet at a vertex), an analogous concept can defined. Here

• a Kempe chain of colors $a$ and $b$ is a maximal connected subgraph where the edges have either of those colors. Connected and maximal as before.

An alternative formulation: let $G(a,b)$ be the subgraph consisting of all the edges of color $a$ or $b$ (with any vertices incident to them). Now any connected component $H(a,b)$ of $G(a,b)$ is a Kempe chain.

While superficially similar to the previous definition, these “Kempe chains” are rather different animals. Their structure is far simpler. At any vertex of $H(a,b)$, there can be at most one edge of color $a$ and one edge of color $b$ (at most two edges in all). Two things can happen:

• $\circ$

Every vertex in the chain has two such edges. In a finite graph, this must mean a closed path (cycle). Note that, being colored alternatingly, the number of edges must now be even.

• $\circ$

A vertex misses out on having an edge of one of those colors, and the chain stops there (it can’t miss out on both colors because then it wouldn’t be part of the chain). In a finite graph, the other end of the chain must now also terminate somewhere (at a vertex that misses out either one of the colors). The chain is an open path of one or more edges (its length can be even or odd).

## Kempe chain arguments

One technique that can be used with all these types of chains is

• swapping the colors in one $H(a,b)$. This is always possible: by definition, there are no adjacent items that could lead to a color clash.

Kempe slipped up when he swapped an $H(a,b)$ and an $H(a,c)$ without taking in account that swapping colors $a$ and $b$ in part of the graph could alter the shape and connectedness of any $H(a,c)$, but swapping colors in one Kempe chain at a time (and then taking stock of the lay of the land afresh) is quite safe.

Swapping can be used to free up a color somewhere, see the http://planetmath.org/node/6932proof of Vizing’s theorem for a repeated use of this ploy on edge-based Kempe chains.

Specific to the use in plane graphs we have that

• if a Kempe chain forms a cycle, it disconnects the sphere or plane area into disjoint parts (on the plane, inside and outside the cycle).

Specifically when four colors are used for faces:

• The whole area is divided into red/green swathes and yellow/blue ones. Alternatively, into red/yellow and green/blue ones. Or red/blue and yellow/green ones.

Specifically for edge-based Kempe chains in regular $\rho$-valent graphs, if we try to edge-color the graph with only $\rho$ colors:

• No vertex can miss out on any of the $\rho$ colors, so every $H(a,b)$ must be a cycle (of even length).

Title Kempe chain KempeChain 2013-05-16 21:17:19 2013-05-16 21:17:19 marijke (8873) unlord (1) 7 marijke (1) Definition msc 05C15 ColoringsOfPlaneGraphs ProofOfVizingsTheoremForGraphs

format: plain


text:
# Ticket #10133 (closed defect: fixed)

Opened 11 months ago

## menu item displayed as strange artifact when having no permission for it

Reported by: Assigned to: falkb rjollos normal MenusPlugin normal rjollos 0.12

### Description

Users without permission BROWSER_VIEW (and TIME_VIEW of TimingAndEstimationPlugin) actually should not see the appropriate menu items.

But they see this here:

I added rjollos because it seems he's the current maintainer.

## Change History

### (follow-up: ↓ 4 ) 07/04/12 11:05:32 changed by falkb

We found out the reason seems to be this setup in trac.ini:

[mainnav]
billing = enabled
browser = enabled

Now as I removed both entries for billing and browser, the problem disappeared.

It seems, the permissions are not checked correctly at rendering menu items...

### 10/10/12 01:16:11 changed by rjollos

• status changed from new to assigned.
• owner changed from cbalan to rjollos.

### 10/11/12 01:45:05 changed by rjollos

(In [12144]) Refs #10133: Renamed 0.11 directory to trunk.

### (in reply to: ↑ 1 ; follow-up: ↓ 8 ) 10/11/12 02:25:14 changed by rjollos

It seems, the permissions are not checked correctly at rendering menu items...

I can't think of how the permission could be checked in a straightforward way, since all you've done is defined an entry, but no path_info or other data to match it to a module. How does the MenusPlugin know, in a general way, that the browser entry in trac.ini is associated with the BrowserModule and the path /browser, and therefore should only be shown when the BROWSER_VIEW permission is present? Do you see a way?

However, I will commit a fix that prevents the display of entries that don't result in a valid link element.

### 10/11/12 02:26:11 changed by rjollos

• status changed from assigned to closed.
• resolution set to fixed.

(In [12145]) Fixes #10133: Don't show entries in the navigation bar if a label with a link element is not defined.

### 10/11/12 02:31:53 changed by rjollos

(In [12146]) Refs #10133: Removed unnecessary continue statements.

### 10/11/12 02:42:05 changed by rjollos

(In [12147]) Refs #10133: Added else case so that logic is the same as before [12145].

### (in reply to: ↑ 4 ) 10/11/12 08:37:39 changed by falkb

Do you see a way?

No, I don't

However, I will commit a fix

Thanks!

### 10/11/12 20:40:13 changed by rjollos

Let me know if you've had a chance to test it out. I'm hesitant to touch the plugin again without setting up unit tests to make sure I'm not introducing regressions.

### 10/12/12 09:13:42 changed by falkb

Tested with 0.12 and 1.0, it works well.

### Add/Change #10133 (menu item displayed as strange artifact when having no permission for it)

Change Properties


text:
# Matrix norms

1. Aug 4, 2003

### meemoe_uk

Duh, I cant calculate matrix norms using the formula....

||A|| = max || Ax || where || x || = 1

This is how I try to calculate them, what am I doing wrong?

e.g. Find norm 2 of A

A = 1 1
0 1

First find A's eigen system....
Solve characteristic polynomial....
( 1 - k ) ( 1 - k )
k = 1 - eigen value of A
Get eigen vector....
A - k I = 0
0 1 = 0
0 0 = 0

eigen vector = 1
0

As || Ax || is at a maximum when x is A's eigen vector, we can now calculate ||A||.
Ax = 1 1 * 1 = 1
= 0 1 0 = 0
Therefore
|| A || = || 1 || = 1
|| 0 ||

Bah. I can do it for norm 1 and infinity, but not any number inbetween. I'm not allowed to use that traspose matrix ,spectral radius formula. What's the secret??? Please help.

I cant seem to display a matrix nicely on my post either. sos

Last edited: Aug 4, 2003
2. Aug 4, 2003

### Hurkyl

Staff Emeritus
Hrm.

Are you sure you have the right matrix? Based on the correct answer, my guess is that it's supposed to be

Code (Text):

A = /0 1\
\1 1/

3. Aug 5, 2003

### meemoe_uk

Hi Hurkyl,
The matrix is the one from Burden - Faires Numerical Analysis 4th Edition Ex Set 7.2 Q 1 b)
If I use the spectral radius formula I get the right answer.

Here' another eg. Q 1 d)

A =
2 1 1
2 3 2
1 1 2

Solve characteristic polynomial
- k^3 + 7k^2 - 11k + 5
( k - 1 ) ^2 ( k - 5 )
k = 1 , 5

Get eigenvectors
For k = 1
A - kI = 0 =
1 1 1
2 2 2
1 1 1

solution space vectors =
1
-1
0

1
0
-1

For k = 5
A - kI = 0 =
-3 1 1
2 -2 2
1 1 -3

solution space vector =
1
2
1

|| Ax || is at maximum when x is eigen vector corisponding to largest eigen value so k=5 and
x =
1
2
1
/ Sqr 6 , to nomalize || x || = 1

Calculate Ax

2 1 1 * 1
2 3 2 * 2
1 1 2 * 1 / Sqr 6

=
5
10
5 / Sqr 6

Get Norm...
= Sqr ((25 + 100 + 25) / 6)
= Sqr ( 150 / 6 )


text:
# What is the easiest method to solve a regularized SVM with Lagrangian?

Consider the regularized SVM approach: $$$$g (\alpha) = \sum_{i=1}^{n} \alpha_i - \frac{1}{2}\sum_{i=1}^{n} \sum_{j=1}^{n} \alpha_i \alpha_j y_i y_j \langle \phi(x_i), \phi(x_j)\rangle_H$$$$ under the constraints $$0\leq \alpha_i \leq C$$ for $$i=1, \dots, n$$ and $$\sum_{i=1}^{n} \alpha_i y_i = 0$$, where $$\phi$$ is some feature-map into a Hilbert space $$H$$.

What is the easiest method to solve this? Is something like the SOM-Algorithm necessarily needed?

If one tries to solve this analytically (setting the gradient to zero and solving the system of n linear equations), it doesn't work because the parameter $$C$$ does not appear...


text:
Continue to Site

To design a very powerful long range fm transmitter

Status
Not open for further replies.

Mg Myo Ko

New Member
I am very interested in fm transmitter.But I have not enough knowledge to construct such a fm transmitter circuit on my own really .I have no chance to buy a fm transmitter from other countries around the world because my country has no "clear money exchange system " to take relationship with on-line stores.
I have constructed short range fm transmitters and I had successs on them
But I don't satisfy with their "range" .So I searched long range transmitter circuits on internet.But I can't find what I want so far.So Could someone help with this problem?.I want to design & construct a long range fm transmitter having the transmitting distance of up to five miles around .I would use that circuit to broadcast songs as an amateur .( My country has no "hard " limitations on transmitting ) I will use that transmitter at my "countryside".So who could give me a helpful hand with this my "big dream " crazy? .
Please.RFC coils are not allowed there in my circuit design because these RFC coils could not be bought any where in my country .
With . Thanks a million,
Mg Myo Ko

Last edited:

Papabravo

Well-Known Member
I am very interested in fm transmitter.But I have not enough knowledge to construct such a fm transmitter circuit on my own really .I have no chance to buy a fm transmitter from other countries around the world because my country has no "clear money exchange system " to take relationship with on-line stores.
I have constructed short range fm transmitters and I had successs on them
But I don't satisfy with their "range" .So I searched long range transmitter circuits on internet.But I can't find what I want so far.So Could someone help with this problem?.I want to design & construct a long range fm transmitter having the transmitting distance of up to five miles around .I would use that circuit to broadcast songs as an amateur .( My country has no "hard " limitations on transmitting ) I will use that transmitter at my "countryside".So who could give me a helpful hand with this my "big dream " crazy? .
Please.RFC coils are not allowed there in my circuit design because these RFC coils could not be bought any where in my country .
With . Thanks a million,
Mg Myo Ko
myokoko19@gmail.com

It is pretty hard to imagine an FM transmitter with a five mile range that does not use inductors. You might want to consider removing or disguising your email address in your post. The spambots will find it an pound your inbox relentlessly. What is your country by the way?

Last edited:

MikeMl

Well-Known Member
Simply put, you cannot build a high power transmitter without LC tuned circuits. Coils are easy to construct; Capacitors rated for high-frequency RF currents are a tougher problem, but could be fabricated using parallel-plates and air dielectics.

To get the range you want, you will need a transmitter capable of producing ~1 to 10W of RF output presumably at ~100mHz. To get that you will need a tube and a high voltage power supply.

Can you scrounge some old tube-type TV sets?

See if you can get access to an 1960's or 1970's "The Radio Amateur's Handbook". It has all the basic circuits, oscillator, FM modulator, RF power amplifier, Power Supplies, and antennas. The older books had a lot of tube circuits which might be easier to duplicate from parts from a TV set compared to newer books with use specialized IC and solid-state parts which you will have a hard time obtaining.

Last edited:

Well-Known Member
I want to design & construct a long range fm transmitter having the transmitting distance of up to five miles around .I would use that circuit to broadcast songs as an amateur .( My country has no "hard " limitations on transmitting ) I will use that transmitter at my "countryside".So who could give me a helpful hand with this my "big dream " crazy? .
Please.RFC coils are not allowed there in my circuit design because these RFC coils could not be bought any where in my country .

If you cannot buy any parts it is difficult to give advice on a design. If it were possible for you to get the Rohm BH1414 integrated circuit, this would be an excellent starting point for your transmitter. This IC does all the hard work of generating a good carrier with stereo modulation. Here is the data sheet:
https://www.electro-tech-online.com/custompdfs/2009/10/bh1414k.pdf
In America, this part costs about $5US. This IC will generate a very low level of power, so it will be necessary to add amplifiers to boost your power. It will probably be possible to find circuit schematics for simple amplifiers on the net, but again, you need to explain what parts you have access to. You will need to use many RF inductors in your circuit, but you can make these easily yourself with solid copper wire. EN0 Member I would go towards the ICs. You can theoretically have four stages for your FM transmitter. This may include the audio amp, the oscillator, the modulator, and the power amplifier. Many ICs have both the oscillator and the modulator built together. If you want that kind of distance, I would advise you to build a very effective antenna. You shouldn't be overly concerned about size constraints, you might not be able to achieve something very small. Especially with the antenna. ke5frf New Member In reality, the range of any radio transmitter isn't so much dependant on modulation type as much as frequency. There are optimal frequency bands between 160 meters and 6 meters which can transmit a great distance given ionospheric conditions and sunspots. FM is typically not used in lower frequency radio because of the bandwidth requirements and the available "real estate". In your case, it sounds like you want to use the accepted "commercial" frequencies for FM radio, for which recievers are commonplace. This would typically limit transmissions to Line-of-site and a measure beyond depending on terrain, amplifier power, and antenna height,construction. You would be amazed at how much you can do with very little power. I have QSL cards using CW (morse code) communication from clear around the world using less than 1 watt. A few suggestions that might "help", assuming you can construct a maximized transmitter... Antenna height. If you are in a mountainous area, that tiny transmitter might surprise you at elevation. If you are doing this for fun and not a permenant set-up, you may think of a portable radio station on a mountaintop. If you have the ability to weather-proof your equipment and have sufficient battery power, and a secret location, you might have fun doing it that way with an automated transmitter. ANTENNA. You mention 5-miles *around*, and this would be a typical omnidirectional vertical antenna, but a resonant wire dipole will give you bidirectional coverage...if you aim at population centers you will achieve some gain (which is a misnomer in a way, but in other words you concentrate the transmission and reduce loss) LOSS...important concept. Transmission lines intoduce loss with standing waves and resistance. The better your transmission line and all of your connections, and the shorter the line, the more use of your transmitting power that will not be wasted as heat. If you have the inclination, a YAGI style antenna (think outdoor tv antenna) has maximized gain in a single direction. The reflector dipole elements help focus transmitter power. Multi-element yagis further do this. It is the equivelant of mirrors and lenses in an optical system, only with radio waves. The antenna needs to be a full wavelength above ground, more if you can. Given a 10 meter antenna as an example, it will work optimally at 30+ feet above the ground. Also, some evidence shows transmitting across saltwater helps with gain, though I doubt this will apply in what you are doing. Some or none of this info might help you, but perhaps you did learn something new or someone else. Oh one more thing...polarization. (Most) Any antenna style can be polarized vertically or horizontally, and with short range transmitters (for which even 5 mile radius includes) it is important that the recieving station be polarized the same way, It has been a while since I played with my radios and built antennas, but 10-100 dB of loss occurs with cross-polarization. It might be educational and fun for you to refer to the radio amateur's antenna handbook and googling "radio antenna", "dipole", "yagi", etc to get construction ideas and formulas for your frequency specifics. Remember, a resonant antenna is by definition a function of radio frequency. A dipole is 1/2 wavelength, with 1/4 for each element to be efficient. There are off-center and multi-wavelength designs as well that give differing patterns for the transmission, but it is very hard to beat the standard 1/2 wave dipole. And for transmission line, if you have the ability to match the impedance of your transmitters amplifier properly, parallel ladder line is very good, low loss stuff and you can construct it yourself with copper wire and popcycle sticks. It is IMPERATIVE though, for the sake of your transmitter amplifer, that the impedance of your antenna is matched to the output impedance of the power transistor. Matching networks can be built, and that is, unfortunatley, where RLC circuits are neccessary. However, matching can be done with the dimensions of the ladderline as well, along with methods you can employ found all over the internet. Bad consideration is that many of these projects require at a minimum an SWR meter or an antenna analyzer to tune them to resonance. Last edited: ke5frf New Member I had another thought for an example of how YAGI antennas work. Think about antennas and radio waves in similar fashion to sound speakers and audio waves. First, speaker impedance has to match the output impedance of the amplifier circuit. Often this is done with an audio transformer. This is the practical equivalent of matching a resonant antenna to a transmitter. Now, much like antenna gain and efficiency can be maximized, so can a speaker. Audiophiles have special design techniques for the enclosure in which quality speakers are mounted. Speaker boxes are designed in such a way that back pressures produced by the flex and contraction of the speaker diaphragm (on the backside) are reflected and REINFORCE the forward emitting sound waves coming off the working side. Without an enclosure these reverse sound waves are OUT OF PHASE and create cancellation and thus attenuate the sound. WITH the enclosure, the reverse, reflected waves are put back in phase with the forward waves and the effect is apparent gain. In reality, there is no gain here but rather prevented loss through cancellation/attenuation. So, if you can imagine the Yagi antenna, with a reflector element as well as driven elements...the reflector achieves the same goal by reinforcing radio waves in a certain direction by reflecting them in phase with the desired forward or focused radiation. Again, in reality there is no "gain" from doing this, but loss is drastically reduced from radiated power in unwanted directions. If you thought to use a Yagi for your transmissions, you could overcome the limitations of a directional antenna by rotating it 360 degrees with an electric motor. To clarify, the rotation wouldn't be constant (transmission lines wouldn't hold up!!! haha), but could be changed at a whim within a limited range of motor rotation to prevent transmission lines from tangling and twisting. I hope my descriptions are adequate here for understanding. EN0 Member Quite a mouthful KE5FRF, I'm sure he'll appreciate all that information. I forgot about the the fact of limiting RF output power and antenna constraints. If he did use HF, his desired distance could be aggrandized and surpass what he originally expected. However, he seems to be implying about the standard FM radio bands for broadcasting and I'm not sure if 5 miles could be achievable under the FCC conditions they enforce. Well, I guess he'll just have to get his amateur radio license, eh? Then he could use one of those mini QRP CW HF transceivers and go across the world like you have. With 1W it seems hard to believe, but you must have been at the top of the sunspot cycle; hopefully we'll get more soon. Sunspots would improve his distance range too. ke5frf New Member Quite a mouthful KE5FRF, I'm sure he'll appreciate all that information. I forgot about the the fact of limiting RF output power and antenna constraints. If he did use HF, his desired distance could be aggrandized and surpass what he originally expected. However, he seems to be implying about the standard FM radio bands for broadcasting and I'm not sure if 5 miles could be achievable under the FCC conditions they enforce. Well, I guess he'll just have to get his amateur radio license, eh? Then he could use one of those mini QRP CW HF transceivers and go across the world like you have. With 1W it seems hard to believe, but you must have been at the top of the sunspot cycle; hopefully we'll get more soon. Sunspots would improve his distance range too. HA! Yes, I tend to elaborate more than neccessary sometimes, but I prefer to be thorough. I am not sure he has to worry about the FCC, sounds like he is in an Asian country where FCC has no jurisdiction. However, international treaty is what FCC rules are based upon so being careful is advised. We don't want to encourage rogue transmissions or frequency pirating. I would always encourage ANYONE to get an amateur's license, which most every country has allowances for. The most important point I was trying to make, however, is that the Antenna is by far the most important part of an efficient radio system. Interesting that you brought up the QRP radio. Yes, I have a homebrew QRP transmitter that puts out about 3 watts, but the output transistor gain can be adjusted to less than 1 watt. This is actually considered QRPp (small p indicates milliwatts) Now, I am a wire antenna enthusiast, and use a dipole hung from a tree. The 20 meter band is fabulous 365 days a year, every year...even during low sunspots. Sometimes there is a radio blackout where even that band is weak, but it is the HF operator's go-to band and great for QRP. My 20 meter antenna is no longer in service, but it was only about 20 feet in elevation, and I had to use a tuner to match it, which introduced heat loss. My antenna was terribly inefficient but worked. I am quite certain that less than a watt ever made it out the antenna!!! I was able to make impressive contacts on 20 and 40 meters with this antenna with the tuner, however. Mostly during CONTESTS, when big stations with high gain antennas caught my signal. (antenna gain works both ways TX/RX) So in reality, their stations were doing all the work haha. But it is FUN thinking my little night light-power radio could talk around the world! But I have a better story yet. Once I was taking a long trip in the car, and for giggles I hooked my HF tuner to my TWO METER (144 Mhz) whip antenna. I was able to tune 20 meters!!! I hooked up the little QRP rig and set up my Bengali CW key and keyer in the car. I was driving through Tennessee and made a CW contact in MAINE on 20 meters. He barely heard me with his loop antenna, but he got my callsign and greeting. I can only imagine how inefficient my setup was. maybe 100 mW getting out at most? And half of that straight up in the air! A car isn't much of a counterpoise. And none of this was at the peak of the cycle, in fact it was just about 3 years ago when the last cycle was waning!!! Electronics is a fun hobby, but amateur radio incorporates everything fun about it and more. I have faded out of the hobby since I remarried and had a new baby, but I plan on setting up an inconspicuos antenna in the attic or something and at least my QRP rig in a corner of the garage soon. I can't go long without using my code skills or I'll get so rusty. Mg Myo Ko New Member Thanks for your reply ! It is pretty hard to imagine an FM transmitter with a five mile range that does not use inductors. You might want to consider removing or disguising your email address in your post. The spambots will find it an pound your inbox relentlessly. What is your country by the way?[/QUOTE First of all,I want to say "thanks" Papabravo ,for your time.Most of them who reply my thread are considering that I don't want inductors included in my circuit .I don't really mean like that. What I do not really want is RFC component like VK200 tosk .Those are very rare in my country . Dear Papabravo, I really appreciate your words suggesting not to add my e-mail address in my threads .Thanks for that again! My country is Myanmar.Have you ever been to my country ,Myanmar, before,Papabravo?Looking forward your incomming suggestions for my circuit design with great hope!! Sincerely Mg Myo Ko Mg Myo Ko New Member Really Thanks! If you cannot buy any parts it is difficult to give advice on a design. If it were possible for you to get the Rohm BH1414 integrated circuit, this would be an excellent starting point for your transmitter. This IC does all the hard work of generating a good carrier with stereo modulation. Here is the data sheet: https://www.electro-tech-online.com/custompdfs/2009/10/bh1414k-1.pdf In America, this part costs about$5US.

This IC will generate a very low level of power, so it will be necessary to add amplifiers to boost your power. It will probably be possible to find circuit schematics for simple amplifiers on the net, but again, you need to explain what parts you have access to.

You will need to use many RF inductors in your circuit, but you can make these easily yourself with solid copper wire.

Dear RadioRon, Thanks for your datasheet.I'll download it and learn it.I could get most of the parts that required to design a amplifier circuit and I'll try them and post the results as threads .Keeping me with your help in my design! Thanks for lifetime,RadioRon.

Mg Myo Ko

New Member
Simply put, you cannot build a high power transmitter without LC tuned circuits. Coils are easy to construct; Capacitors rated for high-frequency RF currents are a tougher problem, but could be fabricated using parallel-plates and air dielectics.

To get the range you want, you will need a transmitter capable of producing ~1 to 10W of RF output presumably at ~100mHz. To get that you will need a tube and a high voltage power supply.

Can you scrounge some old tube-type TV sets?

See if you can get access to an 1960's or 1970's "The Radio Amateur's Handbook". It has all the basic circuits, oscillator, FM modulator, RF power amplifier, Power Supplies, and antennas. The older books had a lot of tube circuits which might be easier to duplicate from parts from a TV set compared to newer books with use specialized IC and solid-state parts which you will have a hard time obtaining.
I will try the book you suggest ,MikeMI. I have said that I have very little knowledge about circuit .Dear MikeMI the very first step of my design is to configure out a transmitter circuit with a output wattage as much as possible.I don't mean Inductors ,I really mean RFC coils ( so-called chokes) like this one VK200 tosk component They are very rare in my country,Myanmar .Dear MikeMI ,Can't I build a transmitters circuit using transistors and other radio components because tubes that you said are also scare and very complicate to handle ? Forwarding your warmly suggestions to my circuit design MileMI

Mg Myo Ko

New Member
Thanks million & millions!

In reality, the range of any radio transmitter isn't so much dependant on modulation type as much as frequency. There are optimal frequency bands between 160 meters and 6 meters which can transmit a great distance given ionospheric conditions and sunspots.

FM is typically not used in lower frequency radio because of the bandwidth requirements and the available "real estate".

In your case, it sounds like you want to use the accepted "commercial" frequencies for FM radio, for which recievers are commonplace. This would typically limit transmissions to Line-of-site and a measure beyond depending on terrain, amplifier power, and antenna height,construction. You would be amazed at how much you can do with very little power. I have QSL cards using CW (morse code) communication from clear around the world using less than 1 watt.

A few suggestions that might "help", assuming you can construct a maximized transmitter...

Antenna height. If you are in a mountainous area, that tiny transmitter might surprise you at elevation. If you are doing this for fun and not a permenant set-up, you may think of a portable radio station on a mountaintop. If you have the ability to weather-proof your equipment and have sufficient battery power, and a secret location, you might have fun doing it that way with an automated transmitter.

ANTENNA. You mention 5-miles *around*, and this would be a typical omnidirectional vertical antenna, but a resonant wire dipole will give you bidirectional coverage...if you aim at population centers you will achieve some gain (which is a misnomer in a way, but in other words you concentrate the transmission and reduce loss)

LOSS...important concept. Transmission lines intoduce loss with standing waves and resistance. The better your transmission line and all of your connections, and the shorter the line, the more use of your transmitting power that will not be wasted as heat.

If you have the inclination, a YAGI style antenna (think outdoor tv antenna) has maximized gain in a single direction. The reflector dipole elements help focus transmitter power. Multi-element yagis further do this. It is the equivelant of mirrors and lenses in an optical system, only with radio waves.

The antenna needs to be a full wavelength above ground, more if you can. Given a 10 meter antenna as an example, it will work optimally at 30+ feet above the ground.

Also, some evidence shows transmitting across saltwater helps with gain, though I doubt this will apply in what you are doing.

Some or none of this info might help you, but perhaps you did learn something new or someone else.

Oh one more thing...polarization. (Most) Any antenna style can be polarized vertically or horizontally, and with short range transmitters (for which even 5 mile radius includes) it is important that the recieving station be polarized the same way, It has been a while since I played with my radios and built antennas, but 10-100 dB of loss occurs with cross-polarization.

It might be educational and fun for you to refer to the radio amateur's antenna handbook and googling "radio antenna", "dipole", "yagi", etc to get construction ideas and formulas for your frequency specifics.

Remember, a resonant antenna is by definition a function of radio frequency. A dipole is 1/2 wavelength, with 1/4 for each element to be efficient. There are off-center and multi-wavelength designs as well that give differing patterns for the transmission, but it is very hard to beat the standard 1/2 wave dipole.

And for transmission line, if you have the ability to match the impedance of your transmitters amplifier properly, parallel ladder line is very good, low loss stuff and you can construct it yourself with copper wire and popcycle sticks.

It is IMPERATIVE though, for the sake of your transmitter amplifer, that the impedance of your antenna is matched to the output impedance of the power transistor. Matching networks can be built, and that is, unfortunatley, where RLC circuits are neccessary.

However, matching can be done with the dimensions of the ladderline as well, along with methods you can employ found all over the internet.

Bad consideration is that many of these projects require at a minimum an SWR meter or an antenna analyzer to tune them to resonance.

Thanks is more than millions for your appreciable information .Dear ke5frf ,the first step to my circuit design is to consider an oscillatory circuit whose frequency is somewhere between 88-108MHz (commercial band ) and with a output wattage as much as possible .This circuit can contain RF components such as inductors ,transistors , capacitors and so on. What I don't want is only RFC chokes (like VK200 tosk component) .The most matters is that I don't have enough knowledge to design an oscillatory circuit with stable conditions and that is the very reason that I ask for anybody 'help in this forum , After I have had a transmitter ,the antenna is in vital role and this section will cover all your discriptions you mentioned .So looking forward your valuable advice warmly and thanks again for your time really .

Status
Not open for further replies.

Replies
17
Views
1K
Replies
5
Views
1K
Replies
1
Views
2K
Replies
43
Views
4K
Replies
3
Views
2K


text:
Can Vectors with an angle 180(degrees+) have a negative magnitude?

by SaltyBriefs
Tags: components, homework, signs, trigonometry, vectors
 P: 10 1. The problem statement, all variables and given/known data Can vectors with 180+(degrees) have a negative magnitude? I'm trying to find components of a vector that is going 260 km, 48 (degrees) south of east. So I'm confused whether the 260 is positive or not because of the -48 degrees. 2. Relevant equations ($\vec{V}$) (sin$\theta$) ($\vec{V}$) (cos$\theta$) 3. The attempt at a solution (-260km)(sin(48)) or (260km)(sin(48)) =$\vec{V}$$_{y}$ (-260km)(cos(48)) or (260km)(cos(48)) =$\vec{V}$$_{x}$ Which one??
 P: 140 sin(x) = -sin(-x) cos(x) = cos(-x) Hope that helps. Just use the convention that counterclockwise is postive and clockwise is negative in terms of measuring an angle.
P: 10
 Quote by WatermelonPig sin(x) = -sin(-x) cos(x) = cos(-x) Hope that helps. Just use the convention that counterclockwise is postive and clockwise is negative in terms of measuring an angle.
Thank you this helped so much! But um just a quick question, why is sin negative? O.o

P: 10
Can Vectors with an angle 180(degrees+) have a negative magnitude?

 Quote by SaltyBriefs Thank you this helped so much! But um just a quick question, why is sin negative? O.o
Oh wait is this from cos, sin
and since it is in the 4th quadrant, y is negative (sin) and x is positive (cos)

 Related Discussions Introductory Physics Homework 12 Introductory Physics Homework 3 Introductory Physics Homework 1 Engineering, Comp Sci, & Technology Homework 7 Introductory Physics Homework 1


text:
# Tag Info

11

Here goes an answer: \documentclass{amsart} \begin{document} \begin{align*} &CoJPoD_{ \{I_1, \dots, I_{k-1}, I_{k+1}, \dots, I_{n}\} \mid I_{k} } \\ &= CoJPoD_{ \{\mathrm{system} \backslash I_{k}\} \mid I_k} \\ &= P\bigl( X_1 \ge X_d^{I_1}, \dots, X_{k-1} \ge X_d^{I_{k-1}}, X_{k+1} \ge X_d^{I_{k+1}}, \dots, X_n \ge X_d^{I_n} \mid X_k \ge ...

11

I think you are after aligned: \documentclass{article} \usepackage{amsmath} \DeclareMathOperator{\Div}{div} \DeclareMathOperator{\Rot}{rot} \newcommand{\parder}[2]{\frac{\partial {#1}}{\partial {#2}}} \begin{document} \begin{align} \label{18.1:1} \begin{aligned} \Rot\vec{E} &=-\frac{1}{c}\parder{\vec{B}}{t},& \Div\vec{B} &=0, ...

10

5

you can treat the alignment as an array, and use \hdotsfor (defined by amsmath): \documentclass{article} \usepackage{amsmath} \begin{document} \begingroup \setlength{\arraycolsep}{0pt} \begin{equation*} \begin{array}{rl} a_0\varphi_0(x_0)+a_1\varphi_1(x_0)+\ldots+a_n\varphi_n(x_0)&{}=f_0\\ ...

4

aligned starts with a thinspace, so you need to compensate with a negative thin space \! as well as adding appropriate alignment points: \documentclass{article} \usepackage[fleqn]{amsmath} \begin{document} \setlength{\parindent}{0pt} Some text \begin{split} &a^2+\lambda_\phi=\phi\\ &\!\begin{aligned} ...

Only top voted, non community-wiki answers of a minimum length are eligible


text:
# How do you graph the function y=x?

Apr 10, 2017

$2 = 2$ which is the same as $2 = 1 + 1$
So, what ever value you assign to $x$ then $y$ takes on the same value.


text:
# Changes between Version 4 and Version 5 of IntroGrid

Ignore:
Timestamp:
05/02/12 09:34:17 (8 years ago)
Comment:

--

### Legend:

Unmodified
 v4 ==== How are the jobs organized and chosen?   ==== As we all know the error in an event sample with N events scales like sqrt(N). Hence, also in the generation of events there is no need to go beyond this precision. So, when generating a small number of events, many channels that have only a small contribution to the total cross section can be ignored. This is what the running the gridpack does: Because you are only generating a very small number of events with a given gridpack, the error is large and many subprocesses can be ignored. As we all know the error in an event sample with N events scales like $\sqrt(N)$. Hence, also in the generation of events there is no need to go beyond this precision. So, when generating a small number of events, many channels that have only a small contribution to the total cross section can be ignored. This is what the running the gridpack does: Because you are only generating a very small number of events with a given gridpack, the error is large and many subprocesses can be ignored. However, we cannot simply ignore all the smallest subprocesses and only evaluate the largest ones: we want to combine the events from many gridpack jobs to one big event file. The relative error in this event file should be much smaller, and therefore also events from subprocesses that have only a small contribution should be evaluated. To overcome this problem the contributions from each of the subprocesses is calculated with high precision in the creation of the gridpack. Then the gridpack jobs ''randomly include subprocesses based on their relative contributions'' to the total cross section. Because we know the relative error for a given number of events for a single job, we can put a minimum to the events generated from one subprocess. We call this minimum number the "granularity". By default we set the granularity to the square root of the number of events. Therefore the minimum number of events generated from each subprocess is sqrt(N) and, hence the maximum number of subprocesses calculated per gridpack job is N/sqrt(N). Setting the granularity to the square root of the number of events makes sure that the smallest number of subprocesses needs to be calculated, but keeping the events calculated by a single gridpack job correct in the sense that they are distributed correctly over all the subprocesses and phase space within the expected uncertainty. Because we know the relative error for a given number of events for a single job, we can put a minimum to the events generated from one subprocess. We call this minimum number the "granularity". By default we set the granularity to the square root of the number of events. Therefore the minimum number of events generated from each subprocess is $\sqrt(N)$ and, hence the maximum number of subprocesses calculated per gridpack job is $\frac{N}{\sqrt(N)}$. Setting the granularity to the square root of the number of events makes sure that the smallest number of subprocesses needs to be calculated, but keeping the events calculated by a single gridpack job correct in the sense that they are distributed correctly over all the subprocesses and phase space within the expected uncertainty. ====== An example ====== Suppose you want to generate 1 million events. With the gridpack you could choose to do 200 runs in which each run generates N=5000 events. (Remember to use a different random number seed for each run). Each of the event samples returned by a single gridpack run has a physically distributed set of events, i.e. with an expected error of sqrt(5000)=71. So the granularity can safely be set to the same number as giving it a lower value does not improve the error. Because the error is relatively large, there might be many important subprocesses that are not evaluated, but because the channels are chosen randomly, each gridpack run evaluates a different set of channels such that the total error on the 1 million events is only sqrt(10^6)=1000. Suppose you want to generate 1 million events. With the gridpack you could choose to do 200 runs in which each run generates N=5000 events. (Remember to use a different random number seed for each run). Each of the event samples returned by a single gridpack run has a physically distributed set of events, i.e. with an expected error of $\sqrt(5000)=71$. So the granularity can safely be set to the same number as giving it a lower value does not improve the error. Because the error is relatively large, there might be many important subprocesses that are not evaluated, but because the channels are chosen randomly, each gridpack run evaluates a different set of channels such that the total error on the 1 million events is only $\sqrt(10^6)=1000$. In specific cases the granularity could be increased, ''e.g.'', if you know beforehand that you will produce a lot of events. In this example, where the total number of events will be a million, the uncertainty will be $\sqrt{10^6}=1000$. Hence the granularity could have been set to 1000 as this will generate at least 1000 events for each channel. Hence you'll never be off by more than 1000 events. (The value for the granularity can be set by passing it as the 3rd argument when executing the {{{./run.sh}}} script). However, this should be used with great care, because in the case where not all the gridpack jobs can be retrieved, or if only a subset of the total number of events is analyzed, you are making an error. It is therefore '''highly recommended to not touch the default value for the granularity''' at leave the 3rd argument of the =./run.sh= script empty. ==== Difference between normal cluster running / gridpack running. ==== For the generation of events in normal cluster running all the possible contributions to a given processes are chopped into small parts and send as jobs simultaneously to a computer cluster. All these little jobs execute a part of the total contribution and generate events for this small part. Only after ''all'' the jobs (and their generated events) are retrieved and combined the final event sample is created. On the other hand, the gridpack should be executed on a single machine. In principle it will run all the little jobs described above in serial, except that the requested number of events is in general much smaller. Therefore only a small subset of this large number of jobs needs to be executed, chosen in such a way to have an unbiased sample. The number of subprocess evaluated is controlled by the granularity setting, see above. As the number of events per job is small and the error on an event sample scales like sqrt(N), where N is the number of events, a great optimization procedure can be included here. The major difference between normal cluster run and the gridpack running is therefore: For the generation of events in normal cluster running all the possible contributions to a given processes are chopped into small parts and send as jobs simultaneously to a computer cluster. All these little jobs execute a part of the total contribution and generate events for this small part. Only after ''all'' the jobs (and their generated events) are retrieved and combined the final event sample is created. On the other hand, the gridpack should be executed on a single machine. In principle it will run all the little jobs described above in serial, except that the requested number of events is in general much smaller. Therefore only a small subset of this large number of jobs needs to be executed, chosen in such a way to have an unbiased sample. The number of subprocess evaluated is controlled by the granularity setting, see above. As the number of events per job is small and the error on an event sample scales like $\sqrt(N)$, where N is the number of events, a great optimization procedure can be included here. The major difference between normal cluster run and the gridpack running is therefore: '''While for the a normal madgraph run events from all the subprocesses are included in the final event sample, for a gridpack run only a subset of the subprocesses are evaluated. This subset is randomly chosen according to their weight to the total cross section, keeping in mind that the error in N produced events scales like sqrt(N).''' '''While for the a normal madgraph run events from all the subprocesses are included in the final event sample, for a gridpack run only a subset of the subprocesses are evaluated. This subset is randomly chosen according to their weight to the total cross section, keeping in mind that the error in N produced events scales like $\sqrt(N)$.'''


text:
# TWO PHOTON SPECTROSCOPY OF DISSOCIATIVE STATES.

Please use this identifier to cite or link to this item: http://hdl.handle.net/1811/15652

Files Size Format View
1969-B-10.jpg 227.3Kb JPEG image

 Title: TWO PHOTON SPECTROSCOPY OF DISSOCIATIVE STATES. Creators: Sander, Robert K.; Oldman, Richard J.; Mahoney, Richard T.; Wilson, Kent R. Issue Date: 1969 Publisher: Ohio State University Abstract: Using a technique we have developed. Photodissociation Recoil Spectroscopy, in isolated molecules we have been able to observe electronic transitions which involve two photons and lead to dissociative states. We cross a molecular beam of the parent molecules with an intense pulse of polarized laser light and observe the distribution of the recoiling photodissociation fragments as a function both of angle (measured with respect to the electric vector of the light) and of translational energy (measured by flight time to a mass-spectrometer detector). We have illuminated $Br_{2}$ and $I_{2}$ with second harmonic neodymium laser light $(\sim 18,830 cm^{-1})$ which for both $Br_{2}$ and $I_{2}$ falls in the one photon discrete region of $^{3}\Pi_{o_{u}^{+}} \leftarrow ^{1}\Sigma_{o_{g}^{+}}$ (although other $u \leftarrow g$ transitions are also probably present). For $I_{2}$, a one photon peak due to ground state $^{2}P_{3/2}$ atoms from predissociation and from direct excitation of an underlying continua is found, and at high photon fluxes a peak at larger translational energy appears which matches the energy for a two photon process yielding two excited $^{2}P_{1/2}$ atoms. There is only one g state correlating with two $^{2}P_{1/2}$ atoms, a $^{1}\Sigma_{o_{g}^{+}}$, and its predicted energy makes it accessible to our observation. In the experiments with $Br_{2}$, we observe a peak in the energy distribution corresponding to the absorption of two photons, although the state of the atoms produced is not yet certain. As with IR (one photon) and Raman (two photon) spectroscopy, the one photon ($u \leftarrow g$ and $g \leftarrow u$) and two photon ($g\leftarrow g$ and $u \leftarrow u$) electric dipole transitions of molecules with inversion symmetry from mutually exclusive sets. Thus two photon spectroscopy offers a means to observe otherwise forbidden transitions. We are currently studying the angular distributions of the two photon processes to determine both the symmetries of the states involved and whether the processes are resonant or non-resonant. Description: Author Institution: Department of Chemistry, University of California URI: http://hdl.handle.net/1811/15652 Other Identifiers: 1969-B-10


text:
# how cosh(ln(4+sqr(17)) becomes asqrt(17)

• June 18th 2009, 10:29 AM
thomas49th
how cosh(ln(4+sqr(17)) becomes asqrt(17)
Hi, at a point Q, x = (4+sqrt(17)

x can also be written arsinh(4)

but I don't know if that helps.

I'm stumped :\
Thanks :)
• June 18th 2009, 10:53 AM
Sampras
$\text{cosh} \ x = \frac{e^{x}+e^{-x}}{2}$. And $\text{sinh}^{-1} \ x = \log(x+ \sqrt{x^2+1})$.
• June 18th 2009, 10:56 AM
running-gag
Hi

$\cosh(\ln(4+\sqrt{17})) = \frac{e^{\ln(4+\sqrt{17})}+e^{-\ln(4+\sqrt{17})}}{2}$

$\cosh(\ln(4+\sqrt{17})) = \frac{4+\sqrt{17}+\frac{1}{4+\sqrt{17}}}{2}$

$\cosh(\ln(4+\sqrt{17})) = \frac{17+4\sqrt{17}}{4+\sqrt{17}}$

$\cosh(\ln(4+\sqrt{17})) = \frac{17+4\sqrt{17}}{4+\sqrt{17}}\:\frac{\sqrt{17}-4}{\sqrt{17}-4}$

$\cosh(\ln(4+\sqrt{17})) = (17+4\sqrt{17})(\sqrt{17}-4) = \sqrt{17}$
• June 18th 2009, 10:59 AM
thomas49th
thank you both very much. it's easy peasy :)


text:
# Determine the generator of an ideal of ring of integers

I am trying to find the generators of the ideal $$(3)$$ in the ring of integers of $$\mathbb{Q}[\sqrt{-83}]$$ the ring of integers is $$\mathbb{Z}\left[\frac{1+\sqrt{-83}}{2}\right]$$ I evaluated the Minkowski constant and it is $$2/\pi \sqrt{83} \sim 5.8;$$ then I checked the minimal polynomial of $$x^2-x+84/2,$$ which is reducible module $$3,$$ hence the ideal $$(3)$$ is generated by two elements, right? Did I miss something? I want to say the ring of integers is not a UFD.

You seem to have touched upon several different ideas here.

Generators of the ideal $$(3)$$. Usually, when you talk about the generators of $$(3)$$, you mean its generators as an abelian group.

Define $$\theta := \tfrac 1 2 (1 + \sqrt{-83})$$. We know that the ring of integers $$\mathbb Z[\theta]$$ is generated by $$\{1, \theta \}$$ as an abelian group, so $$(3)$$ is generated by $$\{3, 3\theta \}$$ as an abelian group.

But having read the remainder of your question, it looks like this is not what you're after! What you're really interested in are the generators of the ideal class group for $$\mathbb Z[\theta]$$. (In fact, to prove that $$\mathbb Z [\theta]$$ is not a UFD, we don't even need to explicitly identify a set of generators for the ideal class group - it's enough to show that the ideal class group is non-trivial.)

Minkowski constant. The fact that $$\frac 4 \pi \times \frac {2!} {2^2} \sqrt{83} \approx. 5.8$$ implies that the ideal class group is generated by prime ideals that are factors of $$(2)$$, $$(3)$$ or $$(5)$$.

Dedekind's criterion. Dedekind's criterion is a way of factorising $$(3)$$ as a product of primes.

As you pointed out, we have the factorisation $$x^2 - x + \frac {84}{2} \equiv x(x-1) \mod 3,$$

so Dedekind's criterion says that $$(3) = (3, \theta)(3, \theta - 1)$$ is the prime factorisation of $$(3)$$ in $$\mathbb Z[\theta]$$.

Whether $$\mathbb Z[\theta]$$ is a UFD. This is equivalent to asking whether the ideal class group is trivial, i.e. whether all ideals are principal.

Why don't we check whether $$(3, \theta)$$ is principal? The answer must be "no". Note that $$(3, \theta)$$ has norm $$3$$. If it was principal, then there would exist $$x, y \in \mathbb Z$$ such that $$(3, \theta) = (x + y\theta)$$. But then $$3 = N(3, \theta) = N(x + y\theta) = (x + \tfrac 1 2 y)^2 + 83(\tfrac 1 2 y)^2,$$ which is impossible.

So $$\mathbb Z[\theta]$$ is not a principal ideal domain, and hence, is not a unique factorisation domain.

• Thanks that helpful, that what I was looking for – Ameryr Apr 22 at 19:57

The minimal polynomial of $$\alpha=\frac{1+\sqrt{-83}}{2}$$ is $$f = x^2 - x + 84/4 = x^2 - x + 21$$. Modulo $$3$$ this factors as $$f \equiv x^2 - x = x(x-1) \pmod 3,$$ so by the Kummer-Dedekind theorem the ideal $$(3)$$ factors into primes in $$\mathbb{Z}\bigg[\frac{1+\sqrt{-83}}{2}\bigg]$$ as $$(3) = (3, \alpha)(3, \alpha-1)$$.

The ideal $$(3)$$ is principal, generated by $$3$$. You can show that the prime factors are not principal, e.g. using the field norm:

If $$(3,\alpha) = (\beta)$$ then $$N(\beta)$$ divides both $$N(3) = 3^2$$ and $$N(\alpha) = f(0) = 21 = 3\cdot 7$$, so $$N(\beta) = 3$$.

If we write $$\beta = a+b\alpha$$ then $$N(\beta)=(a+b\alpha)(a+b(1-\alpha)) = \ldots = a^2+ab + 21b^2.$$

The equation $$a^2+ab + 21b^2 = 3$$ is an ellipse in the $$(a,b)$$-plane without integral points, so there is no such $$\beta$$.

• How could you determine that the ellipse has no integral points? – Ameryr Apr 22 at 20:05
• I plotted it (with a grid in the background). It's a very small ellipse, so there are very few candidates for integral points, and you can see that it misses them all. – Ricardo Buring Apr 22 at 20:11


text:
# Mathematics - Signals and Systems - Exercises on the Laplace Transform

in StemSocial5 months ago

[Image1]

## Introduction

Hey it's a me again @drifter1!

Today we continue with my mathematics series about Signals and Systems in to get into Exercises on the Laplace Transform.

So, without further ado, let's dive straight into it!

## Small Refresher

The Laplace Transform is a generalization of the Fourier Transform for a complex number exponent:

Using it sometimes simplifies calculations for LTI systems, but can also allow analysis of systems that don't converge using the more-specific Fourier Transform. The Laplace Transform has similar properties to the Fourier Transform, which include linearity, time- and frequency-shifting, complex conjugation, multiplication-convolution, differentatition-integration etc. The main difference is that an region-of-convergence (ROC) needs to be specified in addition to the algebraic expression of a system. The ROC can sometimes be found easily through common system properties such as causality and stability, which are only satisfied by some ROCs.

## Laplace Transform and ROC Examples [Based on 20.9 from Ref1]

Let's determine the Laplace transform, pole-zero locations and associated ROC for each of the following cases:

### a.

The signal u(t) is one of the elementary signals, which is (like all cases throughout this example) included in Laplace Transform pair tables.

Both of these signals have the same algebraic Laplace Transformm, which is:

and both signals also have the same pole (root of denominator) at the center of the axes (point O).

Their difference is only noticable in the ROC, where u(t) takes the right-side s-plane, whilst -u(-t) takes the left-side s-plane, as shown below.

### b.

The unit impulse function δ(t) and the time-shifted δ(t - t0) have an ROC which includes the complete s plane. Of course, the impulse function has an Laplace Transform of 1, similar to the Fourier Transform. And so, by simply applying the time-shifting property its easy to find out the Laplace Transform of the time-shifted δ(t - t0).

### c.

The exponential functions are also transform table pair cases, with the same algebraic Laplace transform, if a is left as is:

Both have a pole at the point -a on the Real-axis, and one has an ROC to the right-side of that pole, whilst the other has an ROC to the left of it, as shown below.

### d.

The sinusoidal signals are also known cases, which are quite interesting on the s-plane. More specifically, the Laplace Transform is given by:

In the case of the sine function, their are two roots for the denominator, which means that their are two poles, one at ω0 and one at 0 of the Imaginary-Axis. As such, the ROC is basically the right-side of the s-plane.

This leads to the pole-zero diagram shown below.

### e.

Multiplying the sinuosidal signals of the previous example by an exponential, which as we know is frequency-shifting, leads to an ROC which is more closely linked to the ROC of such an exponential. In the case of the sine signal, again only poles can be found, and that's why this example is about the cosine signal, which includes a zero (root at the nominator).

Either way, by simply applying the frequency-shifting property, the Laplace Transform of such sinuosidal signals looks as follows:

The pole-zero diagram and ROC is shown below.

## LTI System Analysis Example [Based on 21.4 from Ref1]

Consider a continuous-time LTI system, for which the input x(t) and output y(t) are related by the following LCCDE:

Let's:

1. determine the Laplace transform of the impulse response h(t), H(s) and sketch the pole-zero diagram
2. specify the ROC for the following cases:
1. The system is causal
2. The system is anti-causal
3. The system is stable
3. determine h(t) if the system is causal

### 1.

Taking the Laplace Transform of the two sides of the differential equations yields:

which in turns means that the H(s) is:

There is only one pole at s = 3, and so the corresponding pole-zero plot is:

### 2.

For a causal system, the ROC must be to-the-right of the right-most pole, whilst for an anti-causal system it must be to-the-left of the left-most pole.

As such, the two choices for ROCs are:

Graphically, this leads to the pole-zero plots shown below.

The left-sided plane also satisfies stability, as the imaginary (jω) axis is included in the ROC.

### 3.

The function H(s) is one of the known Laplace Transform cases, and so taking the inverse Laplace Transform is as simple as:

## RESOURCES:

### Images

Block diagrams and other visualizations were made using draw.io and GeoGebra

## Previous articles of the series

### Laplace and Z Transforms

• Laplace Transform → Laplace Transform, Region of Convergence (ROC)
• Laplace Transform Properties → Linearity, Time- and Frequency-Shifting, Time-Scaling, Complex Conjugation, Multiplication and Convolution, Differentation in Time- and Frequency-Domain, Integration in Time-Domain, Initial and Final Value Theorems
• LTI System Analysis using Laplace Transform → System Properties (Causality, Stability) and ROC, LCCDE Representation and Laplace Transform, First-Order and Second-Order System Analysis

## Final words | Next up

And this is actually it for today's post!

Next time we will start getting into the Z-Transform, which is a somewhat discrete-time version of the Laplace Transform...

See Ya!

Keep on drifting!


text:
## Implicit difference approximation for the time fractional diffusion equation.(English)Zbl 1140.65094

Author’s summary: We consider a time fractional diffusion equation on a finite domain. The equation is obtained from the standard diffusion equation by replacing the first-order time derivative by a fractional derivative (of order $$0<\alpha<1$$). We propose a computationally effective implicit difference approximation to solve the time fractional diffusion equation. Stability and convergence of the method are discussed. We prove that the implicit difference approximation (IDA) is unconditionally stable, and the IDA is convergent with $$O(\tau+h^2)$$, where $$\tau$$ and $$h$$ are time and space steps, respectively. Some numerical examples are presented to show the application of the present technique.

### MSC:

 65R20 Numerical methods for integral equations 45J05 Integro-ordinary differential equations 26A33 Fractional derivatives and integrals 35K05 Heat equation 65M06 Finite difference methods for initial value and initial-boundary value problems involving PDEs 65M12 Stability and convergence of numerical methods for initial value and initial-boundary value problems involving PDEs
Full Text:

### References:

 [1] O. P. Agrawal,Solution for a Fractional Diffusion-Wave Equation Defined in a Bounded Domain, J. Nonlinear Dynamics29 (2002), 145–155. · Zbl 1009.65085 [2] V. V. Anh and N. N. Leonenko,Spectral analysis of fractional kinetic equations with random data, J. Stat. Pgys.104 (2001), 1349–1387. · Zbl 1034.82044 [3] Orsingher, Enzo, Beghin, Luisa,Time-fractional telegraph equations and telegraph processes with Brownian time, Probab. Theory Related Fields128(1) (2004), 141–160. · Zbl 1049.60062 [4] G. J. Fix and J. P. Roop,Least squares finite element solution of a fractional order two-point boundary value problem, Computers Math. Applic.48 (2004), 1017–1033. · Zbl 1069.65094 [5] R. Gorenflo, A. Iskenderov and Yu. Luchko,Maping between solusions of fractional diffusion-wave equations, Fract. Calculus and Appl. Math.3 (2000), 75–86. · Zbl 1033.35161 [6] R. Gorenflo, Yu. Luchko and F. Mainardi,Wright function as scale-invariant solutions of the diffusion-wave equation, J. Comp. Appl. Math.118 (2000), 175–191. · Zbl 0973.35012 [7] R. Gorenflo, F. Mainardi, D. Moretti and P. Paradisi,Time Fractional Diffusion: A Discrete Random Walk Approach [J], Nonlinear Dynamics29 (2002), 129–143. · Zbl 1009.82016 [8] F. Huang and F. Liu,The time fractional diffusion and advection-dispersion equation, ANZIAM J.46 (2005), 1–14. · Zbl 1072.35218 [9] Liu, V. Anh, I. Turner,Numerical solution of space fractional Fokker-Planck equation J. Comp. and Appl. Math.166 (2004), 209–219. · Zbl 1036.82019 [10] F. Liu, V. Anh, I. Turner and P. Zhuang,Time fractional advection dispersion equation, J. Appl. Math. & Computing13 (2003), 233–245. · Zbl 1068.26006 [11] F. Liu, V. Anh, I. Turner and P. Zhuang,Numerical simulation for solute transport in fractal porous media, ANZIAM J.45(E) (2004), 461–473. · Zbl 1123.76363 [12] F. Liu, S. Shen, V. Anh and I. Turner,Analysis of a discrete non-Markovian random walk approximation for the time fractional diffusion equation, ANZIAM J.46(E) (2005), 488–504. · Zbl 1082.60511 [13] B. Luisa and O. Enzo,The telegraph processes stopped at stable-distributed times and its connection with the fractional telegraph equation, Fract. Calc. Appl. Anal.6(2) (2003), 187–204. · Zbl 1083.60039 [14] F. Mainardi,The fundamental solutions for the fractional diffusiona-wave equation, Appl. Math.9(6) (1996), 23–28. · Zbl 0879.35036 [15] M. Meerschaert and C. Tadjeran,Finite difference approximations for two-sided spacefractional partial differential equations, (2005), to appear. · Zbl 1086.65087 [16] M. Meerschaert and C. Tadjeran,Finite difference approximations for fractional advection-dispersion flow equations, J. Comp. and Appl. Math. (2005), (in press). · Zbl 1126.76346 [17] I. Podlubny,Fractional Differential Equations, Academic Press, 1999. · Zbl 0924.34008 [18] W. R. Schneider and W. Wyss,Fractional diffusion and wave equations, J. Math. Phys.30 (1989), 134–144. · Zbl 0692.45004 [19] W. Wyss,The fractional diffusion equation, J. Math. Phys.27 (1986), 2782–2785. · Zbl 0632.35031
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. It attempts to reflect the references listed in the original paper as accurately as possible without claiming the completeness or perfect precision of the matching.


text:
CGAL 4.7 - dD Geometry Kernel
User Manual

# Introduction

This part of the reference manual covers the higher-dimensional kernel. The kernel contains objects of constant size, such as point, vector, direction, line, ray, segment, circle. With each type comes a set of functions which can be applied to an object of this type. You will typically find access functions (e.g. to the coordinates of a point), tests of the position of a point relative to the object, a function returning the bounding box, the length, or the area of an object, and so on. The CGAL kernel further contains basic operations such as affine transformations, detection and computation of intersections, and distance computations. Note that this section partly recapitulates facts already mentioned for the lower-dimensional kernel.

## Robustness

The correctness proof of nearly all geometric algorithms presented in theory papers assumes exact computation with real numbers. This leads to a fundamental problem with the implementation of geometric algorithms. Naively, often the exact real arithmetic is replaced by inexact floating-point arithmetic in the implementation. This often leads to acceptable results for many input data. However, even for the implementation of the simplest geometric algorithms this simplification occasionally does not work. Rounding errors introduced by inaccurate arithmetic may lead to inconsistent decisions, causing unexpected failures for some correct input data. There are many approaches to this problem, one of them is to compute exactly (compute so accurate that all decisions made by the algorithm are exact) which is possible in many cases but more expensive than standard floating-point arithmetic. C. M. Hoffmann [2], [1] illustrates some of the problems arising in the implementation of geometric algorithms and discusses some approaches to solve them. A more recent overview is given in [3]. The exact computation paradigm is discussed by Yap and Dubé [4] and Yap [5].

In CGAL you can choose the underlying number types and arithmetic. You can use different types of arithmetic simultaneously and the choice can be easily changed, e.g. for testing. So you can choose between implementations with fast but occasionally inexact arithmetic and implementations guaranteeing exact computation and exact results. Of course you have to pay for the exactness in terms of execution time and storage space. See the dedicated chapter for more details on number types and their capabilities and performance.

## Genericity

To increase generic usage of objects and predicates the higher-dimensional kernel makes heavy use of iterator ranges as defined in the STL for modeling tuples. Iterators conceptualize C++ pointers.

For an iterator range [first,last) we define T = tuple [first,last) as the ordered tuple $$(T[0],T[1], \ldots T[d-1])$$ where $$S[i] = *++^{(i)}\mathit{first}$$ (the element obtained by $$i$$ times forwarding the iterator by operator ++ and then dereferencing it to get the value to which it points). We write d = size [first,last) and S = set [first,last) to denote the unordered set of elements of the corresponding tuple.

This extends the syntax of random access iterators to input iterators. If we index the tuple as above then we require that $$++^{(d)}\mathit{first} = \mathit{last}$$.

# Kernel Representations

Our object of study is the $$d$$-dimensional affine Euclidean space, where $$d$$ is a parameter of our geometry. Objects in that space are sets of points. A common way to represent the points is the use of Cartesian coordinates, which assumes a reference frame (an origin and $$d$$ orthogonal axes). In that framework, a point is represented by a $$d$$-tuple $$(c_0,c_1,\ldots,c_{d-1})$$, and so are vectors in the underlying linear space. Each point is represented uniquely by such Cartesian coordinates.

Another way to represent points is by homogeneous coordinates. In that framework, a point is represented by a $$(d+1)$$-tuple $$(h_0,h_1,\ldots,h_d)$$. Via the formulae $$c_i = h_i/h_d$$, the corresponding point with Cartesian coordinates $$(c_0,c_1,\ldots,c_{d-1})$$ can be computed. Note that homogeneous coordinates are not unique. For $$\lambda\ne 0$$, the tuples $$(h_0,h_1,\ldots,h_d)$$ and $$(\lambda\cdot h_0,\lambda\cdot h_1,\ldots,\lambda\cdot h_d)$$ represent the same point. For a point with Cartesian coordinates $$(c_0,c_1,\ldots,c_{d-1})$$ a possible homogeneous representation is $$(c_0,c_1,\ldots,c_{d-1},1)$$. Homogeneous coordinates in fact allow to represent objects in a more general space, the projective space $$\mathbb{P}^d$$. In CGAL, we do not compute in projective geometry. Rather, we use homogeneous coordinates to avoid division operations, since the additional coordinate can serve as a common denominator.

## Genericity through Parameterization

Almost all the kernel objects (and the corresponding functions) are templates with a parameter that allows the user to choose the representation of the kernel objects. A type that is used as an argument for this parameter must fulfill certain requirements on syntax and semantics. The list of requirements defines an abstract kernel concept. In CGAL such a kernel concept is often also called a representation class and denoted by R. A representation class provides the actual implementations of the kernel objects. For all kernel objects Kernel_object of a representation class R based on Cartesian_d or Homogeneous_d, the types CGAL::Kernel_object<R> and R::Kernel_object are identical.

CGAL offers three families of concrete models for the concept representation class, two based on the Cartesian representation of points and one based on the homogeneous representation of points. The interface of the kernel objects is designed such that it works well with both Cartesian and homogeneous representation, for example, points have a constructor with a range of coordinates plus a common denominator (the $$d+1$$ homogeneous coordinates of the point). The common interfaces parameterized with a representation class allow one to develop code independent of the chosen representation. We said "families" of models, because both families are parameterized too. A user can choose the number type used to represent the coordinates and the linear algebra module used to calculate the result of predicates and constructions.

For reasons that will become evident later, a representation class provides two typenames for number types, namely R::FT and R::RT. The type R::FT must fulfill the requirements on what is called a field type in CGAL. This roughly means that R::FT is a type for which operations $$+$$, $$-$$, $$*$$ and $$/$$ are defined with semantics (approximately) corresponding to those of a field in a mathematical sense. Note that, strictly speaking, the built-in type int does not fulfill the requirements on a field type, since ints correspond to elements of a ring rather than a field, especially operation $$/$$ is not the inverse of $$*$$. The requirements on the type R::RT are weaker. This type must fulfill the requirements on what is called a Euclidean ring type in CGAL. This roughly means that R::RT is a type for which operations $$+$$, $$-$$, $$*$$ are defined with semantics (approximately) corresponding to those of a ring in a mathematical sense. A very limited division operation $$/$$ must be available as well. It must work for exact (i.e., no remainder) integer divisions only. Furthermore, both number types should fulfill CGAL's requirements on a number type.

## Cartesian Kernel

With Cartesian_d<FieldNumberType,LinearAlgebra> you can choose Cartesian representation of coordinates. The type LinearAlgebra must me a linear algebra module working on numbers of type FieldNumberType. The second parameter defaults to module delivered with the kernel so for short a user can just write Cartesian_d<FieldNumberType> when not providing her own linear algebra.

When you choose Cartesian representation you have to declare at least the type of the coordinates. A number type used with the Cartesian_d representation class should be a field type as described above. Both Cartesian_d<FieldNumberType>::FT and Cartesian_d<FieldNumberType>::RT are mapped to number type FieldNumberType. Cartesian_d<FieldNumberType,LinearAlgebra>::LA is mapped to the type LinearAlgebra. Cartesian_d<FieldNumberType> uses reference counting internally to save copying costs.

## Homogeneous Kernel

As we mentioned before, homogeneous coordinates permit to avoid division operations in numerical computations, since the additional coordinate can serve as a common denominator. Avoiding divisions can be useful for exact geometric computation. With Homogeneous_d<RingNumberType,LinearAlgebra> you can choose homogeneous representation of coordinates with the kernel objects. As for Cartesian representation you have to declare at the same time the type used to store the homogeneous coordinates. Since the homogeneous representation allows one to avoid the divisions, the number type associated with a homogeneous representation class must be a model for the weaker concept Euclidean ring type only.

The type LinearAlgebra must me a linear algebra module working on numbers of type RingNumberType. Again the second parameter defaults to module delivered with the kernel so for short one can just write Homogeneous_d<RingNumberType> when replacing the default is no issue.

However, some operations provided by this kernel involve division operations, for example computing squared distances or returning a Cartesian coordinate. To keep the requirements on the number type parameter of Homogeneous low, the number type Quotient<RingNumberType> is used instead. This number type turns a ring type into a field type. It maintains numbers as quotients, i.e. a numerator and a denominator. Thereby, divisions are circumvented. With Homogeneous_d<RingNumberType>, Homogeneous_d<RingNumberType>::FT is equal to Quotient<RingNumberType> while Homogeneous_d<RingNumberType>::RT is equal to RingNumberType. Homogeneous_d<RingNumberType,LinearAlgebra>::LA is mapped to the type LinearAlgebra.

## Epick_d Kernel

The kernel Epick_d<DimensionTag>, short for Exact Predicates Inexact Constructions Kernel is a kernel particularly useful when the dimension of the space is known at compile-time; The template parameter DimensionTag is then Dimension_tag<d> where d is an integer representing the dimension. It may also be used with parameter Dynamic_dimension_tag, in which case the dimension does not need to be known at compile-time. It uses a Cartesian representation and supports construction of points from double coordinates. It provides exact geometric predicates, but the geometric constructions are not guaranteed to be exact.

Note that it provides few interfaces in addition to those documented in the Kernel_d concept. In particular, the type of a point is only available as Epick_d<DimensionTag>::Point_d, not Point_d<Epick_d<DimensionTag>>.

## Naming Conventions

The use of representation classes does not only avoid problems, it also makes all CGAL classes very uniform. Like Cartesian_d<double>::Point_d, they always consist of:

1. The capitalized base name of the geometric object, such as Point, Segment, Triangle.

2. Followed by _d.

3. A representation class, which itself may be parameterized with a number type, such as Cartesian_d<double> or Homogeneous_d<leda_integer>, where the type can be found, except for Epick_d<DimensionTag> where the number type is implicitly double.

## Kernel as a Traits Class

Algorithms and data structures in the basic library of CGAL are parameterized by a traits class that subsumes the objects on which the algorithm or data structure operates as well as the operations to do so. For most of the algorithms and data structures in the basic library you can use a kernel as a traits class. For some algorithms you even do not have to specify the kernel; it is detected automatically using the types of the geometric objects passed to the algorithm. In some other cases, the algorithms or data structures need more than is provided by a kernel. In these cases, a kernel can not be used as a traits class.

## Choosing a Kernel

If you start with integral Cartesian coordinates, many geometric computations will involve integral numerical values only. Especially, this is true for geometric computations that evaluate only predicates, which are tantamount to determinant computations. Examples are triangulation of point sets and convex hull computation.

The dimension $$d$$ of our affine space determines the dimension of the matrix computations in the mathematical evaluation of predicates. As rounding errors accumulate fast the homogeneous representation used with multi-precision integers is the kernel of choice for well-behaved algorithms. Note, that unless you use an arbitrary precision integer type, incorrect results might arise due to overflow.

If new points are to be constructed, for example the intersection point of two lines, computation of Cartesian coordinates usually involves divisions, so you need to use a field type with Cartesian representation or have to switch to homogeneous representation. double is a possible, but imprecise field type. You can also put any ring type into Quotient to get a field type and put it into Cartesian_d, but you better put the ring type into Homogeneous. leda_rational and leda_real are valid field types, too.

Still other people will prefer the built-in type double, because they need speed and can live with approximate results, or even algorithms that, from time to time, crash or compute incorrect results due to accumulated rounding errors.

The Epick_d kernel provides a compromise using double coordinates. It evaluates predicates exactly, which is slower than plain double computations, but still faster than using an exact number type thanks to filtering techniques. Constructions are inexact, computed with double.

You need just to include a representation class to obtain the geometric objects of the kernel that you would like to use with the representation class, i.e., CGAL/Cartesian_d.h or CGAL/Homogeneous_d.h

# Kernel Geometry

## Points and Vectors

In CGAL, we strictly distinguish between points, vectors and directions. A point is a point in the Euclidean space $$\E^d$$, a vector is the difference of two points $$p_2$$, $$p_1$$ and denotes the direction and the distance from $$p_1$$ to $$p_2$$ in the vector space $$\mathbb{R}^d$$, and a direction is a vector where we forget about its length. They are different mathematical concepts. For example, they behave different under affine transformations and an addition of two points is meaningless in affine geometry. By putting them in different classes we not only get cleaner code, but also type checking by the compiler which avoids ambiguous expressions. Hence, it pays twice to make this distinction.

CGAL defines a symbolic constant ORIGIN of type Origin which denotes the point at the origin. This constant is used in the conversion between points and vectors. Subtracting it from a point $$p$$ results in the locus vector of $$p$$.

double coord[] = {1.0, 1.0, 1.0, 1.0};
Cartesian_d<double>::Point_d p(4,coord,coord+4), q(4);
Cartesian_d<double>::Vector_d v(4);
v = p - ORIGIN;
q = ORIGIN + v;
assert( p == q );

In order to obtain the point corresponding to a vector $$v$$ you simply have to add $$v$$ to ORIGIN. If you want to determine the point $$q$$ in the middle between two points $$p_1$$ and $$p_2$$, you can writeyou might call midpoint(p_1,p_2) instead

q = p_1 + (p_2 - p_1) / 2.0;

Note that these constructions do not involve any performance overhead for the conversion with the currently available representation classes.

## Kernel Objects

Besides points (R::Point_d), vectors (R::Vector_d), and directions (R::Direction_d), CGAL provides lines, rays, segments, hyperplanes, and spheres.

Lines (R::Line_d) in CGAL are oriented. A ray (R::Ray_d) is a semi-infinite interval on a line, and this line is oriented from the finite endpoint of this interval towards any other point in this interval. A segment (R::Segment_d) is a bounded interval on a directed line, and the endpoints are ordered so that they induce the same direction as that of the line.

Hyperplanes are affine subspaces of dimension $$d-1$$ in $$\E^d$$, passing through $$d$$ points. Hyperplanes are oriented and partition space into a positive side and a negative side. In CGAL, there are no special classes for halfspaces. Halfspaces are supposed to be represented by oriented hyperplanes. All kernel objects are equality comparable via operator== and operator!=. For those oriented objects whose orientation can be reversed (segments, lines, hyperplanes, spheres) there is also a global function weak_equality() that allows to test for point set equality disregarding the orientation.

## Orientation and Relative Position

Geometric objects in CGAL have member functions that test the position of a point relative to the object. Full dimensional objects and their boundaries are represented by the same type, e.g. halfspaces and hyperplanes are not distinguished, neither are balls and spheres. Such objects split the ambient space into two full-dimensional parts, a bounded part and an unbounded part (e.g. spheres), or two unbounded parts (e.g. hyperplanes). By default these objects are oriented, i.e., one of the resulting parts is called the positive side, the other one is called the negative side. Both of these may be unbounded.

For these objects there is a function oriented_side() that determines whether a test point is on the positive side, the negative side, or on the oriented boundary. These function returns a value of type Oriented_side.

Those objects that split the space in a bounded and an unbounded part, have a member function bounded_side() with return type Bounded_side.

If an object is lower dimensional, e.g. a segment in $$d$$-dimensional space, there is only a test whether a point belongs to the object or not. This member function, which takes a point as an argument and returns a Boolean value, is called has_on()

# Predicates and Constructions

## Predicates

Predicates are at the heart of a geometry kernel. They are basic units for the composition of geometric algorithms and encapsulate decisions. Hence their correctness is crucial for the control flow and hence for the correctness of an implementation of a geometric algorithm. CGAL uses the term predicate in a generalized sense. Not only components returning a Boolean value are called predicates but also components returning an enumeration type like a Comparison_result or an Orientation. We say components, because predicates are implemented both as functions and function objects (also called functors and provided by a kernel class).

CGAL provides predicates for the orientation of point sets (orientation), for comparing points according to some given order, especially for comparing Cartesian coordinates (e.g. lexicographically_xy_smaller), in-sphere tests, and predicates to compare distances.

## Constructions

Functions and function objects that generate objects that are neither of type bool nor enum types are called constructions. Constructions involve computation of new numerical values and may be imprecise due to rounding errors unless a kernel with an exact number type is used.

Affine transformations (R::Aff_transformation_d) allow to generate new object instances under arbitrary affine transformations. These transformations include translations, rotations (within planes) and scaling. Most of the geometric objects in a kernel have a member function transform(Aff_transformation_d t) which applies the transformation to the object instance.

CGAL also provides a set of functions that detect or compute the intersection between objects and functions to calculate their squared distance. Moreover, some member functions of kernel objects are constructions.

So there are routines that compute the square of the Euclidean distance, but no routines that compute the distance itself. Why? First of all, the two values can be derived from each other quite easily (by taking the square root or taking the square). So, supplying only the one and not the other is only a minor inconvenience for the user. Second, often either value can be used. This is for example the case when (squared) distances are compared. Third, the library wants to stimulate the use of the squared distance instead of the distance. The squared distance can be computed in more cases and the computation is cheaper. We do this by not providing the perhaps more natural routine, The problem of a distance routine is that it needs the sqrt operation. This has two drawbacks:

• The sqrt operation can be costly. Even if it is not very costly for a specific number type and platform, avoiding it is always cheaper.
• There are number types on which no sqrt operation is defined, especially integer types and rationals.

## Intersections

Intersections on kernel objects currently cover only those objects that are part of flats (R::Segment_d, R::Ray_d, R::Line_d, and R::Hyperplane_d). For any pair of objects $$o1$$, $$o2$$ of these types the operation intersection(o1,o2) returns a boost::optional< boost::variant< T... > > where T... is a list of all possible resulting geometric objects.

The exact result type of an intersection can be determined by using cpp11::result_of<Kernel::Intersect_d(Type1, Type2)>::type where Type1 and Type2 are the types of the objects used in the intersection computation.

### Example

In the following example, the object type is used as a return value for the intersection computation, as there are possibly different return values.

typedef Cartesian_d<double> K;
typedef Point_d<K> Point;
typedef Segment_d<K> Segment;
Segment s1, s2;
std::cin >> s1 >> s2;
cpp11::result_of<K::Intersect_d(Segment, Segment)>::type
v = intersection(s1, s2);
if(v) {
// not empty
if (const Point *p = boost::get<Point>(&*v) ) {
// do something with *p
} else {
const Segment *s = boost::get<Segment>(&*v) ) {
// do something with *s
}
} else {
// empty intersection
}

## Constructive Predicates

For testing where a point $$p$$ lies with respect to a hyperplane defined by an array $$P$$ of points $$p_1$$, ... , $$p_d$$, one may be tempted to construct the hyperplane R::Hyperplane_d(d,P,P+d) and use the method oriented_side(p). This may pay off if many tests with respect to the plane are made. Nevertheless, unless the number type is exact, the constructed plane is only approximated, and round-off errors may lead oriented_side(p) to return an orientation which is different from the orientation of $$p_1$$, ... , $$p_d$$, $$p$$.

In CGAL, we provide predicates in which such geometric decisions are made directly with a reference to the input points in $$P$$ without an intermediary object like a plane. For the above test, the recommended way to get the result is to use $$\mathrm{orientation}(P',P'+d)$$, where $$P'$$ is an array containing the points $$p_1$$, ... , $$p_d$$, $$p$$.

For exact number types like leda_real, the situation is different. If several tests are to be made with the same plane, it pays off to construct the plane and to use oriented_side(p).

# Design and Implementation History

This higher-dimensional kernel is the result of a long evolving development. A first version of the kernel was offered as a LEDA extension package ddgeo by Kurt Mehlhorn and Michael Seel. The original design was driven by the realization of a d-dimensional convex hull data type developed at the Max-Planck Institut für Informatik.

The code base was discussed and reviewed within the CGAL kernel group (of the low-dimensional kernel). This led to the identification of the concept interfaces and in parallel to adaptations according to the evolution of the low-dimensional kernel. The kernel was revised based on suggestions by Hervé Brönnimann, Michael Hoffmann, and Stefan Schirra.

Epick_d was added by Marc Glisse in 2014.

## Acknowledgments

This work was supported by ESPRIT IV Long Term Research Projects No. 21957 (CGAL) and No. 28155 (GALIA).

The Epick_d kernel was partially supported by the IST Programme of the EU (FET Open) Project under Contract No IST-25582 – (CGL - Computational Geometric Learning).


text:
# What is the chemical formula for lead (IV) oxide?

Jun 11, 2017

${\text{PbO}}_{2}$

#### Explanation:

This is also sometimes called lead dioxide.

The (IV) indicates that lead is in the $4 +$ oxidation state in this compound. Since oxygen almost always has an oxidation state of $2 -$, we use simple mathematics to yield a net oxidation state of $0$:

${\overbrace{\left(4\right)}}^{\text{Pb" + overbrace((x)(-2))^"O}} = 0$

x = color(red)(2

There is thus one lead atom and two oxygen atoms per compound of lead(IV) oxide.

"PbO"_(color(red)(2