mm-480 Subject: [mma] is it a call by name or by value?;I am a little confused on how mma handle function calls.Look at this simple 2 lines exampler = {Sin[x], Cos[x]}Plot[r, {x, 0, 2}]Here 'r' is a variable which is a list.Now one would expect that Plot will make a plot of the functions inthe list 'r'. Correct?But it does not. What happens is that the name 'r' is passed to thefunction Plot, and NOT the value of 'r', which is what I wanted tobe passed. This error is generated:Plot::plnr: r is not a machine-size real number at x = 8.333333333333333`*^-This is contradictory to the way I am used to with other languages.i.e. when a variable appears on the RHS, then its value is used andnot is name. I found that I need to pass the value of 'r' by doing this:r = {Sin[x], Cos[x]}Plot[Evaluate[r], {x, 0, 2}]i.e. need to evaluate the name before it is passed.mma book saysBy using Evaluate, you can get any argument of a function evaluated immediately, even if the argument would usually be evaluated later under the control of the function. So I said, does this behaviour consistant with all other cases?No. Look at this example:r = 5;t = r + 4 9So here, when the name appeared on the RHS, its value was used asexpected. But this is not a function call, so I tried this another simple test:foo[f_] := Block[{}, {Print[f=, f]}; f]r = 5t = foo[r] + 4 -----> This call passed value of r, not its name f=5 9What would the print statment inside foo[] show? if the name is passed instead of its value, then it should just print 'f', the name of the formal parameter, right? it can't print the global 'f' value, since the formal parameter should hide that name away, but no, it does print the value of 'f', which is 5So, the call to foo above passed the value of 'r' and not is name.So why is this not consistant with how the call to Plot worked? why did I have to evaluate a variable before calling Plot, while in a call to foo, I did not have to Evaluate the variable?Is there a rule of thumb I should follow to understand how mma works here? I am finding it harder to learn the languagemma since there is no language reference manual and no formaldefinition on the language that one can look up. === Subject: Re: [mma] is it a call by name or by value?In mathematica, Plot evaluates its arguments in a non-standard way.So says the on-line help.As you have observed, mma is a bunch of rules. It does notactually have call by name or value. It has call by pattern-match+replacement evaluation.(There is something ELSE like a function, pure functions, used mostlyby people who know what they are doing with presumably call by value,but that is not what you encountered.)Most people who use mma do not know much about how it works, butluck out because their assumptions are usually similar to whathappens. When it doesn't happen, they think it is a bug in theprogram when it is a bug in their understanding. Sometimesthe program could be better designed, but there is nothingunintentional about the behavior you observe. Commands like plot which reallytake arguments which are functions, often have specialrules. Learn about lisp, and how you might prefer todo something like(plot '(lambda(x)(sin x)) 0 2)> ;> I am a little confused on how mma handle function calls.> Look at this simple 2 lines example> r = {Sin[x], Cos[x]}> Plot[r, {x, 0, 2}]> Here 'r' is a variable which is a list.> Now one would expect that Plot will make a plot of the functions in> the list 'r'. Correct?I don't know about what one would expect, but the understandinghere is INcorrect.> But it does not. What happens is that the name 'r' is passed to the> function Plot, and NOT the value of 'r', which is what I wanted to> be passed. This error is generated:> Plot::plnr: r is not a machine-size real number at x = 8.333333333333333`*^-> This is contradictory to the way I am used to with other languages.> i.e. when a variable appears on the RHS, then its value is used and> not is name. > I found that I need to pass the value of 'r' by doing this:> r = {Sin[x], Cos[x]}> Plot[Evaluate[r], {x, 0, 2}]> i.e. need to evaluate the name before it is passed.> mma book saysBy using Evaluate, you can get any argument of a function > evaluated immediately, even if the argument would usually be > evaluated later under the control of the function. > So I said, does this behaviour consistant with all other cases?Plot is not standard. Documentation says so.> No. Look at this example:....> Is there a rule of thumb I should follow to understand > how mma works here?Yep. Read the documentation. I am finding it harder to learn the language> mma since there is no language reference manual and no formal> definition on the language that one can look up.There are books about the language, such as it is.Maybe not particularly formal. === Subject: Re: MuPAD: how to execute>Is it possible with MuPAD 2.5.3 to execute the whole spreadsheet through >a single command, in a similar manner as with Maple?> Assuming that by spreadsheet you mean notebook> I think you can do Notebook -> Evaluate -> Any inputPhilip,I cannot find Notebook -> Evaluate -> Any input. Maybe, your version of Paul === Subject: Re: MuPAD: how to execute >Is it possible with MuPAD 2.5.3 to execute the whole spreadsheet through >a single command, in a similar manner as with Maple?> Assuming that by spreadsheet you mean notebook> I think you can do Notebook -> Evaluate -> Any input> I cannot find Notebook -> Evaluate -> Any input. Maybe, your version of > PaulYes, I was in MSWin (but I thought that the GUI would be the same on other OS's too --- apparently not-- sorry!). === Subject: Good support in mathsI have come across a source providing good support to thoseexperiencing difficulties with doing homework in maths includingarithmetic(http://www.bymath.com/studyguide/ari/form1 .htm), geometry(http://www.bymath.com/studyguide/geo/pro/pro1/pro1. htm), algebra(http://www.bymath.com/studyguide/alg/pro/pro1/pro1.htm ), functionsand graphics (http://www.bymath.com/studyguide/fun/pro/pro.htm),principles of analysis(http://www.bymath.com/studyguide/ana/pro/pro1/pro1. htm),all this is also supported by a good deal of examples andillustrations. === Subject: [mma] mma on-line help can be improved.You would think that the help page for Rational will, underthe see also section, would also mention the function Rationalize as well, right?I was looking for a function to convert a real number torational. So I did ?Rational, and was happy to see something showup. But no mention of a function to do this as no link to Rationalize from there. silly me, I did not think of doing searchon Rationalize. I mean, what is the point of having help to searchfor something if one knows what the function name is to start with?This is the see also section of mma Rational:See also: Rationals, Integer, Numerator, Denominator. Also doing help on Rationalize does not have a link to Rational(At least mma is very consistant I must say).In general I found mma on-line help to be weak, this is compared tomaple help, which has the best see also section that I have seen, andplenty of examples as well.I suggest that the Wolfram company hire someone to improve theon-line help. Add much more examples and more see also links.But I do like the link to sections in the mma book from mma help, this is a nice touch.Now, compare this to maple: When I typed?rationalI getThere are several matching topics. Try one of the following:type,rationalodeadvisor,rationalflavor, rationalconvert,rationalSumTools,IndefiniteSum, RationalCurveFitting,RationalInterpolationAnd here we see the convert to rational function right away.Another complaint: Not only that, mma will not even show help if one does not type thename as is with upper case first letter, look:?rationalInformation::notfound: Symbol rational not found. It does not even mention possible typo and to suggest typing Rational asit does 100 times if I do that in any other place in the code. see:rational[3, 4]General::spell1: Possible spelling error: new symbol name rational is similar to existing symbol Rational.Now why did it not say that when when I asked for help on rational instead of Rational ?? === Subject: Re: [mma] mma on-line help can be improved.Some options...Names[*Ration*]{Rational,RationalFunctions, Rationalize, Rationals}Names[Rationalizze, SpellingCorrection -> True]{Rationalize}Using Windows XP & Office XP= = = = = = = = = = = = = = = = => You would think that the help page for Rational will, under> the see also section, would also mention the functionRationalize as well, right?> I was looking for a function to convert a real number to> rational. So I did ?Rational, and was happy to see something show> up. But no mention of a function to do this as no link to> Rationalize from there. silly me, I did not think of doing search> on Rationalize. I mean, what is the point of having help to search> for something if one knows what the function name is to start with?> This is the see also section of mma Rational:See also: Rationals, Integer, Numerator, Denominator. > Also doing help on Rationalize does not have a link to Rational> (At least mma is very consistant I must say).> In general I found mma on-line help to be weak, this is compared to> maple help, which has the best see also section that I have seen, and> plenty of examples as well.> I suggest that the Wolfram company hire someone to improve the> on-line help. Add much more examples and more see also links.> But I do like the link to sections in the mma book from mma help, this> is a nice touch.> Now, compare this to maple: When I typed> ?rational> I get> There are several matching topics. Try one of the following:> type,rational> odeadvisor,rational> flavor,rational> convert,rational> SumTools,IndefiniteSum,Rational> CurveFitting,RationalInterpolation> And here we see the convert to rational function right away.> Another complaint:> Not only that, mma will not even show help if one does not type the> name as is with upper case first letter, look:> ?rational> Information::notfound: Symbol rational not found.> It does not even mention possible typo and to suggest typing Rational as> it does 100 times if I do that in any other place in the code. see:> rational[3, 4]> General::spell1: Possible spelling error: new symbol name rational is> similar to existing symbol Rational.> Now why did it not say that when when I asked for help on rational> instead of Rational ?? === Subject: Second Derivative by support1.mathforum.org (8.11.6/8.11.6/The Math Forum, $Revision: 1.9 primary) id i3CJUtd12266;Help,My teacher assigned an extra assignment for our class, to help boostour grades for University application. Unfortunately, I have beenunable to solve one of the problems. My teacher gave us the fullysimplified answer, but I have been unable to get the same answer.The question reads: Given: 4x^2 - 5y^2 = -1 . Simplify Fully.The answer is: 4/25 y^3 <----How do i get this?Any help with this solution would be greatly, appreciated. === Subject: Re: Maple bugs: the next freeze frame calculated by GEMM by support1.mathforum.org (8.11.6/8.11.6/The Math Forum, $Revision: 1.9 primary) id i3CJUxt12367;Re: Maple bugs: the next freeze frame calculated by GEMM by steve_HSH> Do you include among your bugs the maple 9 Java GUI relatedSH> problems?According to Maplesoft's web servers, http://www.maplesoft.com/Maplesoft is a world leader in mathematical and analytical software. http://www.maplesoft.com/products/maple/explore.shtmlMaple 9 is the premium software system for any activity that involvesmathematics. http://www.maplesoft.com/support/Maplesoft is committed to providing the highest level of supportfor the products it sells.Leader? Premium? Highest? OK, let's consider concrete examples.Maple 9.03> is(sin(z)^2 + cos(z)^2 = 1); falseMaple 9.03> is(0..1 = 0..2); Error, (in property/ConvertRelation) invalid relation argumentsMaple 9.03> solve(1+(1+z^2)^(5/2)=0, z); Error, (in evala/Indep) argument should be an algebraic function fieldMaple 9.03> int(1/z, z=I..2*I); (!) # Table integral for a frosh Float(infinity) # = ln(2)Maple 9.03> int(exp(z), z= I..a); # Table integral for a frosh Error, (in Limit) Limit uses a 3rd argument, dir, which is missing exp(a)-exp(I)Maple 9.03> int(arccoth(z), z= 0..1); # Table integral for a frosh ln(2)+1/2*I*Pi # = ln(2)-1/2*I*PiMaple 9.03> restart; int(z^(2/3), z=1..10); # 2 (!) invalid answers # when asked repeatedly Maple 9.03> int(sqrt(exp(z)+sinh(z)), z= 0..infinity); KERNEL FAILUREMaple 9.03> int(sqrt((z+1)^2)/z, z= 0..1); 1 # = infinityMaple 9.03> int(ln(abs(z^2-1))/(1+z)^2, z= 0..infinity); KERNEL FAILURE # 1Maple 9.03> int(sqrt((z+1)^2), z = 0..1); 1/2 # = 3/2 Maple 9.03> evalf(Int(1/z^2, z= I..infinity)); # Table integral Error, (in evalf/int) non-numeric integration limit encountered -1.*IMaple 9.03> evalf(Int(I*z, z= 1..0)); Error, (in evalf/int) contradictory assumptionsMaple 9.03> evalf(subs(t= 1/3, int(I*z/(t+z), z= 0..t-1))); Error, (in evalf/int) contradictory assumptionsMaple 9.03> evalf(Sum(1, n= 1..infinity)); 0. # = Float(infinity)Maple 9.03> evalf(Int(HermiteH(1,1/z), z=0..1)); KERNEL FAILUREMaple 9.03> evalf(Int(sin(Pi*z)/floor(z), z= 1..infinity)); Float(infinity) # = -.4412712002 = -2*ln(2)/PiMaple 9.03> evalf(JacobiZeta(1, 1)); 40000 sec - nothingFirst and foremost, we are interested in the same things as themost (or all) of the users: detecting Maple's bad math results.SH> If so, this by itself will require a whole web site to contain,SH> and so it might not be fair to maple core bugsThere are hundreds distinct bugs in GUI. There are many THOUSANDSdistinct bugs in math. Relax, the core bugs first.SH> and will tilt the scale in a way which might not reflect theSH> true state of affairs.Don't worry, be happy ;)SH> I no longer even start maple 9 java GUI. It is so bad, if youSH> just blow air on it, it will crash or hangs.There are at least many hundreds distinct ways to crash Maple 9.Maple 9.03> int(abs(1-sqrt(z)),z=0..I*Pi); KERNEL FAILUREMaple 9.03> evalf(Int(hypergeom([],[1-z],1/3), z= 1..2)); KERNEL FAILUREMaple 9.03> evalf(Int(BesselJ(0, z)^2, z= 0..infinity)); KERNEL FAILUREMaple 9.03> evalf(Int(1/(sqrt(1+z)+sqrt(1-z)), z=-infinity..infinity)); KERNEL FAILUREMaple 9.03> evalf(Int(cot(z)/frac(z), z= 0..Pi/2*I)); KERNEL FAILUREMaple 9.03> evalf(Int(hypergeom([], [z], 1/2), z= 0..infinity,_CCquad)); KERNEL FAILURESH> But I have to say this is no fault of maplesoftGee, you do have a a keen sense of humor! no fault of maplesoftWho then made the decision of using Java? You? Me? Maplesoft leaders?SH> If you must blame someone, blame Sun for this.If a drunk driver hit a pedestrian, will his relative sue Ford?Or the driver?Best wishes,Vladimir Bondarenkohttp://www.cybertester.com/http://maple.bug-list.org /http://www.CAS-testing.org/.................................. ................................... === Subject: Math Help: Second Derivative by support1.mathforum.org (8.11.6/8.11.6/The Math Forum, $Revision: 1.9 primary) id i3CJUwH12329;Help,My teacher assigned an extra assignment for our class, to help boostour grades for University application. Unfortunately, I have beenunable to solve one of the problems. My teacher gave us the fullysimplified answer, but I have been unable to get the same answer.The question reads: Given: 4x^2 - 5y^2 = -1, find d^2y/dx^2 SimplifyFully.The answer is: 4/25 y^3 <----How do i get this?Any help with this solution would be greatly, appreciated. === Subject: Re: Math Help: Second Derivative> Help,> My teacher assigned an extra assignment for our class, to help boost> our grades for University application. Unfortunately, I have been> unable to solve one of the problems. My teacher gave us the fully> simplified answer, but I have been unable to get the same answer.> The question reads: Given: 4x^2 - 5y^2 = -1, find d^2y/dx^2 Simplify> Fully.> The answer is: 4/25 y^3 <----How do i get this?> Any help with this solution would be greatly, appreciated.It is not surprising that you can't get the answer above. It iswrong. The correct answer is y'' = (4/25) y^{-3}I suggest you differentiate the original relation w.r.t. x, solvefor y', differentiate again, and eliminate y' and x using theoriginal expression and the expression for y' . The rest is algebra. === Subject: Re: field conceptOriginator: bergv@math.uiuc.edu (Maarten Bergvelt)>If somebody could clarify what is a definition of field in RFT and>RQFT in different sense and how to connect those definitions with>measuring operations in a thought physical experiment. Is there some>consistent hierarchy of definitions from classical to modern physics?>[ Moderator's note: RQFT means Relativistic Quantum Field Theory;>I assume RFT is Relativistic (non-quantum) Field Theory. >-RI ]Assuming the moderators definitions, here is a brief account of thehistorical development of QM, which will give answers to your questions:In the beginning, de Broglie suggested that the hydrogen atom QMproperties be described by a wave function, which quickly led to theequation describing essentially all non-relativistic QM phenomena. Onethen looked for similar relativistic wave equation, but found no equallygeneral; only sporadic equations, like the celebrated Dirac equation,If one solves the Schrodinger equation (cf. Sobolev space in math), thenone lands on the QM Hilbert space formulation (see the multivolume bookset by Cohen-Tannoudji et.al.), which leads to relativistic QFT (quantumfield theory). See for example the book by Streater & Wightman, PCT, Spin& Statistics and all that, which cooks up a so called QFT Fock (=Now, Feynman found a way to use path integral sum to create such a Greenfunction, even though there is no known underlying differential equation,but in a way that QM data can become predicted. In the absence of suitableQM differential equation, some have gone further and reasoned that theseFeynman path integrals should be the basis of QM (cf. string theory).These attempts so far only work with SR (special relativity, not the fullGR (general relativity), even though there are attempts in that direction.So, in physics a QM field can mean both a wave function, or a Hilbertspace vector, depending on the theory at hand. There is in general noknown mathematical connection between these different QM theories, butthey are physically empirical. When mathematicians do QM-math, theyusually formalize some of this empiric into an axiomatic object, which issubsequently studied by purely mathematical operations. === Subject: de Sitter groupsOriginator: bergv@math.uiuc.edu (Maarten Bergvelt)Can someone please tell me where I can learn about (properties andapplications) of De Sitter groups and Anti de Sitter groups. I havefound a lot of papers and books (e.g hawking-ellis) which talk aboutthe geometry of dS and AdS space, but I'm really interested inlearning specifically about the groups. === Subject: Criterion for affine mapping?Originator: bergv@math.uiuc.edu (Maarten Bergvelt)Suppose that f is a bijection from Euclidean n-space (n > 1) to itself. Itis known that if f takes lines to lines then f is an affine mapping. Doesthere exist a bijection f which is not affine for which the set of lines Lsuch that f(L) is not a line is countable?I would be happy to know the situation for n = 2. === Subject: This Week's Finds in Mathematical Physics (Week 205)Originator: baez@math-cl-n01.math.ucr.edu (John Baez)Originator: bergv@math.uiuc.edu (Maarten Bergvelt)Also available at http://math.ucr.edu/home/baez/week205.htmlThis Week's Finds in Mathematical Physics - Week 205John Baez This week I'd like to say more about number theory, but first - here's the most fun book on astronomy I've ever seen:1) B. Kaler, The Hundred Greatest Stars, Copernicus Books(Springer Verlag), New York, 2002.It's just what the title says: a compilation of the author's 100favorite stars, each with a picture and a one-page description of what makes that star interesting. They're incredibly diverse, from the mammoth Eta Carinae to tiny brown dwarf Gliese 229B. You'll see soft gamma repeaters, yellow hypergiants, pulsars, Mira-type variables, barium stars, symbiotic stars, and more. There's also an introduction that explains the concepts needed to enjoy all these different kinds of stars, like the Hertzsprung-Russell diagram and a bit of nuclear physics. With the help of this, the whole book forms a wonderful taxonomy of stellar astrophysics. I suggest keeping it by your bed and reading one star a night - though you may wind up staying up late and devouring the whole book.On to number theory....There's a widespread impression that number theory is about *numbers*, but I'd like to correct this, or at least supplement it. A large part of number theory - and by the far the coolest part, in my opinion - is about a strange sort of *geometry*. I don't understand it very well, but that won't prevent me from taking a crack at trying to explain it....The basic idea is to push the analogy between integers and polynomials as far as it will go. They're similar because you can add, subtract andmultiply them, and these operations satisfy the usual rules we all learned in high school:x + y = y + x (x + y) + z = x + (y + z) x + 0 = x x + (-x) = 0xy = yx (xy)z = x(yz) x1 = xx(y + z) = xy + xzAnything satisfying these rules is called a commutative ring.There are also a lot of deeper similarities between integers andpolynomials, which I'll talk about later. But, there's a big difference! Polynomials are functions on the line, whereas the integers aren't functions on some space - at least, not in any instantly obvious way. The fact that polynomials are functions on a space is what lets us graph them. This lets us think about them using *geometry* - and also think about geometry using *them*. This was the idea behind Descartes'analytic geometry, and it was immensely fruitful.So, it would be cool if we could also think about the integers using geometry. And it turns out we can, but only if we stretch our concept of geometry far enough! If we do this, we'll see some cool things. First of all, we'll see that algebra is just like geometry, only backwards. What do I mean by this? Well, whenever you have a map T: X -> Y going from the space X to the space Y, you can use it to take functions on Y and turn them into functions on X. Since this goes backwards, it's called pulling back along T. Here's how it goes: if f is a function on Y, we get a function T*(f) on X given by:T*(f)(x) = f(T(x))Moreover, functions on a space form a commutative ring, since you can add and multiply them pointwise, and pulling back is a homomorphism, meaning that it preserves all the structure of a commutative ring:T*(f + g) = T*(f) + T*(g) T*(0) = 0T*(fg) = T*(f) T*(g) T*(1) = 1Conversely, any sufficiently nice homomorphism from functions on Y to functions on X will come from some map T: X -> Y this way! Here I'msummarizing a whole bunch of different theorems, each of which goes along with its own precise definition of space, map, and nice. Some of these theorems are technical, but the basic idea is simple: we can translate back and forth between the study of commutative rings (algebra) and the study of spaces (geometry) and by thinking of commutative rings as consisting of functions on spaces. We get a little dictionary for translating between geometry and algebra, like this: GEOMETRY ALGEBRA spaces commutative rings maps homomorphismsBut be careful: this translation turns maps into homomorphisms goingbackwards: it's contravariant. This is really important in two ways. First, suppose we have a point x in a space X. This gives a mapi: {x} -> XThis, in turn, gives a homomorphism i* sending functions on X to functions on {x}. Functions on a one-point space are like numbers, so i* acts like evaluation at x. Moreover, i* will tend to be onto: that's the backwards analogue of the fact that i is one-to-one!Second, suppose we have a map from a space E onto the space X: p: E -> X.If you know some topology, think of E as a covering space of X. Then we get a homomorphism p* from functions on X to functions on E. Moreoverp* will tend to be one-to-one: that's the backwards version of the fact that p was onto!We can use these examples to figure out the analogue of a point or a covering space in the world of commutative rings! And the resultingideas turn out to be crucial to modern number theory. In week199 I explained the analogue of a point for commutative rings: it's a prime ideal. So, now I want to explain the analogue of acovering space. This will expand our dictionary so that it relates Galois groups to fundamental groups of topological spaces... and so on. But, we won't get too far if we don't remember why a prime ideal islike a point! So, I guess I'd better review some of week199 before charging ahead into the beautiful wilderness.What's special about the ring of functions on a space consisting of just one point? Take real- or complex-valued functions, for example.How do these differ from the functions on a space with lots of points?The answer is pretty simple: on a space with just one point, a functionthat vanishes anywhere vanishes everywhere! So, the only functionthat fails to have a multiplicative inverse is 0. For bigger spaces,this isn't true.A commutative ring where only 0 fails to have a multiplicative inverseis called a field. So, the algebraic analogue of a one-point space isa field. This means that the algebraic analogue of a map from a one-pointspace into some other space:i: {x} -> Xshould be a homomorphism from a commutative ring R to a field k:f: R -> kOur translation dictionary now looks like this: GEOMETRY ALGEBRA spaces commutative rings maps homomorphisms one-point spaces fields maps from one-point spaces homomorphisms to fieldsIt's worth noting some subtleties here. In the geometry we learned in high school, once we see one point, we've seen 'em all: all one-point spaces are isomorphic. But not all fields are isomorphic! So, if we're trying to think of algebra as geometry, it's a funny sort of geometry where points come in different flavors! Moreover, there are homomorphisms between different fields. Theseact like flavor changing maps - maps from a point of one flavorto a point of some other flavor.If we have a homomorphism f: R -> k and a homomorphism from k to some other field k', we can compose them to get a homomorphism f': R -> k'. So, we're doing some funny sort of geometry where if we have a point mapped into our space, we can convert it into a point of some other flavor, using a flavor changing map. Now let's take this strange sort of geometry really seriously, andfigure out how to actually turn a commutative ring into a space! First I'll describe what people usually do. Eventually I'll describewhat perhaps they really should do - but maybe you can guess before I even tell you. People usually cook up a space called the spectrum of the commutativering R, or Spec(R) for short. What are the points of Spec(R)?They're not just all possible homomorphisms from R to all possible fields. Instead, we count two such homomorphisms as the same point of Spec(R) if they're related by a flavor changing process. In other words, f': R -> k' gives the same point as f: R -> k if you can get f' by composing f with a homomorphism from k to k'. This is a bit ungainly, but luckily there's a quick and easy way to tell when f: R -> k and f': R -> k' are related by such a flavor changing process, or a sequence of such processes. You just see if they havethe same kernel! The kernel of f: R -> k is the subset of R consistingof elements r with f(r) = 0The kernel of a homomorphism to a field is a prime ideal, and twohomomorphisms are related by a sequence of flavor changing processesiff they have the same kernel. Furthermore, every prime ideal isthe kernel of a homomorphism to some field. So, we can save time bydefining Spec(R) to be the set of prime ideals in R. For completeness I should remind you what a prime ideal is! An ideal in a ring R is a set closed under addition and closed under multiplication by anything in R. It's prime if it's not all of R, and whenever the product of two elements of R lies in the ideal, at least one of them lies in the ideal. So, we have something like this: GEOMETRY ALGEBRA spaces commutative rings maps homomorphisms one-point spaces fields maps from one-point spaces homomorphisms to fields points of a space prime ideals of a commutative ringNow let's use these ideas to study branched covering spaces and their analogues in algebra. This week I'll talk about two examples. The firstis very geometrical, and it should be familiar to anyone who has studied a little complex analysis. The second is more algebraic, and it's important in number theory. But, the cool part is that they fit into the same formalism!If you don't know what a branched covering space is, don't worry:we'll start with the very simplest example. We'll look at this map from the complex plane to itself:p: C -> Cp(z) = z^2Except for zero, every complex number has two square roots, so this map is two-to-one and onto away from the origin. In fact, away from the origin you can visualize this thing locally as two sheets of paper sitting above one. But these two sheets have a global complication: if you start on the top sheet and hike once around the origin, you wind up on the bottom sheet - and vice versa! In topology we call this sort of thing a double cover. When we include the point z = 0 things get even more complicated, since the two sheets meet there. So we have something trickier: a branched cover. In general, a branched cover is like a covering space except that the different sheets can mergetogether at certain points, called branch points. Now let's think about this algebraically. To keep from getting confused,let's write z^2 = wso that p is a map from the z plane down to the w plane, sending each point z to the point z^2 = w. The ring of polynomial functions on the zplane is called C[z]; the ring of polynomial functions on the w plane iscalled C[w]. We can pull functions from the w plane back up to the z plane:p*: C[w] -> C[z]and p* works in the obvious way, taking any function f(w) to the functionf(z^2).Just as p is onto, p* is one-to-one! So, we can think of C[w] as sitting inside C[z], consisting of those polynomials in z that only depend on z^2: the even functions. We say C[w] is a subring of C[z], or equivalently, that C[z] is an extension of C[w]. In this example we can get the bigger ring from the smaller one by throwing in solutions of some polynomial equations, so we call it an algebraic extension. We've already seen some algebraic extensions,namely algebraic number fields, where take the field of rational numbersand throw in some solutions of polynomial equations. Algebraic extensions can be complicated, but this one is really simple: we just start with C[w] and throw in the solution of *one* polynomial equation, namelyz^2 = wIt turns out that quite generally, algebraic extensions of commutativerings act a lot like branched covering spaces. I probably don't have the technical details perfectly straight, but let's add this to ourtranslation dictionary, because it's an important idea: GEOMETRY ALGEBRA spaces commutative rings maps homomorphisms one-point spaces fields maps from one-point spaces homomorphisms to fields points of a space prime ideals of a commutative ring branched covering spaces algebraic extensions of commutative ringsNow let's have some fun: let's see how our algebraic concept of point,namely prime ideal, interacts with our branched double cover of the complex plane. There's something straightforward going on, but also something more subtle and interesting.The straightforward thing is that any point up on the z plane maps to one down on the w plane. We don't need fancy algebra to see this! But, it'sworth doing algebraically. According to the fancy algebraic definition,a point in the spectrum of the commutative ring C[z] is a prime ideal.But as you might hope, these are the same as good old-fashioned points in the complex plane! It works like this: given any point x in C, we get a homomorphism from C[z] to C called evaluation at x, which sends any polynomial f to the number f(x). The kernel of this is the prime ideal consisting of all polynomials that vanish at x. These are just the polynomials containing a factor of z - x, so we call this ideal So, we get some prime ideals in C[z] from points of C this way. But in fact there's a theorem that *every* prime ideal in C[z] is of this form! So, we get a one-to-one correspondenceSpec(C[z]) = CSimilarly, Spec(C[w]) = CNow let's think about our branched cover p: C -> Cin different ways. It starts out life as a map from the z plane down to the w plane. We can use this to pull back functions on the w plane up to the z plane:p*: C[w] -> C[z]But then, by general abstract baloney, the inverse image under p* of any prime ideal in C[z] is a prime ideal back in C[w]. This gives a map from Spec(C[z]) to Spec(C[w]). But this is just a map from the z plane to the w plane! And it's the same map p we started with. If youdon't see why, it's a good exercise to check this.So: we translated from geometry to algebra and back to geometry, and we got right back where we started. Note that each time we translated,our description of the map p got turned around backwards.But there's a subtler and more interesting thing we can do with ourbranched cover. We can take a point down on the w plane and look at the points up on the z plane that map down to it! Usually there will be two, but for the origin there's just one. This much is clear from thinking geometrically. But if we think algebraically, we'll see something funny going on at the origin. We can already see it geometrically: the origin is where the two sheets of our branched cover meet, so we call it a branch point. But the algebraic viewpoint sheds an interesting new light on this. What we'll do is take a prime ideal in C[w] and push it forwards viap*: C[w] -> C[z]The resulting subset won't be an ideal, but it will generate an ideal, meaning we can take the smallest ideal containing it. Thisideal won't be prime, but we can factor it into prime ideals: there'sa fairly obvious way to multiply ideals, and we happen to be workingwith rings where there's a unique way to factor any ideal into primeideals.Let's try it. First pick a number x that's not zero. It gives a prime ideal in C[w], namely = <(z - sqrt(x)) (z + sqrt(x))> = splitsinto the prime ideals and when we go fromC[w] to the extension C[z]. This is just an overeducated way of sayingthe number x has two different square roots.But suppose x = 0. This doesn't have two square roots! Everythingworks the same except we get = ramifies when we go from C[w] to the extension C[z]. We still get a product of prime ideals; they just happen to be the same. This is a way of making sense of the funny notion that the number 0 has two square roots... which just happen to be the same! Lots of mathematicians and physicists talk about repeated roots whenan equation has two solutions that just happen to be equal. This is just a way of making that precise.But all this algebraic machinery must seem like overkill if this is the first time you've seen it. It pays off when we get to more algebraic examples. So, let me sketch the simplest one.Let Z be the ring of integers, and let Z[i] be the ring of Gaussian integers, namely numbers of the form a+bi where a and b are integers. Z[i] is an algebraic extension of Z, since we can get it by throwing in a solution z of the polynomial equationz^2 = -1This equation is quadratic, just like it was in the example we justdid! Now we're throwing in a square root of -1 instead of a square root of some function on the complex plane. But if we take the analogy between geometry and algebra seriously, this extension should still givesome sort of branched double coverp: Spec(Z[i]) -> Spec(Z)What's this like? It's actually really interesting, but I'll just *sketch* how it works.The points of Spec(Z) are prime ideals in Z. In week199 we saw that except for the prime ideal <0>, these are generated by prime numbers. Similarly, except for <0>, the prime ideals in Z[i] are generated by Gaussian primes: Gaussian numbers that have no factors except themselves and the units 1, -1, i and -i. (A unit in a ring is an element with a multiplicative inverse; we don't count units as primes.)The map p sends each Gaussian prime to a prime, and it's fun to workout how this goes... but it's even more fun to work backwards! Let'stake primes in the integers and see what happens when we let them generate ideals in the Gaussian integers! This is like taking points in the base space of a branched cover and seeing what's sitting up above them. For example, the prime 5 splits. It has two prime factors in theGaussian integers:5 = (2 + i)(2 - i)so in Z[i] the ideal it generates is a product of two prime ideals:<5> = <2 + i> <2 - iThis means that two different points in Spec(Z[i]) map down to thepoint <5> in Spec(Z), namely <2 + i> and <2 - i>. So we indeed havesomething like a double cover!On the other hand, the prime 2 ramifies. It has two prime factors inthe Gaussian integers:2 = (1 + i)(1 - i)but these two Gaussian primes generate the same prime ideal:<1 + i> = <1 - isince if we multiply 1+i by the unit -i we get 1-i. So, in the Gaussian integers we have<2> = <1 + i> <1 + iA repeated factor! This is just what happened to the branch point in our previous example: it had two points sitting over it, which happen to be the same. So far, everything seems to be working nicely. But, besides splitting and ramification, there's a third thing that happens here, which didn't happen in our example involving the complex plane. In fact, this third option never happens when we're doing algebraic geometry over the complex numbers! Here's how it works. Consider the prime 3. This is still prime in theGaussian integers! It doesn't split, and it doesn't ramify. If wefactorize the ideal generated by 3 in Z[i] we just get<3> = <3It doesn't do anything - it just sits there! So, we say this prime is inert.This may seem boring, but it's actually mysterious - and downright MADDENING if we take the analogy between geometry and algebra seriously.It's weird enough to have a branched cover where sheets merge at certain points, but at least in that case we can *see* they've merged:a prime ideal in our subring generates an ideal in the extension that's not prime, but is a product of several prime factors, some of which happen to be the same. But when a prime ideal in our subring generates a PRIME ideal in the extension, it's as if our cover has just ONEsheet over this point in the base space! And if this happens for a quadratic extension - as it just did - something seems to have gone horribly wrong with the nice idea that quadratic extensions are like branched double covers.Luckily, this puzzle has a nice resolution. We shouldn't havedecategorified! When we started discussing points for a commutativering, we saw they form a category in a nice way: there are points ofdifferent flavors, with flavor-changing operations going betweenthem. Then we freaked out and turned this category into a set bydecreeing that two point are the same whenever there's a morphism between them. If we hadn't done this, we'd have seen more clearly how inert primes fit into a nice pattern along with split and ramified ones. I'll probably talk about this more sometime, and also look more carefullyat what happens to all the different primes when we go to the Gaussianintegers - to show you that we are, indeed, doing number theory!But for now, I just want to make a few comments about this idea of points of different flavors. In fact Grothendieck proposed an even more general idea of this sort inhis second approach to schemes, which is simpler but much less widelydiscussed than his first approach. Basically, he said that given acommutative ring R, we should not only consider points that are homomorphisms from R to any *field*, but also to any *commutative ring*.For each commutative ring k we get a set consisting of all k-points,of R, namely homomorphisms f: R -> kAnd, for each homomorphism g: k -> k' we get a flavor changingoperation that sends k-points to k'-points. So, we get a functorfrom CommRing to Set! He called such a functor a scheme. We can get schemes from commutative rings as just described - these are calledaffine schemes - but there are also others, for example those comingfrom projective varieties. Anyway, here are some places to read more about number theory... mostly with an emphasis on the geometric viewpoint and the issue of splitting,ramification and inertia.For a really quick and friendly no-nonsense introduction, try this:2) Harold M. Stark, Galois Theory, Algebraic Number Theory, and ZetaSpringer, Berlin, 1992, pp. 313-393.To dig a lot deeper, try this book by Neukirch:3) Juergen Neukirch, Algebraic Number Theory, trans. Norbert Schappacher, Springer, Berlin, 1986. I already mentioned it, but it's worth mentioning again, because it's pretty elementary, and very clear on the analogy between function fields (fields of functions on Riemann surfaces) and number fields (algebraic number fields). This book by Borevich and Shafarevich doesn't make the analogy to geometry explicit:4) Z. I. Borevich and I. R. Shafarevich, Number Theory, trans.Newcomb Greenleaf, Academic Press, New York, 1966.However, it has a nice concept of a theory of divisors for a commutative ring - and if you know a bit about divisors from algebraic geometry, you'll see that this is *secretly* very geometrical! Theyshow how to classify algebraic extensions of commutative rings using a theory of divisors, and show how to get a theory of divisors using valuations. This manages to accomplish a lot of what other texts do using adeles, without actually mentioning adeles. I find this instructive. This book goes much further in the geometric direction, but stillwithout introducing schemes:5) Dino Lorenzini, An Invitation to Arithmetic Geometry, American Mathematical Society, Providence, Rhode Island, 1996.It's really great - very pedagogical! It develops number fields andfunction fields in parallel. You'll need to be pretty comfy with commutative algebra to work all the way through it, though.If you want to learn about schemes - not the kind I just talked about,just the usual sort, which still includes cool spaces like Spec(Z) - try these:6) V. I. Danilov, V. V. Shokurov, and I. Shafarevich, Algebraic Curves, Algebraic Manifolds and Schemes, Springer, Berlin, 1998. 7) David Eisenbud and Joe Harris, The Geometry of Schemes, Springer,Berlin, 2000.Schemes have a reputation for being scary, but both these books try hardto make them less so, including lots of actual *pictures* of things likeSpec(Z[i]) sitting over Spec(Z).To wrap things up, I just want to mention two papers on subjects I'm fond of....In week172 I discussed Tarski's high school algebra problem.This asks whether every identity involving 1, +, x, and exponentials that holds in the positive natural numbers follows from the elevenwe learned in high school:x + y = y + x (x + y) + z = x + (y + z) xy = yx (xy)z = x(yz)1x = xx^1 = x 1^x = 1x(y + z) = xy + xz x^(y + z) = x^y x^z (xy)^z = x^z y^z x^(yz) = (x^y)^z The rules of this game allow only purely equational reasoning - not stuff like mathematical induction. The reason is that this is secretly a problem about universal algebra or algebraic theories, as explained in week200.It turns out the answer is NO! In fact there are infinitely many more independent identities! Here is the first one, due to Wilkies:[(x + 1)^x + (x^2 + x + 1)^x]^y [(x^3 + 1)^y + (x^4 + x^2 + 1)^y]^x =[(x + 1)^y + (x^2 + x + 1)^y]^x [(x^3 + 1)^x + (x^4 + x^2 + 1)^x]^y I just found a paper, apparently written after week172, which givesa very detailed account of this problem:8) Stanley Burris and Karen Yeats, The saga of the high schoolidentities, available athttp://www.thoralf.uwaterloo.ca/htdocs/MYWORKS/ preprints.htmlIt includes some new results, like the smallest known algebraicgadget satisfying all the high school identities but not Wilkies'identity - but also more interesting things that are a bit harder todescribe.Also, here's a cool paper relating some of Ramanujan's work to string theory:9) Antun Milas, Ramanujan's Lost Notebook and the Virasoro Algebra,available as math.QA/0309201. A *lot* of Ramanujan's weird identities turn out to be related to conceptsfrom string theory, suggesting that he was born about a century too soonto be fully appreciated... but this paper tackles an identity of his thatnobody had managed to explain using string theory before.mathematics and physics, as well as some of my research papers, can beobtained athttp://math.ucr.edu/home/baez/For a table of contents of all the issues of This Week's Finds, tryhttp://math.ucr.edu/home/baez/twf.htmlA simple jumping-off point to the old issues is available athttp://math.ucr.edu/home/baez/twfshort.htmlIf you just want the latest issue, go tohttp://math.ucr.edu/home/baez/this.week.html === Subject: Paper published by Geometry and TopologyOriginator: bergv@math.uiuc.edu (Maarten Bergvelt)The following paper has been published:URL:http://www.maths.warwick.ac.uk/gt/GTVol8/paper15 .abs.htmlTitle:Finiteness properties of soluble arithmetic groups over global function fieldsAuthor(s):Kai-Uwe BuxAbstract:Let G be a Chevalley group scheme and B<=G a Borel subgroup scheme,both defined over Z. Let K be a global function field, S be a finitenon-empty set of places over K, and O_S be the correspondingS-arithmetic ring. Then, the S-arithmetic group B(O_S) is of typeF_{|S|-1} but not of type FP_{|S|}. Moreover one can derive lower andupper bounds for the geometric invariants Sigma ^m(B(O_S)). These aresharp if G has rank 1. For higher ranks, the estimates imply thatnormal subgroups of B(O_S) with abelian quotients, generically,satisfy strong finiteness conditions.Secondary: 20F65Keywords:Arithmetic groups, soluble groups, finiteness properties, actions on buildingsProposed: Benson FarbSeconded: Martin Bridson, Steven FerryAuthor(s) address(es):Cornell University, Department of Mathemtics Malott Hall 310, Ithaca, NY 14853-4201, USAURL: http://www.kubux.net === Subject: Re: Infinitesimal generators of symplectic algebra Sp(6,R)Originator: bergv@math.uiuc.edu (Maarten Bergvelt)> I am a physicist and I need a basis for the symplectic group Sp(6,R),> with 21 orthonormal and> independent 6x6 matrices, constructed (I imagine) as block-matrices> with the> following the 2x2 submatrices> / 1 0 > 0 1 /> / 1 0 > 0 -1 /> / 0 1 > 1 0 /> / 0 1 > -1 0 /> Can you help me? I find it easiest to work in the canonical (Heisenberg) algebra.Define P_k, X^k as components of a 3-vector and 3-covector.Work with canonical Lie product (Poisson brackets):[P_j,X^k] = 1delta^k_j.Then the second order canonical generators define the Symplectic group'sLie algebra:F -> [P_kP_j, F] = M_{jk}F count = n(n+1)/2 (6 for n=3)F -> [X^jX^k, F] = N^{jk}F count = n(n+1)/2 (6 for n=3)F -> [P_k X^j, F] = L^j_k F count = n^2 (9 for n=3)Note the PX terms L^j_k generate the subgroup GL(n)Now if you want a faithful linear representation look at the effecton the six dimensional space of $X + P$'s. Note that the GL(3) subgroupwill act dually on the X's and the P's.They should resolve as block matrices actingon the column vector: | x^1 | | x^2 | | x^3 | | p_1 | | p_2 | | p_3 |You'll have 2x2 matrix of 3x3 block matrices.To get a 3x3 matrix of 2x2 block matrices use: | x^1 | | p_1 | | x^2 | | p_2 | | x^3 | | p_3 |And you may have to take some linear combos of the generatorsas I've indexed them above.Hope this helps.