Slashdot Mirror


Open Source Math

An anonymous reader writes "The American Mathematical society has an opinion piece about open source software vs propietary software used in mathematics. From the article : "Increasingly, proprietary software and the algorithms used are an essential part of mathematical proofs. To quote J. Neubüser, 'with this situation two of the most basic rules of conduct in mathematics are violated: In mathematics information is passed on free of charge and everything is laid open for checking.'""

352 comments

  1. Lol by Matt867 · · Score: 5, Funny

    Thanks for the article, now some crazed company is going to try to copyright math.

    1. Re:Lol by Roager · · Score: 1

      10 bucks on Microsoft!

    2. Re:Lol by Anonymous Coward · · Score: 5, Funny

      I am going to copyright 0 = 1.
      Any software that contains i = i+1 must license my math.

    3. Re:Lol by Dunbal · · Score: 4, Funny

      Sorry, but I've already patented the systematic use and manipulation of abstract symbols representing real world quantities in order to derive relationships.

      --
      Seven puppies were harmed during the making of this post.
    4. Re:Lol by Plutonite · · Score: 4, Funny

      Sorry, but I've already patented the systematic use and manipulation of abstract symbols representing real world quantities in order to derive relationships. And I've copyrighted proverbial hand-waving. Together, we hold the scientific community hostage!
    5. Re:Lol by Dunbal · · Score: 0, Redundant

      Oblig Dr. Evil:

      We should ask for ONE MILLION DOLLARS!

      --
      Seven puppies were harmed during the making of this post.
    6. Re:Lol by RockoTDF · · Score: 2, Funny

      i++ will then become the new symbol of freedom! Way to go dude.

      --
      There is more to science than physics!

      www.iomalfunction.blogspot.com
    7. Re:Lol by william_tell · · Score: 3, Funny

      I wish I figured this out in school. All those times the teacher would ask me to show my work. I could have just said, "Sorry but my solution is proprietary, and therefore I can't show my work."

    8. Re:Lol by Jarjarthejedi · · Score: 2, Funny

      Not without my patents on 'Methods of convincing individuals, or groups of individuals, to abide unanimously with a procedure or piece of information developed or discovered by an independently third party' and 'Preventing a group of individuals, or an individual, from being able to make an independent decision by means of force, be it verbal, physical, or implied.'

      --
      There are two kinds of fool One says 'This is old therefore good' Another says 'This is new therefore better'- Dean Ing
    9. Re:Lol by BrentH · · Score: 1

      Good thing mathematicians didn't really like realworld anyway. Now finally they can do what we always thought they already did: math for maths sake.

    10. Re:Lol by Pendersempai · · Score: 1

      That shouldn't be a problem, since in high math, the abstract symbols do not represent real world quantities.

    11. Re:Lol by Kyojin · · Score: 1

      no problem, we'll just use ++i, i++, i+=1, i=1+i (depending on what type i is and the language used, addition may not be commutative), i=i-3; i=i+4 and so forth.

      I've missed a billion variations on that, but I would lament the loss of any idiomatic code, code designed for teaching, or any code really.

    12. Re:Lol by Just+Some+Guy · · Score: 1

      Sorry, but I've already patented the systematic use and manipulation of abstract symbols representing real world quantities in order to derive relationships.

      Great idea! Now I'm off to patent "the systematic use and manipulation of abstract symbols representing real world quantities in order to derive relationships... with a computer."

      I'll use the royalties to follow up with "...over a computer network" and "...over a wireless computer network" in a few months.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:Lol by Pseudonym · · Score: 1

      You should have offered her a zero-knowledge proof.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    14. Re:Lol by Anonymous Coward · · Score: 0

      I'm going to copyright 0.9999... < 1.

      No serious mathematician will have prior art, but lots of dummies will want to license my result.

    15. Re:Lol by rarkm · · Score: 1

      I'm sorry, but I've copyrighted all the vowels, y and the consonents S, F, C and K. All of you should expect a scary letter from my law firm shortly. I would also recommend that after you read this you not make any exclamations utilizing any of the letters in the "F" word, as that will leave you liable for treble damages and a court order directing that you never speak again.

      --
      [Insert pretentious and semi-clever sig here: ______ ]
    16. Re:Lol by donscarletti · · Score: 3, Funny

      The assertion i=i+1 just made the field of complex numbers one step more, um, complex.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    17. Re:Lol by n+dot+l · · Score: 1

      Looks like Slashdot's going a bit far protecting this dude's copyright. I tried to swear at him using the Cyrillic alphabet, and the characters were edited right out of the comment! So much for clever loopholes...

      And yes, pedantic jerk that didn't get the (admitadely lame) joke, I did check the page source, it's not my browser.

    18. Re:Lol by El+Cabri · · Score: 1

      Parent is indeed funny, and should also be moderated as insightful for pointing out the idiocy of the syntax for assignment that has been the mainstream one since the C language.

    19. Re:Lol by superwiz · · Score: 1

      Mathematics is my light and salvation: whom shall I fear? Kurt Gödel
      --
      Any guest worker system is indistinguishable from indentured servitude.
    20. Re:Lol by mfnickster · · Score: 1

      Parent is indeed funny, and should also be moderated as insightful for pointing out the idiocy of the syntax for assignment that has been the mainstream one since the C language.

      Don't blame C for that - assignment using '=' goes all the way back to Fortran (circa 1955)!

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    21. Re:Lol by Plutonite · · Score: 1

      Not really: I should love him, because he showed us the limitations of logical systems in general, so that when we speak we speak the truth in its entirety and when we are silent we can mathematically prove that we should indeed be silent. It is the physicists and their self-referential models that fear Gödel; mathematicians were only made stronger by his observations.

      By the way the quote is ripped right out of the Opus Dei prayer in Latin, with slight modification :)

    22. Re:Lol by superwiz · · Score: 1

      Not really: I should love him, because he showed us the limitations of logical systems in general, so that when we speak we speak the truth in its entirety and when we are silent we can mathematically prove that we should indeed be silent. I wish! He showed that when we speak we can always say things which are true and yet cannot be shown to be true. So we are never sure if inability to prove something is due to our limitations or due to the nature of a particular axiomatic system. So he showed the opposite of

      when we are silent we can mathematically prove that we should indeed be silent

      By the way the quote is ripped right out of the Opus Dei prayer in Latin, with slight modification :) I know. That was cute. :)
      --
      Any guest worker system is indistinguishable from indentured servitude.
  2. It's all... by Shikaku · · Score: 2, Insightful

    about the money.

    1. Re:It's all... by asm2750 · · Score: 1

      You are right about that, mathworks the maker of matlab pulls alot of vendor lock-in stuff just to keep their customers. Its not that matlab is a bad product, but honestly vendor lock-in is the most underhanded thing to do to a customer IMO.

  3. Python is part of the answer by Ckwop · · Score: 5, Insightful

    I am no a mathematician but surely if you're going to submit a computer aided proof you must submit a full copy of the program. The are all manor of subtle mistakes that can be made in a program that could cause serious problems with a proof.

    Suppose you inspect the source and find it to be faultless, how can you trust the compiler. And if you hand compile the compiler, how can you trust the CPU? Surely it's turtles all the way down.

    In many ways, establishing the correctness of a computer-aided proof is very much like security engineering. You want to verify that the whole software stack is operating correctly before you can trust the result. Having the source-code is a pre-requisite to this exercise.

    Changing to topic slightly, I was particularly heartened to see that the open-source mathematics framework being developed one of the authors of the article involves the use of Python.

    My immediate thought when seeing the title to the article was "Python is the answer." When some problem or algorithm intrigues me the first thing that happens is that I reach for the Python interpreter.

    Python seems to deftly marry precision with looseness. When code is laid out in Python I find it is easier to see what it's trying to do than other languages. It's aesthetic qualities aside, it supports a number of features out of the box which I imagine would be ideal of mathematicians. To list a few, it's treating of lists and tuples as first class objects, support for large integers, complex numbers, it's ability to integrate with C for high-performance work.

    I often think of Python as "basic done right" and it's ideal for mathematicians (or anybody) who don't want to think about programming but the problem at hand.

    Simon

    1. Re:Python is part of the answer by snarkh · · Score: 5, Interesting

      I have seen from personal experience, how a compiler error (some sort of incorrect optimization) led to a subtle difference in the results of a simple classification task.

      The insidious thing about that particular result was that it looked very similar to the correct. In fact the difference would not have been found if two people did not run different versions of code independently (and more or less coincidentally) arriving to slightly different error rates.

    2. Re:Python is part of the answer by nwbvt · · Score: 5, Informative

      I used Python fairly extensively in my number theory course back in college, it did the job fairly well. Its support for large integers was especially important for that class. And the fact that it was very familiar to me (I was a double major in CS and math), it was very easy for me to crank out an algorithm in it. However, most of the book's examples were in Mathematica, which I ended up getting as well. It was a neat tool, but now that my student license has expired and I don't feel like spending a few grand on another license, everything I wrote in that is useless. However I can still pull out my old Python programs and see what it was I was doing.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    3. Re:Python is part of the answer by noidentity · · Score: 0

      In many ways, establishing the correctness of a computer-aided proof is very much like security engineering. You want to verify that the whole software stack is operating correctly before you can trust the result. Having the source-code is a pre-requisite to this exercise.

      I never thought about it until now, but I'd say that math "proofs" done by a computer shouldn't be given as solid a status as those done by humans. It's too easy for the computer to have a glaring bug. Maybe if more than one independently developed proof checking program were run over it (simulating more than one fallible human going over a proof), but how will that happen with patented, proprietary math programs?

    4. Re:Python is part of the answer by ndevice · · Score: 1

      ironically, it's all a house of cards

    5. Re:Python is part of the answer by Dunbal · · Score: 3, Insightful

      The are all manor of subtle mistakes that can be made in a program that could cause serious problems with a proof.

      No mistakes. After all, the Ultimate Answer really is 42. My program proves it!

      #define MYANSWER "42"

      int main()
      {
            printf("The result is: %s.", MYANSWER);
      }


      No, you CAN'T have the source code... but look, my program proves it! LOOK AT THE PROGRAM!

      --
      Seven puppies were harmed during the making of this post.
    6. Re:Python is part of the answer by otomo_1001 · · Score: 1

      Not to troll or anything, but every one of your reasons for using Python is why I use Ruby.

      Some *very* recent others that make me like it:
      * I can now use versions of Ruby that work with dtrace on Leopard and Solaris/Opensolaris (haven't tried FreeBSD yet).
      * Ruby on Rails, yes despite the hype I like it. Though there are annoyances.
      * I can also build Ruby (and Python) programs in osx without Coacoa/Objective C. Supported too, yay.
      * (Not recent, but the reason I prefer Ruby to Python) Whitespace is optional, as are parentheses. I am looking at Perl right now.

      Faults in 1.8 I don't like:
      * longjmp/setjmp threading versus native threads in the interpreter. Sort of annoying to have to restrict certain things to the main "thread".
      * Some functional aspects end up using insane amounts of memory if used.

      In either case use what works for you, I use Ruby since it lets me work on the solution to the problem. If Python does that more power to you.

      Back to the topic, shouldn't the math community be promoting a specific language then if they want to develop proofs with computers? Something like Haskell version XYZ should be used for all submitted proofs to verify everything? If we distrust every component of the computing stack we might as well throw them away as being useless. Although if we have a test framework/harness to verify proper operation we can leave most of this up to the interpreter/compiler.

      I am sure I will get proven wrong on all this so be gentle!

    7. Re:Python is part of the answer by poopdeville · · Score: 4, Insightful

      I am no a mathematician but surely if you're going to submit a computer aided proof you must submit a full copy of the program. The are all manor of subtle mistakes that can be made in a program that could cause serious problems with a proof.

      I am a mathematician. Your referees might ask to inspect the source code. This is akin to a biologist being asked to produce her raw data. But it's pointless anyway. Because...

      In many ways, establishing the correctness of a computer-aided proof is very much like security engineering. You want to verify that the whole software stack is operating correctly before you can trust the result. Having the source-code is a pre-requisite to this exercise.

      The AMS isn't worried about the correctness of these "proofs." They aren't proofs. It is logically possible for one of these programs to return the wrong answer, even if the program is correctly implemented. Ergo, it is not a proof.

      Computing, in mathematics, is a source of fresh problems and a vehicle to explore and gain insight about mathematical structures. The AMS is far more concerned about good exploratory algorithms getting swept up by Wolfram Inc., and Mathworks, and the like, and never being seen by mathematicians again.

      Regarding which language is approriate for mathematics, the answer is whichever clearly expresses the idea you're trying to write. Lexical scoping is familiar to us. I know I prefer it, since it lessens my cognitive load. I prefer dynamically typed languages. I need the ability to construct anonymous functions efficiently. And I would prefer automatic memoization. Development time is always an issue. Most languages don't come with extensive mathematical algorithm libraries. So you'll either have to write them yourself (time consuming; boring, unless you're into that stuff) or find some. I've used Perl, Ruby, Scheme, and C.

      --
      After all, I am strangely colored.
    8. Re:Python is part of the answer by aldheorte · · Score: 1

      Second that on Ruby. I think Ruby is where the brain share and community is going, nothing against Python per se.

      You have to be careful with Python and Ruby though. For example, I wrote a symbolic math interpreter for simplifying algebraic equations in Ruby. I then realized that I had reinvented LISP.

      I do not actually program LISP, but in the end, LISP rules all as a programming language, especially when pure math is considered.

    9. Re:Python is part of the answer by El_Isma · · Score: 5, Informative

      Let me recommmend you Maxima http://maxima.sourceforge.net/
      It's a GPL Computer Algebra System and it's in active development. I use it all the time.

    10. Re:Python is part of the answer by Anonymous Coward · · Score: 0
      "The are all manor of subtle mistakes"


      Or not so subtle spelling mistakes. A manor is a large house. Manner. The word you want is manner.

    11. Re:Python is part of the answer by Anonymous+Brave+Guy · · Score: 2, Interesting

      I fear you and/or the AMS are giving too much credit to the big names in mathematical software. Sure, they have some bright people and they do some useful research in their own right, but they're still only human. They make mistakes, their software has bugs, and they don't know lots of deep secrets that the rest of academia don't. In fact, the development practices at certain high profile mathematical software companies leave a lot to be desired; they tend to hire PhD types, who know a lot about mathematics but may or may not know jack about how to write good software. I rather doubt they're about to kidnap all the leading edge research and make it disappear from everyone not working for them.

      Disclosure: I work for a mathematical software firm well known in its industry, and I've encountered some of the others in a professional context. I am speaking personally and not on behalf of anyone else here.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    12. Re:Python is part of the answer by rucs_hack · · Score: 1

      The AMS isn't worried about the correctness of these "proofs." They aren't proofs. It is logically possible for one of these programs to return the wrong answer, even if the program is correctly implemented. Ergo, it is not a proof.

      I might be wrong, but it occurs to me that a program which 'proves' a mathematical hypothesis can only, on inspection, be shown to be a proof of the program itself, not the initial hypothesis.

      The problem with software is that it can be made to do anything. Want to model colliding galaxies that mimic observed or hypothesised behaviour? Easy, jut twealk till you get the right result.
      The result however will not be a 'proof' of the true mechanisms underlying the event in the real universe. The issue then is what you are trying to prove. If it's something that is outside of the domain of the computer, then you can't use it as a proof, since you almost certainly cannot reproduce enough of the influencing factors, in most cases you need to simplify to model in silico. If, on the other hand you aim is solely to produce a model that looks the same, but is not said to be trying to prove the mechanism of galaxy collision, then you can say the software is the 'proof' of your simulation being able to poduce something that looks the same.

      If the problem being demonstrated is itself solely in the domain of software, then the software can be the proof, in way, albeit not the conventional meaning of the word proof as used in mathematics.

      Consider machine learning as applied to pattern recognition. You design your classification data structure/algorithm, then construct software that optimises it to perform that pattern recognition as well as can be cheived.
      In that case the result of the software can be considered the the evidence that supports the hypothesised performance, and the souce code would, in effect, be the 'proof' in loose terms, as it would be the means by which the aproach is shown to be valid.

      In most cases, it would just be the result that mattered, but unless you can provide a description of the software, or the software itself, so the method can be independantly implemented and verified as producing the results you show, you wouldn't get taken seriously. In that way the software performs the same function as a mathematical proof. It can be independantly checked.

    13. Re:Python is part of the answer by jelle · · Score: 3, Informative

      From your description, it sound as if you found that the code returned different results at different optimization settings for the compiler, but did not pinpoint what instruction sequence exactly caused the difference.

      Unless you were using an experimental compiler, that usually means a bug in the code, not a bug in the compiler. Run the code with valgrind, you'll probably find out-of-bound addressing, or uninitialized reads (the signs of the problem being in the code, not the compiler)... Or if you use threads, it can also be in your locks...

      The reason for that is that such code bugs often result in different code execution at different compiler optimization settings.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    14. Re:Python is part of the answer by argiedot · · Score: 1

      With a little work you may be able to do something with Octave, it's partly compatible with Mathematica code.

    15. Re:Python is part of the answer by jrminter · · Score: 3, Informative

      In addition to octave and maxima, there is sage. I have been impressed.

    16. Re:Python is part of the answer by poopdeville · · Score: 2, Interesting

      I fear you and/or the AMS are giving too much credit to the big names in mathematical software.

      I can see why you might think that, but my point had little to do with commercial software houses. My main point was that computer-assisted "proofs" are not proofs in the mathematical sense. They're "results" that rest "scientifically" on the software and hardware and real world. It really doesn't matter whether I use my implementation of Newton's Method or Mathematica's. Neither should be trusted in a proof.

      I forget who it was (Wiles maybe?), but a famous mathematician once described doing mathematical research as groping around a dark cave, trying to find an exit. A computer program is like a flashlight. Not an exit, but a helpful tool for finding it.

      --
      After all, I am strangely colored.
    17. Re:Python is part of the answer by Have+Brain+Will+Rent · · Score: 1

      It seems to me that if you were looking for a language for mathematicians that it would be something that is syntactically very close to mathematical notation... APL was/is such a language, and with all the interactiveness of Basic... but mathematicians aren't using it in any significant number and never really did.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    18. Re:Python is part of the answer by Dare+nMc · · Score: 2, Insightful

      You want to verify that the whole software stack is operating correctly before you can trust the result. Having the source-code is a pre-requisite to this exercise.


      I disagree, it is certainly possible to prove to a reasonable certainty what a black box is doing. It may be easier, or more though to prove looking into the box.
      As you say, for all practicality no one is going to be able to confirm the entire software stack, by looking at the code for any proof. unless your running the final step on a basic stamp.
      But if you re-run the program multiple times with the same result, and you run multiple iterations of very similar problems that you know the results of, and they all agree, you can build a reasonable proof.
    19. Re:Python is part of the answer by Bert64 · · Score: 1

      Well, you're only really responsible for the correctness of your own code.
      As to the compiler and CPU, so long as you use a combination that have been verified as correct by other mathematicians you should be fine.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    20. Re:Python is part of the answer by Anonymous Coward · · Score: 1, Funny

      I am a mathematician.
      Yeah right. I don't see any publications by you on MathSciNet, Mr. poopdeville.
    21. Re:Python is part of the answer by Anonymous+Brave+Guy · · Score: 1

      Fair enough.

      The thing that always gets me about the concept of a mathematical proof is that it seems to be turtles all the way down. Sure, if you're proving, say, a simple result in group theory derived trivially from axioms, then the proof can be quite convincing. But recent proofs for some famous results run to many pages, and as experience shows, a "proof" can turn out to be completely undermined by a simple flaw in the logic that the person presenting the proof missed. Even if you break the steps down logically, as any substantial proof surely will, you ultimately rely on the logic being correct. Even if you employ some sort of automated theorem proving approach, how do you know that is operating correctly, and that whatever rules of logic or axioms it applies are themselves self-consistent and won't be undermined by some devious paradox discovered tomorrow?

      I wouldn't be surprised to find that very clever people have long since worked out how to avoid these issues, but throughout my formal academic studies in the field, no-one ever really showed me a satisfactory explanation.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    22. Re:Python is part of the answer by ozbird · · Score: 2, Funny

      The are all manor of subtle mistakes... Irony?

    23. Re:Python is part of the answer by gEvil+(beta) · · Score: 0

      Or not so subtle spelling mistakes. A manor is a large house. Manner. The word you want is manner.

      STFU grammer nazi! Language EVOLVES! Get with the pogram!

      --
      This guy's the limit!
    24. Re:Python is part of the answer by Goaway · · Score: 2, Insightful

      You are confusing maths and physics. Mathematicians do not care about galaxies, nor the "real world" at all. Their proofs and theorems live entirely in the world of abstract logic.

    25. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      I agree with you about languages like Python being part of the solution. You could pick Ruby too, or any number of other languages, but the basic idea I agree with. Incidentally, in my experience, Python is sort of becoming some sort of quasi-standard for math programming outside of more specialized languages (e.g., SAGE, written by one of the authors of the piece, is scripted in Python).

      Having said all that, however, there's a larger problem with math programming that's not being recognized in the opinion piece: there is currently no good language for doing math in.

      I do statistics research, and I am repeatedly frustrated by the lack of truly good languages to do programming in. You either have to write in C/C++ or Fortran, which are horribly outdated or overly baroque for math programming, or in languages like R/MATLAB/Maxima, which are elegant for math programming, but are unnecessarily slow.

      What's happened is that the difficulty of programming in languages like Fortran or C has driven people, aware or unaware, to closed-source languages like MATLAB, which are much easier to write in.

      I don't think much will change in levels of use of open languages for programming until there is a fast, relatively low-level, modern powerful language that is targeted toward math/numerical programming in particular, and other applications secondary to that.

      I think something like Fortress might provide that sort of solution, but it's a little ways off yet.

      This is not to say at all that things like R, MATLAB, Maxima, Mathematica, etc. aren't useful, just that I think a certain number of closed systems resulted from dissatisfaction with the existing open languages, that were becoming too cumbersome to use for numerical programming.

    26. Re:Python is part of the answer by Garridan · · Score: 2, Interesting

      Wow. I've never seen the phrase, "I don't know anything about this topic" drawn out into such a long statement!

      Disclaimer: IANAM (I am not a mathematician), but I'm applying to grad schools in math, and I work with mathematicians who use computer-aided proofs on a daily basis. Most mathematicians are not concerned with such loose and squirrely concepts such as colliding universes. We care about actual mathematical objects.

      For instance, the proof of the four-coloring theorem -- first it was proved by purely mathematical means that every planar graph is essentially the same as one of a few thousand small "representative" graphs. By "essentially the same", I mean that if the representative graph is four-colorable, than the original graph is, too. Then, use a computer program to color each graph with four colors. Finally, give the results to a couple of independent teams and have them verify that your coloring contains no errors.

      This isn't the mess of tweaks & hacks that you describe. Now. With closed-source math software, one can never be sure that provable methods are used. With open source, one can.

      Sage has bugs. You can fix them. Try that with Mathematica.

    27. Re:Python is part of the answer by Garridan · · Score: 1

      Yes. There's a huge frikkin' house full of subtle issues. What's your problem with this? ;)

    28. Re:Python is part of the answer by Garridan · · Score: 4, Informative

      Disclaimer: I'm a Sage developer.

      Sage has a very good solution to this: Cython. It's a very easy language, almost identitical to Python, which can be used to bind C to Python (for instance, we use GMP and GSL extensively through Cython) as well as compile Python-like code to C, which can be accessed by Python & vice verse. It's very intuitive, and very fast.

    29. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      >> Or not so subtle spelling mistakes. A manor is a large house. Manner. The word you want is manner.

      > STFU grammer nazi! Language EVOLVES! Get with the pogram!

      I see. And you've decided to force it down your chosen evolutionary path by confusing people with as many stupid mistakes as possible. Brilliant monkey, you are.

    30. Re:Python is part of the answer by poopdeville · · Score: 1

      Yes, this is an interesting question.

      Suffice it to say there is no consensus on the issue among those who care. The status quo has historically been forcefully rejected by prominent figures. The important historical names to know are: Cantor, Frege, Russell and Whitehead, Hausdorff, Brouwer, Hilbert, Wittgenstein, Godel, Lakatos.

      --
      After all, I am strangely colored.
    31. Re:Python is part of the answer by poopdeville · · Score: 1

      For instance, the proof of the four-coloring theorem -- first it was proved by purely mathematical means that every planar graph is essentially the same as one of a few thousand small "representative" graphs. By "essentially the same", I mean that if the representative graph is four-colorable, than the original graph is, too. Then, use a computer program to color each graph with four colors. Finally, give the results to a couple of independent teams and have them verify that your coloring contains no errors.

      Yup, that's why it's not really a "proof". I might sound cranky going on and on about this, but it's really important. Especially for the future of mathematics.

      The FCT's proof essentially enumerated the equivalence classes of graphs and showed that they were four-colorable. That's great.

      Now, the odds of a computer's processor getting hit by a gamma ray and turning a NOT FOUR COLORABLE result into a positive one is non-zero. Negligible, of course. And for this reason I have no doubt the FCT is true. But the truth of FCT does not logically follow from the experiment. What will we do when we start enumerating enough objects that the odds aren't negligible?

      There's a fine line between mathematics and the other sciences. Empirical results are obviously worthwhile, but I do not want to give up the kind of certainty real proof requires.

      --
      After all, I am strangely colored.
    32. Re:Python is part of the answer by budgenator · · Score: 1

      It's not the glaring bugs, they're easy to trip over, but the subtle ones, or even worst the ones that aren't really bugs but assumptions and approximations that could have been made better. When the proof is made using assumptions, and the assupmtions change we need to re-evaluate the proof, in order to do that we need to have the source code for the programs used.

      --
      Apocalypse Cancelled, Sorry, No Ticket Refunds
    33. Re:Python is part of the answer by gnasher719 · · Score: 1

      Now, the odds of a computer's processor getting hit by a gamma ray and turning a NOT FOUR COLORABLE result into a positive one is non-zero. Negligible, of course. And for this reason I have no doubt the FCT is true. But the truth of FCT does not logically follow from the experiment. What will we do when we start enumerating enough objects that the odds aren't negligible? Careful; it depends on exactly what the software is used for. If I need to proof that out of a set of 2000 complicated graphs each single one is four-colourable, then I can write a program that prints my 2000 graphs on a colour printer using four colours. If it took me manually one hour per graph to find a four-colouring and only one minute to check whether a four-colouring is correct, then there can be no reasonable objection to the use of a computer. Worst case; one of the graphs printed used five colours, and another one wasn't coloured according to the rules, I do these two graphs by hand.
    34. Re:Python is part of the answer by rucs_hack · · Score: 1

      colliding universes? Eh? Where'd you get that from? Your apparent lack of ability to understand the simplest
      part of my post does tend to make me skeptical as to the rest of your post.

      Modeling galaxy collision is a very real research topic, and the very issue of to what extent a model can be considered proof is a big part of the discussion.

    35. Re:Python is part of the answer by Monkeybaister · · Score: 1

      How was the program used? Did the program output "true" iff it could four color the finite set of representative graphs or did it output a four coloring for each of the graphs? One case is a mystery if it actually ran with a correct process, the other is comparable to verifying a person's proof. The big problem is that computers could easily create output that could take years to verify by hand. One way would to have a computer verify the proof, but then it's back to the first issue: did it run properly? The way to check if a human missed something is to have another human check, so why not have independently developed proof verifiers that can run on different computers check the proof?

    36. Re:Python is part of the answer by bap · · Score: 1

      No, octave is (mostly) compatible with Matlab, it is pretty much unrelated to symbolic algebra packages like Mathematica or Maxima or Macsyma or Maple.

    37. Re:Python is part of the answer by civilizedINTENSITY · · Score: 1

      "syntactically very close to mathematical notation", but notations come and go...

      I suggest that what you want is something very close to mathematical structure, which of course brings us back to Lisp :-)

    38. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      Suppose you inspect the source and find it to be faultless, how can you trust the compiler. And if you hand compile the compiler, how can you trust the CPU? Surely it's turtles all the way down.
      The turtles actually stop with the CPU.
      Unless you belive we live in a simulation.

    39. Re:Python is part of the answer by Logic+and+Reason · · Score: 1

      My immediate thought when seeing the title to the article was "Python is the answer."
      Be honest-- that was your reaction when reading "Moby Dick" too, wasn't it?
    40. Re:Python is part of the answer by dvice_null · · Score: 1

      What language is this program supposed to be? I can tell that it won't compile as a C or C++ program.

    41. Re:Python is part of the answer by mfnickster · · Score: 1

      > What language is this program supposed to be? I can tell that it won't compile as a C or C++ program.

      I just compiled and ran it with gcc on Mac OS X Panther, no problems. YMMV.

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    42. Re:Python is part of the answer by eh2o · · Score: 1

      There is such a thing as a proof done by a computer, and as a prerequisite the program itself must be proven correct. Automated theorem proving is usually more the domain of computer science, where the objective is to produce provably bug-free programs and hardware designs, but it has shown up a few times in pure mathematics also. This is a *hard* problem, and currently not something one typically finds in off-the-shelf software (However Mathematica can perform many basic proofs but I would say these are essentially trivial as they are simply mechanical operations of logic).

      This is not to be confused with typical uses of computer systems for exploratory purposes, plotting, etc.

      Finally in the area of data analysis (e.g. statistics) there *is* some significant concern about correctness, especially since these software tend to use machine precision numbers, and often don't give good feedback about the internals. Use of packages like SPSS where you can basically press one button and see every statistic known to man may also be a concern in terms of limiting understanding on the user end, but I place the blame on the user, not the software.

      Computing, in mathematics, is a source of fresh problems and a vehicle to explore and gain insight about mathematical structures. The AMS is far more concerned about good exploratory algorithms getting swept up by Wolfram Inc., and Mathworks, and the like, and never being seen by mathematicians again.

      First off we should clarify that TFA is an opinion piece, not necessarily that of the AMS, and that its author has a vested interest in promoting his own software (SAGE).

      In my experience the algorithms in Mathematica etc are at least 3-5 years behind the "cutting edge". For example only in the recent Mathematica 6 release can you find a MCMC sampler - an algorithm invented in 1984, but only recently popularized in the past decade or so by the bayesian revolution. Several reasons; 1. people don't trust unknown algorithms (especially mathematicians), 2) the market does not know about such things yet and does not demand them.

      In any case I don't see how new areas are going to be "swept up", and furthermore even if the platform was open source, it wouldn't make any difference with regard to people's interest in re-solving problems that are already solved. In fact most of the code in Matlab, and nearly all of the code in Mathematica has source code available because it is implemented in the core language. If I want to see how Mathematica computes a convex hull, its just a matter of opening up ComputationalGeometry.m and reading. Many of its more complex algorithms also support step-level inspection via EvaluationMonitor or Sow/Reap combinations. Very little is actually hidden.

      I've used Perl, Ruby, Scheme, and C.

      I won't go into an extended advocacy of Mathematica here but in my experience these languages and their attendant libraries (Python included) are a huge waste of time from a mathematician's perspective (except for C, and then only if you need high-performance computing). I probably wasted hundreds of hours with this sort of thing before I realized that everything I wanted came out of the box in Mathematica. Not only do these platforms have vastly inferior libraries, they also have poor graphic support, clumsy symbolic tools, and name spaces that don't correspond to standard mathematical terminology. I haven't looked back since...

    43. Re:Python is part of the answer by Kuciwalker · · Score: 0

      It doesn't matter if there's a bug in the code; an optimizing compiler should never produce an executable that doesn't behave identically to the same code without optimization.

    44. Re:Python is part of the answer by synthespian · · Score: 1

      There are a lot of Mathematica haters out there that'll point out to you the history of many. many bugs in it (this is from reading some lists and Usenet). AFAIK, Mathematica is written in C - as opposed to Maple that has a small kernel written in C and the rest written in Maple. Or Axiom, or Maxima - none of these are in C. We all know how easy it is to write buggy software in C. What we'll probably all agree on is that it has gorgeous graphics and a good marketing machine.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    45. Re:Python is part of the answer by siride · · Score: 1

      No, that's not true. If the program produced with an unoptimized compiler relies on undefined behavior, then there is no way an optimizing compiler can guarantee that the optimized code will produce EXACTLY the same undefined behavior, because, well, the behavior is undefined. The only time it should produce the same behavior is if all of the behavior is well-defined by the standard.

    46. Re:Python is part of the answer by eh2o · · Score: 1

      Actually the source code to almost every function is available in Mathematica, it just isn't distributed under an open source license.

      Number of .m files in Mathematica 6 (that is, pure uncompiled Mathematica code): /Applications/Mathematica.app$ find . | grep \.m$ | wc -l
                859

      Total lines of readable source code: /Applications/Mathematica.app$ find . | grep \.m$ | xargs wc -l
          273636 total

      FWIW I have yet to discover a bug in Mathematica, but if I did, I could probably fix it if I really wanted to.

    47. Re:Python is part of the answer by snarkh · · Score: 1


      There were two different pieces of code (in different languages, in fact). One of them produced incorrect results under certain optimizations. It turned out that it was a known (although obscure) bug of the compiler.
      As far as I know, there was no bug in the code.

    48. Re:Python is part of the answer by eh2o · · Score: 2, Interesting

      One thing that I find interesting about mathematical proofs is that they keep getting smaller and easier to explain. If you consult text books of just a few decades ago, they are significantly more verbose than today's equivalent. For example, "Linear Algebra" by Friedberg, Insel and Spense (a standard text), 1979 (fist edition), is almost twice the number of pages as "Linear Algebra Done Right" (Axler, 1996), a book that covers the same material.

      Furthermore the advent of computers has made the illustration of concepts much easier through high quality and even interactive graphics.

      In other words, we not only stand on the shoulders of giants, but we take their work and compress it into more easily understood pieces. Often upon reaching the next higher level of understanding, the shortcuts that we could have taken to get there become more apparent. Today, the number of pages of derivation between basic axiomatic logic and the proof of Fermat's last theorem is perhaps a few thousand. But maybe, in another hundred years, we will actually find that "simple" proof that Fermat hinted at (or not, who knows).

      For what its worth, some people lament the "loss" of the old texts, but I think this is misguided. That material has no place in modern education.

      As for devious paradoxes, these seem to be more a problem in physics, where models are incomplete, but taken to be complete, than in mathematics where incompleteness is intentionally controlled to avoid paradox. We also have, for example, the completeness theorem showing that all well-formed expressions can be evaluated. And, for the most part the possible locations of devious paradoxes seem to be known (e.g. continuum hypothesis etc).

      Automated theorem provers are first proven to be correct given the allowed operations and assumptions before they can be allowed to prove anything. There is no magic here; they could just as easily be replaced by a warehouse full of German mathematicians (German mathematicians were famous for solving intensely mechanical problems before the advent of computers (e.g. taylor expansions to hundreds of terms and huge integrals, etc).

    49. Re:Python is part of the answer by eh2o · · Score: 1

      Not true, most of Mathematica is written in pure Mathematica. They would be stupid to do otherwise. In particular the entire Package collection which is about 180000 lines.

      Much of Mathematica's machine precision routines are also written in Mathematica, but using the Compile[] function, which removes the overhead of dynamic type checking from the subroutine.

    50. Re:Python is part of the answer by mollymoo · · Score: 1

      That might be OK for engineering, but you need a damn sight more than "reasonable certainty" for a mathematical proof. You need to, you know, prove it.

      --
      Chernobyl 'not a wildlife haven' - BBC News
    51. Re:Python is part of the answer by dotancohen · · Score: 2, Funny
      --
      It is dangerous to be right when the government is wrong.
    52. Re:Python is part of the answer by Dunbal · · Score: 2, Funny

      duhhhh, before you flame, make sure you're right idiot

      --
      Seven puppies were harmed during the making of this post.
    53. Re:Python is part of the answer by William+Stein · · Score: 1

      > Actually the source code to almost every function is available in Mathematica,
      > it just isn't distributed under an open source license.

      I wish. This is simply wrong. Since you're using OS X as an example, much of the core functionality is defined in the files here: /Applications/Mathematica.app/SystemFiles/Kernel/SystemResources

      All of that code is compiled and closed. For example, the function BernoulliB, which I would like to see the source code of (since I've written a paper about how to compute it efficiently) seems to be defined in /Applications/Mathematica.app/SystemFiles/Kernel/SystemResources/MacOSX-x86-64/SpecialFunctions/Bernoulli.mx

      which is a compiled binary file.

          -- William

    54. Re:Python is part of the answer by eh2o · · Score: 1

      One more comment; MM's graphics are better than most, but not quite *amazing*. Most of the famous mathematica graphics are actually exported meshes re-rendered in a some other program.

      It wasn't until MM6 that it finally got proper anti-aliased plotting and equation rendering, transparency and interactive OpenGL support.

    55. Re:Python is part of the answer by eh2o · · Score: 1

      Right you are; it's really just the packages under AddOns that are readable source (~ 180000 lines).

    56. Re:Python is part of the answer by eh2o · · Score: 1

      Sorry, some corrections; http://reference.wolfram.com/mathematica/tutorial/TheSoftwareEngineeringOfMathematica.html

      Most of the kernel and core is a variant of C, though not vanilla C so I wouldn't say that it necessarily has the same bug-rates. There is also use of Compile[] etc. The front-end is a separate application. The packages are entirely readable code.

    57. Re:Python is part of the answer by PDAllen · · Score: 1

      Well, this rather depends on the situation. If you have to go off and design and implement a complicated algorithm to check many cases (4 colour theorem), then mostly journals will want to at least be able to point at source code, if not actually publish it.

      On the other hand, I can think of a lot of papers (in graph theory) which contain some phrase like 'we can easily check the small cases' where it's clear that what that means is either the author spent a couple of weeks hand-checking (yeah right) or they wrote a program and ran it overnight. Now, maybe they used python or something similar, in which case they wrote their own code to handle graphs and implemented their own algorithms (not likely) or alternatively they fired up mathematica and used the built in algorithms. And then there are a fair few mathematicians who will play around with a computer to get ideas for how a proof might go. Again usually some commercial software gets used because it's easily available (on a university system) and quicker than writing your own stuff.

      So then you get quite a few people who will submit to journals a paper together with a mathematica script which does some kind of case checking. And this is what the AMS are complaining about. Especially since it is usually a real pain to referee this sort of thing properly (i.e. check the code and run it yourself) and therefore referees tend to quietly assume the program bit probably works and focus on the maths. Usually in fact if there is an error in a program like this it will either be spotted very quickly (there will be lots of results the author will know and recognise if they're wrong) but as you say not quite always (e.g. there was an error in a planarity checking algorithm not so log ago).

    58. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      GP/PARI and SAGE FTNTW!
      (for the number-theoretic win)

    59. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      I have not yet personally tried it but there is a Python computer algebra system in the works (Sympy) :http://code.google.com/p/sympy/ It is designed to be pure python and it looks interesting.

    60. Re:Python is part of the answer by xigxag · · Score: 1

      I'm not a mathematician and know little about this subject. Could you elaborate upon how the weakness in computer aided proofs is any different from the weakness shared by pen and paper proofs? With the latter as well, there is a non-zero chance that there is an error in the proof. It is well known that erroneous proofs have gone undiscovered for long periods of time, even before the age of the computer. To use your gamma ray, a person's neurons could also be struck by radiation causing him to have a mental "blip" or causing his optic nerve to send wrong information. However, unlike a computer, a person cannot improve the reliability of his internal circuitry. A computer can (in theory) be constructed which has a much lower possibility of "hard" error than any possible human, and so, the computer could at least potentially reduce the possibility of a result being faulty.

      Yet despite this you sound quite clear that a computer proof is inherently flawed compared with a pen-and-paper proof. So what am I missing?

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    61. Re:Python is part of the answer by martin-boundary · · Score: 1
      FYI, the MCMC algorithm was published in 1953, see Metropolis, Rosenbluth,Rosenbluth, Teller and Teller. It was originally invented to perform calculations in physics. The principles of monte carlo itself go back several centuries, eg Buffon's needle.

      Regarding your points about Mathematica, I have to disagree with you: it's mostly not very useful to have an inbuilt MCMC sampler, unless you're going to do trivial problems. It's much better to just have a language with good random number generation facilities. This is because in nontrivial problems for which MCMC is appropriate there are usually efficiency issues, which require a closer analysis that combines the simulation code with other problem specific aspects. This is especially true in the Bayesian setting, where there have in fact been embarassing receptions for certain high profile people who predicted black box style automatic MCMC.

    62. Re:Python is part of the answer by martin-boundary · · Score: 2, Interesting
      It seems to me that you're confusing lack of verbosity with changes of mathematical points of view. It's true that definitions get refined over time, but a changed point of view does not always equate with improvement. Every generation works on slightly different mathematical questions, and changes of viewpoint often merely reflect the problems and interests of the previous generation. There are plenty of "dead" fields that nobody works in anymore.

      Try reading books from the early 20th century, and ask yourself how much overlap there is with a recent textbook. You won't find that much.

      In other words, we're not so much compressing the past as merely picking the bits we're interested in and ignoring the others.

    63. Re:Python is part of the answer by doxology · · Score: 1

      posting to undo accidental moderation...

      --
      sigfault. core dumped.
    64. Re:Python is part of the answer by eh2o · · Score: 1

      Unfortunately I can't make much of your link -- most of it is in German, which I can't read, and there is a huge amount of material that would take me a decade to process. I have no idea where I'd even begin to make a comparison.

      I have yet to see a specific example of a dead field that is not superceeded by some other field that answers the same questions in a better way, or made trivial by computers (both of these cases I would consider to be compression of knowledge). Please do point one out if you know of such an example.

      FWIW the in the example I cited the author discusses explicitly the goal of compressing proofs and explanations.

    65. Re:Python is part of the answer by eh2o · · Score: 1

      Just curious if you have actually read the documentation for NIntegrate[] (it is about 100 pages long, by the way) or if you are making a blanket statement.

      I understand that selection of the appropriate hypothesis distribution for estimating the bayes integral is a hard problem, but I'd say the MM6 NIntegrate function is pretty far from "useless except for trivial problems".

      AFAIK people are still making the black box prediction... so apparently those receptions were not sufficiently embarassing. :)

    66. Re:Python is part of the answer by martin-boundary · · Score: 1

      Unfortunately I can't make much of your link -- most of it is in German, which I can't read, and there is a huge amount of material that would take me a decade to process. I have no idea where I'd even begin to make a comparison.
      Good point, you have to click on the index to browse through all the pages, and certainly much of the mathematical mainstream was written in French and German in the 19th and early 20th century. That said, plenty of English classics are there if you look. Other places are here and here. Do searches on keywords like calculus, geometry, or mathematicians you can think of.

      I have yet to see a specific example of a dead field that is not superceeded by some other field that answers the same questions in a better way, or made trivial by computers (both of these cases I would consider to be compression of knowledge). Please do point one out if you know of such an example.
      For your specific criteria, Lie's theory of continuous transformation groups fits the bill quite well. It was the crowning glory of the theory of differential equations which unified all the various tricks (such as integrating factors, variation of parameters, etc). Then after WWII, it was phased out of the curricula on differential equations, as more numerical approaches were taken on one hand, and more abstract work on Lie algebras was done on the other. It's been "revived" only very recently.

      There are a smallish number of modern books which teach it, but most staple DE courses have regressed to teaching collections of tricks and simple numerical methods, while courses on Lie algebras have other priorities and certainly don't teach any of that, even though it was the birth of the whole subject.

      FWIW the in the example I cited the author discusses explicitly the goal of compressing proofs and explanations.
      Sure, Axler's goal is to streamline his course to the basic concepts that he thinks are most important. However, looking through the table of contents, he cuts out some pretty fundamental topics such as duality, multilinear algebra (tensor products, alternating forms), conics, etc. Compare with Halmos' book "Finite dimensional vector spaces" written fifty years ago, it's shorter, and more complete, and well worth checking out of the library (Halmos is a great mathematics writer).
    67. Re:Python is part of the answer by eh2o · · Score: 1

      Thanks--I'll look for the Halmos book (I need to brush up on linear algebra anyways...)

    68. Re:Python is part of the answer by martin-boundary · · Score: 1

      Just curious if you have actually read the documentation for NIntegrate[] (it is about 100 pages long, by the way) or if you are making a blanket statement.
      It's a blanket statement, but I know enough about MCMC theory to come up with various questions on the spot: how does it simulate process paths? how does it deal with stopping bias? how does it deal with burn in?

      I've just glanced at the web page for NIntegrate, and the scope seems extremely limited. Sure, you might want to integrate a specific deterministic function in a few dimensions (for low dimensions, there are much better methods), but many MCMC integrals tend to be integrals in infinite dimensional function spaces. For example, you might want to compute the probability that some diffusion process is hitting a barrier over a fixed time interval. Or you might want to compute maximum likelihood estimators for the parameters of a statistical model with some missing data that must be simulated.

    69. Re:Python is part of the answer by khallow · · Score: 2, Informative

      The AMS isn't worried about the correctness of these "proofs." They aren't proofs. It is logically possible for one of these programs to return the wrong answer, even if the program is correctly implemented. Ergo, it is not a proof. That is incorrect. Even with normal proofs, it is possible to return the wrong answer, and frankly computer proofs scale better than strictly human-based ones do. So I think it's quite reason to call them "proofs".
    70. Re:Python is part of the answer by khallow · · Score: 1

      I don't know what point you were trying to make. I think we're all in agreement that just saying something is true isn't a highly respected proof technique no matter how frequently used. The "my program, which I won't let you see, proves this." approach is a simple variation of that.

    71. Re:Python is part of the answer by aynoknman · · Score: 1
      In the spirit of correcting

      all manor of subtle mistakes : The should be all

      all manner of subtle mistakes
      --
      We need a "+1 -- nice sig" moderation.
    72. Re:Python is part of the answer by poopdeville · · Score: 1
      Sorry it's taken me so long to reply. I hope you see this.

      That is a very good question.

      Pen and paper proofs have many epistemological weaknesses as you mentioned. But computer assisted proofs have the same ones (since ultimately the reasoning will be put down on paper and read by others), and unfortunately introduce new difficulties.

      First, to clarify, I'm going to blur an important distinction. The word proof is overloaded. It can mean empirical proof, such as when a lawyer says he has proof that the defendant is blameless. Or it can mean "formal proof". Or it can mean what I called a pen and paper proof. See the introductory section for http://en.wikipedia.org/wiki/Mathematical_proof for the difference. And immediately forget the difference, since in principle, every valid pen and paper proof can be translated to a formal proof.

      In many ways, the use of computer technology in proof is a lot like the use of diagrams in proof, whose use has been rejected as mathematical proof except in very limited circumstances. Among the problems: the diagram is only a representation of the objects you're talking about. The representation may not (usually is not) be provably adequate, which makes it inadmissable in a formal proof.

      Diagrams or pictures probably rank among the oldest forms of human communication. They are not only used for representation but can also be used to carry out certain types of reasoning, and hence play a particular role in logic and mathematics. However, sentential representation systems (e.g., first-order logic) have been dominant in the modern history of logic, while diagrams have largely been seen as only of marginal interest. Diagrams are usually adopted as a heuristic tool in exploring a proof, but not as part of a proof.... (http://plato.stanford.edu/entries/diagrams/)

      This article goes on to discuss some "diagrammatic logics" that are "sound" and "complete" in the same senses the First-Order Logic is. Obviously, if you know what sound and complete mean in this context, those logics are provably adequate. The article even has some nice examples of places where non-representative diagrams lead to specious conclusions.
      --
      After all, I am strangely colored.
    73. Re:Python is part of the answer by Anonymous Coward · · Score: 0

      Friedburg, Insel, and Spence is a very good linear algebra book. It has many examples, which I tended to skip over (Unlike Rudin's examples, say). But it is otherwise not verbose.

      Someone else mentioned Halmos. I recommend his FDVS too. Very nice. It just sucks that elementary linear algebra is so boring.

    74. Re:Python is part of the answer by xigxag · · Score: 1

      Thank you for taking the time to reply. That was very helpful, as was your diagram analogy.

      I understand this concept that a computer proof has an additional layer of untrustworthiness. And that in theory a high degree of confidence can never be equivalent to a formal proof. It still seems to me that there are real world circumstances where a computer-aided proof will be stronger (more trustworthy) in practice. E.g., if a mathematician produced a controversial "pen and paper" proof as a tome running on for some thousand pages, the likelihood of multiple human errors would vastly outweigh the theoretical advantages of not relying on a computer proof.

      Thanks. I will think more upon this.

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    75. Re:Python is part of the answer by argiedot · · Score: 1

      My mistake. Sorry about that.

  4. speaking of proprietary by larry+bagina · · Score: 3, Insightful

    The article (which is actually a PDF, thanks for the warning) uses proprietary fonts (LucidaBright). While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

    1. Re:speaking of proprietary by Main+Gauche · · Score: 5, Funny

      "While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided."

      Indeed. Now we are left wondering whether the TeX code is buggy. Like maybe an extra character accidentally slipped into the file.

      therefore mathematics software should %not
      be open source!

      Now we'll never know.

    2. Re:speaking of proprietary by Anonymous Coward · · Score: 0

      The PDF from the 1srt version is a proprietary but open format at the same time and only the DRM part is closed, even if it have patents they are royalty free and only used for preventing incompatible implementation, for their history visit: http://www.acrobatusers.com/blogs/leonardr/history-of-pdf-openness/

    3. Re:speaking of proprietary by StormReaver · · Score: 3, Informative

      "While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided."

      PDF is neither closed nor uneditable. Adobe publishes the complete PDF format for anyone to use free of charge. It may not be FSF Free (since Adobe requires that implementers adhere to certain rules that violate the principle of Free), but it's definitely not closed. Also, KWord will import it for further editing, text and images, so it's not uneditable (even if it's not ideal).

      I agree with your main point, but let's cut PDF some slack.

    4. Re:speaking of proprietary by 1u3hr · · Score: 2, Informative
      The article (which is actually a PDF, thanks for the warning) uses proprietary fonts (LucidaBright). While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided.

      I think (hope) you're joking, but several people who responded seem to be taking this at face value. It's wrong in several ways. PDF is an open format, and if you look at the file info, you see that this particular PDF was generated with Ghostscript. And it's quite simple to edit PDFs. Not as easy as, say HTML, but much easier than if it were, say, a TIFF file. I personally use Adobe Acrobat, but a great many free and commercial apps can read, write, and manipulate PDF files. That's why the format was created, for use in DTP, not a locked document format as some business people seem to imagine.

    5. Re:speaking of proprietary by Anonymous+Brave+Guy · · Score: 1

      Ironically, TeX is one of the few programs ever written where it's a good bet that it isn't buggy. Esoteric? Sure. Somewhat outdated in modern terms? Of course. But buggy? It's not likely, and Knuth quite literally puts his money where his mouth is on that one.

      (Yes, I did realise you were joking. But I think it's an interesting observation all the same.)

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    6. Re:speaking of proprietary by Anonymous+Brave+Guy · · Score: 1

      I'm sorry, but comments like yours are why openness gets a bad name among real people.

      Here is an interesting document. It's published in a format pretty much everyone can read, using fonts that produce a pleasant appearance. It serves its job perfectly well, and your only complaint is that some of the technology involved is not "open", according to some arbitrary definition of the word. Why is that a problem, other than some personal prejudice?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    7. Re:speaking of proprietary by awfar · · Score: 1

      No, lets don't.

      They tried in many ways to strangle the market when they had the chance(Postscript, page description, fonts, hinting, whatever), and I'm sure they again would do so in a heartbeat. They destroyed some opportunities for competitors in the PC system wars when they made it difficult, if not impossible, for anyone to implement the technologies even when it was clear they had no interest in doing so.

    8. Re:speaking of proprietary by bcrowell · · Score: 1

      The article (which is actually a PDF, thanks for the warning) uses proprietary fonts (LucidaBright). While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided.
      The article is a copyrighted op-ed piece, and that's the reason it's "proprietary." Harry Potter is proprietary too. Fair use gives you the right to quote from this editorial, or from Harry Potter. What you don't have the legal right to do is modify the editorial, redistribute your modified version, and attribute your views to its original author. Boo hoo. Supplying the editorial in OOo format would make it neither more nor less "open."

      I've never understood why pdf seems to evoke this knee-jerk reaction from some people. Pdf is a tool. Like any tool, there are certain jobs for which it's the right tool, and certain jobs for which it's not. It isn't meant to be an editable format. Neither is java bytecode, an ELF binary, or a PNG rendering of an SVG source document.

      By the way, when I clicked on the link, it opened in Evince in about three seconds, which is faster than a lot of html web pages will open, especially of the server has just been slashdotted. If people are unhappy that Adobe Reader is slow to start up, why do they keep using Adobe Reader as the pdf plugin in their browser.

      Oh yeah, and when I clicked in the document in Evince, did Select All, and Copy, it copied it to the clipboard. And then when I fired up OpenOffice and hit Paste, it pasted it right in, and did a reasonable job of preserving the formatting.

    9. Re:speaking of proprietary by mysticgoat · · Score: 1

      Yes, pdf is an open format. So is odt, txt, rtf, stf, etc.

      None of these are web formats.

      Slashdot is a web site.

      It is fully appropriate for Slashdot to provide a warning that a given link does not conform to any of the web formats. It is the courteous thing to do.

      Perhaps today within the subset of the world that you are familiar with this may not seem to add any value, but it also doesn't subtract any value.

      For someone using Slashdot as fodder for experiments with an html/xml semantic analytic machine, this kind of warning can have quite a bit of value.

      An interesting point tangent to this discussion is whether pdf, flash, and similar formats will survive as more than historic curiosities five years from now. Generating content that can be reliably processed by HSAMs is going to be increasingly important in advertising as well as research— in fact, in all aspects of global web publishing. Very much more so than search engine optimization is now. Yet the HSAMs are going to be reliant upon standard HTML, CSS, and XML formatting for cues to setting the semantic weights of words and phrases. The pdf format doesn't provide any equivalent semantic cues, and flash, etc, are of course even worse.

    10. Re:speaking of proprietary by leoxx · · Score: 1

      How does this have any relevance, let alone "insight"? The article is not advocating the elimination of all proprietary software, it is talking about the lack of transparency when using proprietary software as a component of mathematical proofs.

    11. Re:speaking of proprietary by 1u3hr · · Score: 1
      None of these are web formats.

      Did I imply otherwise? My response was about whether PDF is open or editable, not whether Slashdot should have linked to it.

      An interesting point tangent to this discussion is whether pdf, flash, and similar formats will survive as more than historic curiosities five years from now.

      PDF will be around for decades. It is deeply embedded in the publishing industry regardless of what happens online.

  5. quote is out of context by mr.Peabody · · Score: 1

    The J.Neubuser quote is in reference to using proprietary, closed source software for proofs. The point being that without seeing the guts of the software it is hard to tell if the proof is correct, or dependent on a flaw in the software.

    1. Re:quote is out of context by Anonymous Coward · · Score: 0

      This is highly misleading. A proof can be checked without knowing how it was obtained. (As a matter of fact, in some sense that's the whole point of a proof.) Proof checking is far easier than generating a proof in the first place. If a proof is generated by closed-source software, it can still be checked for errors quite easily. Access to the proof generator itself is not necessary.

      The idea of "proof carrying code" (PCC) is fundamentally based on this observation.

      Of course, a result of the form "software XYZ says it is true" is not a proof in the above sense.

  6. Openness is Fundamental to Mathematics by aproposofwhat · · Score: 2, Interesting
    The article is a very well argued opinion piece, and is correct in that only open-source software should ever be used in a proof.

    It is fundamental to mathematics that other mathematicians in the same field can check a proof, and the use of closed source software makes that logically impossible, for without access to the source of the application, it is not possible to guarantee that any particular operation has been implemented correctly.

    He's also plugging his own open source project, SAGE - I might have to download it and see if the rusty old brain cells can figure out how to play with it ;)

    --
    One swallow does not a fellatrix make
    1. Re:Openness is Fundamental to Mathematics by tcgroat · · Score: 1

      If software is used in a formal mathmetical proof, then the software itself must be subjected to rigorous mathematical proof. Every step must be justified based on accepted postulates and previously proven theorems, or else the work isn't rigorous and doesn't qualify as mathemetically "proven". As I repeatedly tell my daughter about her alegbra, you must show your work: it isn't just coming up with the "right answer", it's about how you know it's the right answer. Opaque software isn't mathematic proof, it's saying "Trust me!". That line doesn't relieve the doubt, it only confirms suspicion that the proof is incomplete.

    2. Re:Openness is Fundamental to Mathematics by s20451 · · Score: 3, Insightful

      Well, don't get your panties in a big bunch over this. Humans make mistakes in proofs all the time, many of which are not caught before publication (and many not even for some time afterward).

      Also, although it's not in the field of theorem-proving, the mathematical package I use the most -- MATLAB -- is a million times better than the open source equivalent, Octave. I'm not going to use Octave simply because I can inspect the code, because who does that? An error in a software proof would be pretty obvious if it were checked with another independently written piece of software. With MATLAB, I can write my own alternative algorithm using C if I need to, though with significantly more effort and annoyance.

      Furthermore, mathematicians are smart people who are fully aware of the implications of their assumptions, probably moreso than any other group of people I have encountered. Reading the set of comments accompanying this article, saying what mathematicians should and should not consider a proof, is like watching monkeys trying to use a can opener.

      --
      Toronto-area transit rider? Rate your ride.
    3. Re:Openness is Fundamental to Mathematics by Anonymous Coward · · Score: 0

      If software is used in a formal mathmetical proof, then the software itself must be subjected to rigorous mathematical proof.

      You phrased that awkwardly, almost as if you know what all the words mean. I doubt you know what you're talking about, though I hope I'm not insulting you as I say it.

      A program cannot ever be verified for correctness enough to make results returned from it "proved." For example, consider the four-color theorem. It was "proved" in the 70s by enumerating all possible 5 element graph colorings and verifying that they could be turned into 4 color graphs. The source code has been poured over many times. And yet, it is not a proof. It is logically possible that the program produced an error despite having been implemented correctly. Proofs do not share this property.

    4. Re:Openness is Fundamental to Mathematics by Anonymous Coward · · Score: 0

      I don't have MATLAB. If you showed me a proof that included "proof by MATLAB", I wouldn't believe you. You can't get away with that shit in most mathematics journals I read.

    5. Re:Openness is Fundamental to Mathematics by Anonymous Coward · · Score: 0

      The four-color-theorem has meanwhile be re-proved using the Coq theorem proving assistant. While I agree that the 70s program was not a proof, the Coq proof certainly is.

    6. Re:Openness is Fundamental to Mathematics by moosesocks · · Score: 1

      I'm not 100% sure, but I'm pretty sure that the source for many of MATLAB's functions (albeit copywrighted) is available for inspection.

      --
      -- If you try to fail and succeed, which have you done? - Uli's moose
    7. Re:Openness is Fundamental to Mathematics by Anonymous Coward · · Score: 0

      > The source code has been poured over many times.

      You phrased that awkwardly, almost as if you know what all the words mean...

    8. Re:Openness is Fundamental to Mathematics by marcosdumay · · Score: 1

      "MATLAB -- is a million times better than the open source equivalent"

      It is a joke, isn't it. It is not belivable that somebody that really uses that kind of software try any alternative and still likes MathLab.

      Let me guess, you are never compeled to use a 'for' statement... Or loops of any kind. You don't create programs that take more than a second to execute (or would take more than that if written on a sane language, on MathLab it would take the biggest part of a day) and never had to compare execution time of anything you wrote (since it isn't related to the actual algorithm when using MathLab).

    9. Re:Openness is Fundamental to Mathematics by earthforce_1 · · Score: 1

      I used octave and LaTeX for my Master's thesis, and it did a fine job for me, 4 years ago on a machine that was far from bleeding edge at the time. ( A P3-450 or something like that)

      The only things I needed non FOSS tools for was the emulator, and SPSS for crunching the statistics, since I couldn't find an open source equivalent. (Believe me, I tried)

      I talked the local MATLAB rep into giving me a free one year license, which thankfully I never used, since I was wasn't finished my analysis and ready to use it before the one year expired. I would have been totally screwed! And yes, I know about the cheaper student edition, but had a lot more data to crunch that it allowed you. Octave while inferior was at least not crippled in functionality. As it was, I had to crunch my data quickly before the "trial 30 day" version of SPSS ran out, and when I found a flaw in my analysis and had to rerun the data, I had to install it on another older computer I had kicking around to reset the 30 days.

      I think there are open source alternatives to SPSS available today, I would obviously prefer them even if technically inferior. At least I don't have to shell out thousands of dollars I don't have to finish my analysis.

      (I couldn't use the university's facilities either, since I had moved in the meantime and was finishing my thesis from 500 Km away)

      --
      My rights don't need management.
    10. Re:Openness is Fundamental to Mathematics by drewness · · Score: 1

      The only things I needed non FOSS tools for was the emulator, and SPSS for crunching the statistics, since I couldn't find an open source equivalent. (Believe me, I tried)

      Have you never encountered R? It's been around at least 10 years. I first used it about 3 or 4 years ago in an intro to stats for engineers class, where the professor recommended it specifically because it was FOSS. My current boss does a ton of stats on a regular basis and loves R.

    11. Re:Openness is Fundamental to Mathematics by s20451 · · Score: 1

      I'm not saying MATLAB is the best program ever, I'm just saying it's much better than Octave. Also, I don't know when you last used MATLAB ... the loop handling used to be hopelessly slow but has become much better.

      --
      Toronto-area transit rider? Rate your ride.
    12. Re:Openness is Fundamental to Mathematics by s20451 · · Score: 1

      Yes, but the point is the same since the environment is closed source.

      --
      Toronto-area transit rider? Rate your ride.
    13. Re:Openness is Fundamental to Mathematics by s20451 · · Score: 1

      I understand where you're coming from, but I have the luxury of being in a university environment with a MATLAB site license. I think the benefits are worth what the institution pays.

      --
      Toronto-area transit rider? Rate your ride.
    14. Re:Openness is Fundamental to Mathematics by synthespian · · Score: 1

      Anyways, when number-crunching gets tough, when you got a huge amount of data to process, neither MATLAB nor Mathematica aren't gonna cut it anyway and, typically, engineers, physicists and applied mathematicians will drop down to that mighty working horse called Fortran and use routines from something like LAPACK that are, indeed, open source.

      In fact, this leads to a further point: not only it's important that this mathematical software be open source, but that it not be released under a restrictive license such as the GPL. Releasing code under licenses like BSD or putting code in the public domain allow the incorporation of these openly tested, scrutinized and widely used routines even in commercial code thereby garanteeing quality through and through the user's experience and choices, whether he/she be using proprietary software or not. In this way, the complaints made in the article disappear.

      --
      Main difference between the BSD license and the GPL license: one is from California and the other is from Massachusetts
    15. Re:Openness is Fundamental to Mathematics by Hatta · · Score: 1

      SPSS for crunching the statistics, since I couldn't find an open source equivalent. (Believe me, I tried)

      What was wrong with R?

      --
      Give me Classic Slashdot or give me death!
  7. Should journals reject such proofs? by davidwr · · Score: 3, Insightful

    Algorithms cannot be protected by copyright, only by patents and trade secrets. If the algorithm is a trade secret, it has no place in a mathematical proof because it cannot be shared with the world and verified or refuted by anyone interested in doing so.

    If the algorithm is part of a patented device or piece of software, its use in a mathematical proof is not subject to the patent on the grounds that pure math cannot be patented.

    If journals and academic societies refused to publish proofs based on trade secrets and insisted on a covenant not to enforce the patent against researchers doing purely mathematical research or those who publish the research, the problem would mostly go away. An alternative to the covenant is congressional action or a court ruling that says with absolute clarity that mathematical research is exempt from math-related patents directly related to the research.

    --

    Personally, I'm against all such patents but I'm not holding out hope that Congress or the Courts will agree with me.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
    1. Re:Should journals reject such proofs? by Anonymous Coward · · Score: 1, Informative
      An alternative to the covenant is congressional action or a court ruling that says with absolute clarity that mathematical research is exempt from math-related patents directly related to the research.

      Research is already exempt from patent infringement. The "OMG, yuo cant do research because of teh patents!!!!" stuff you read here is pure fearmongering.

  8. Not Proven by nagora · · Score: 3, Insightful
    If a "proof" is published with some steps or information excluded then it's not a proof, it's just an assertion.

    TWW

    --
    "Encyclopedia" is to "Wikipedia" what "Library" is to "Some people at a bus stop"
    1. Re:Not Proven by ciaohound · · Score: 4, Informative

      As a high school math teacher, I am familiar with some of the details of Thomas Hales' proof of Kepler's "Cannonball" Conjecture, concerning the most efficient way to stack spheres. When he first published his proof in 1996, he included the source code for the programs that were used to do the calculations for the thousands of possible sphere configurations. I think most of the code was actually written by his graduate assistant. At first that struck me as cheating -- "... and then this program runs. Q.E.D." -- but then I realized that if anyone else was to verify his results, they would need the programs. There are just too many calculations to perform without software, which is why the conjecture went unproven for four hundred years. But without the source code, it would smack of charlatanism.

      --
      Oh, yeah, it's not easy to pad these out to 120 characters.
    2. Re:Not Proven by stranger_to_himself · · Score: 1, Insightful

      If a "proof" is published with some steps or information excluded then it's not a proof, it's just an assertion.

      I don't agree with this, because by that argument nothing is a proof. Every proof has steps left out, unless you reduce everything to axioms, which is plainly silly.

      A proof is a proof if and only if it is enough to convince the person that is reading it. Of course this makes a proof a function of both the reader and the writer, but this is the only way it can be. If the person reading your proof is not convinced by any of the steps and wishes clarification, then you must be able to provide it. If however everbody is happy that the missing steps are okay, then the proof is good.

    3. Re:Not Proven by Ann+Coulter · · Score: 1

      All proofs will reduce to valid logical combinations of axioms. One might name large blocks of the proof a lemma or reference other proven theorems; but the fact remains that all proofs must be reducible to the axioms. Proofs are finite and therefore a reduction can be verified, hence it is not enough for the proof to merely convince the reader. I believe the "missing steps" you mention have already been proven or else the theorem using these missing steps has not been proven yet. Mathematics is rigorous and your assertion contradicts that rigor.

  9. Propriatary Software by calebt3 · · Score: 4, Funny

    Increasingly, proprietary software and the algorithms used are an essential part of mathematical proofs Like Excel's 65,535-equals-100,000 formula?
    1. Re:Propriatary Software by calebt3 · · Score: 1

      Misspelled Proprietary.

  10. file under self-serving nonsense by Anonymous Coward · · Score: 0

    One of the authors acknowledges being the founder of an OSS project that provides... guess what... a comprehensive toolkit for mathematical research! So if research journals require computationally based proofs to use OSS, guess who's company will be the big beneficiary? And guess who personally will be in big demand to travel to conferences around the world explaining the concepts and methods of this suddenly necessary piece of software.

    Bottom line is that computational techniques should be explained so that they can be duplicated or refuted using any software of the colleague's choosing. The aim should not be to turn pure mathematicians into maintenance programmers, having to gain proficiency with the 10 or so different languages and platforms listed by the authors at the piece.

    1. Re:file under self-serving nonsense by Anonymous Coward · · Score: 0

      Why couldn't the author be right even though he stands to benefit from being so? If you perceive a need for more use of OSS in a field, isn't it natural to make it more feasible by founding an OSS project to make a readily available comprehensive toolkit?
      Why would using open source instead of closed source products magically turn 'pure mathematicians' into maintenance programmers? Most matematicians I know are bright people, and have learned some pretty arcane computer stuff to use in their work, e.g. TeX/LaTeX and Fortran.

  11. I agree... by TheSHAD0W · · Score: 1

    ...and I don't think journals should accept papers which don't include proofs verifiable only with closed-source software.

    1. Re:I agree... by TheSHAD0W · · Score: 1

      Er, delete the second "don't". Sorry. X_X

    2. Re:I agree... by mfnickster · · Score: 1

      Your first version is funnier! :)

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
  12. Welcome to the world of modern research ... by MacTO · · Score: 4, Interesting

    This problem goes beyond mathematics, and reaches into many of the sciences. Mathematicians and scientists often place undue trust in complex software systems, simply as a matter of getting the work done faster rather than producing higher quality research. Sometimes it is a case of handling large volumes of data, in which case human intelligence and discretion is a bottleneck. Sometimes it is a matter of finding numerical solutions where analytic ones are difficult (if not impossible) to find at present. And, in the case of mathematics, I'm guessing that they are using it as a shortcut for those difficult analytic solutions.

    Then again, I must really ask if the mathematician in question understands what they are doing if they are using software as a shortcut for difficult analytic solutions. After all, if they don't understand the algorithms well enough to do the work themselves, who is going to say that they understand the limitations of the rules that they are asking the computer to apply.

    1. Re:Welcome to the world of modern research ... by jhfry · · Score: 2, Insightful

      I thought the same thing... shouldn't mathematic proofs be independent of outside influence, shouldn't they stand on their own and make as few assumptions as possible. I figured that a proof, properly done, would be a large step by step solution to the problem.

      Then I realized that many proofs aren't concerned with single-input single-output situations, but instead may require thousands of iterations based upon large sets of inputs. You can't do that by hand.

      I am certain, that because computers/software are being used we will eventually find an accepted proof that is scrapped because it exploited (inadvertently) a bug/limitation of the software used to test it. Unfortunately there is nothing to be done!

      --
      Sometimes the best solution is to stop wasting time looking for an easy solution.
    2. Re:Welcome to the world of modern research ... by mathcam · · Score: 2, Interesting

      And, in the case of mathematics, I'm guessing that they are using it as a shortcut for those difficult analytic solutions. This is certainly one application, but the use of computers in the more "pure" aspects of mathematics is nothing to sneeze at either. Programs like GAP for group theory, PARI for number theory, and Macaulay for commutative algebra and algebraic geometry play a significant role in the development of their respective subjects. For example, there's very little you can say about the Monster group without the aid of computer calculations -- it's not that researchers don't understand the algorithms involved, it's that it's physically impossible (given reasonable time constraints) to say anything non-trivial without computer aid. To address the other concerns, unlike the numerical solutions, there are frequently completely independent algorithms for checking the results of your first algorithm, so that trusting the original algorithm is less of an issue.
    3. Re:Welcome to the world of modern research ... by bornwaysouth · · Score: 1

      I'm not a mathematician, but a retired scientist. The sardonic 'Welcome' is quite justified. However, there is nothing modern about the 'trust' problem. Science has long been subject to a need to use trust. But it is a sceptical trust, and wants issues verified. The nastiest example I know of is Piltdown Man. There the skull and jaw evidence tended to be kept away from the verification process and a fraud existed for 40 years.

      I have twice produced results (as a chemist) that could not be verified. In both cases, once a different reagent bottle was used, the reaction failed. So scientific truth tends to build with time, or be falsified suddenly. It is naive to accept anything as immediately true. Would you take the initial reports on a new Miracle Drug as being reliable? Yep, but only if death was the alternative, and not always then.

      Mathematical proofs have now got so long and complex that they are joining the real world. They are provisionally proven. It does not matter whether verification awaits an Honours class each with weeks to devote to a fraction of the written proof, or programmer(s) who not only write independent code, but use a different processor. I do not see either of those as being quick processes. But in both cases, it helps to have the proof segmented, so that the most fragile parts are tested first. I would agree that code should have a broad algorithm and more detailed pseudocode available. Source code welcome, but really of use only to show where the bug occurred. I've read and read code that I know has a bug, and not been able to find it. Reading code isn't verification, but it does permit falsification.

      And since truth is not a boolean, I'd welcome suggestions on what constitutes a handy label for the various truth status of propositions. For instance:

      Piltdown true: The Establishment believes it, but some mavericks have cogently argued otherwise. Can someone please clear the doubts, or else bury it again.

      I won't define a 'One-bottle true' status. I actually believed those reactions worked reliably. I had spectra to prove it.

    4. Re:Welcome to the world of modern research ... by khallow · · Score: 1

      OTOH, scientists often overly distrust complex systems that they don't understand. Computer programs, after all, exist in a more rigorous environment than human society. As I see it, there's a spread of understanding from complete ignorance (that is, not knowing enough to even state a problem) to the theory getting taught routinely to regular students. Computer aided proofs and models are a point on that. I doubt anyone claims that a computer model is as good as a model simple enough that you can work it out by hand. Further, once you get outside of academia, the need to understand models and their mathematics declines somewhat. Often a shallow understanding is enough to make a valuable process more valuable.

  13. From the flip side... by 3seas · · Score: 1

    ...is this saying the American Mathematical Society is accepting proprietary software used in proofs?

    Seems the only problem here is one of the position of the AMS regarding what is acceptable.

    1. Re:From the flip side... by poopdeville · · Score: 1

      No, they aren't. Computer-assisted "proofs" are not proofs. They're "results". Subtly different. Proofs have the force of logic behind them. "Results" aren't guaranteed to. A computer-assisted proof cannot be a mathematical proof because it is logically possible for a correctly implemented program to return a false result. This is true whether the source is available or not.

      --
      After all, I am strangely colored.
    2. Re:From the flip side... by William+Stein · · Score: 1

      Disclaimer: I wrote the AMS opinion piece being discussed.

      > ...is this saying the American Mathematical Society
      > is accepting proprietary software used in proofs?

      Yes, the AMS does sometimes publish papers that contain tables, conclusions, data, etc., that were computed using only proprietary software. These tables may then be used by other mathematicians in their work... As an example, here is a paper that I personally co-authored that uses proprietary software (Magma http://magma.maths.usyd.edu.au/magma/) for the calculations:

            http://www.ams.org/mcom/2001-70-236/S0025-5718-01-01320-5/home.html

      This sort of thing is now extremely common in computational number theory, at least.

  14. Proof exchange format by David+Deharbe · · Score: 2, Interesting

    IMHO, it would be an important contribution to establish an open proof exchange format that make it possible to... exchange proofs between different tools: theorem prover, proof checker, etc. Possibly this format would have a translator to a human-readable format (e.g. based on TeX) that would also make it possible for humans to review the proof process.

    1. Re:Proof exchange format by BlueParrot · · Score: 1

      It would also be good if the format of the proofs would be such that it could easily be manipulated by similar algorithm's as those which you are investigating. I beleive that this can be readily implemented using linked lists, where each node consists of a pointer to the element it contains ( call it car ) and another pointer to the next node ( call it cdr ).

    2. Re:Proof exchange format by lekikui · · Score: 1

      And there would need to be a way to implement procedures as a part of the program. How about naming it lambda?

      --
      "Lisp ... made me aware that software could be close to executable mathematics." - L. Peter Deutsch
  15. But the proof steps are known, right? by DrEasy · · Score: 1

    I don't understand: don't these automatic theorem provers provide the steps they took to prove the theorem? As long as those steps are provided and can be verified, I don't see why we care how the proof was obtained. We don't always know how proofs obtained by humans were obtained either; they don't tell us what they had for breakfast that day or what inspired them.

    There's probably not much insight that can be obtained by the source code of the theorem prover, you can always just assume that it was brute force with some optimization tweaks.

    As long as you don't just take the proof at face value and that you verify the proof you should be fine, no? And if you used another software tool to do the verification itself, then verify the verification manually. And so on. Verifying the proof of a theorem should always be easier than coming up with the proof, so this is not a hopeless process.

    --
    "In our tactical decisions, we are operating contrary to our strategic interest."
    1. Re:But the proof steps are known, right? by flajann · · Score: 2, Informative
      The advantage of having the source code is that, in a lengthy proof that involves thousands of steps that may be hard to follow, one may have an easier go at proving that the software did the steps correctly. At least, if a bug were found that would save you many hours over sweating over the actual proof!!!

    2. Re:But the proof steps are known, right? by popmaker · · Score: 2, Insightful

      Suppose the only known way to prove something is to check all cases. Suppose the cases number about 1.000.000. It would take any human practically an eternity to check them all. Suppose checking each case is somewhat trivial, even though each case takes some considerable time and the results of each case is not generalizable to the other ones (so that we absolutlely HAVE to check the all). The mathematician working on the problem creates an algorithm for this work. It can be proven that the algorithm works. But the algorithm IS the proof. If the theorem is true, running the program produces YES or TRUE or whatever and if it's false the algorithm produces NO or FALSE or something similar.

      If we don't know that the algorithm works (it is proven to do so) and that the software also works (THAT is furthermore proven to do so) we have no way of knowing whether that YES or NO our program produced actually proves the theorem. Now assume that the program found a counterexample somewhere between case #50.000 and case #55.000. What if it was a precision error? If we don't have access to whatever it was that could have produced such an error - if we don't have ALL the source and ALL other information about the software, the results are useless.

    3. Re:But the proof steps are known, right? by John+Hasler · · Score: 1

      > ...if we don't have ALL the source and ALL other information about the software...

      Including any libraries, compilers, and interpreters.

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
    4. Re:But the proof steps are known, right? by popmaker · · Score: 1

      Precisely.

    5. Re:But the proof steps are known, right? by DrEasy · · Score: 1

      Good points. In the case of the counterexample though, it can probably be verified easily without needing access to the source code of the program that exhibited it.

      --
      "In our tactical decisions, we are operating contrary to our strategic interest."
    6. Re:But the proof steps are known, right? by popmaker · · Score: 1

      That's true. We'd probably need to worry more if the program returned TRUE.

  16. Re:Those fucking porpriartaryers can learn from ri by Anonymous Coward · · Score: 0



    How is it I can tell you're a Linux user?

  17. PDF rant. by serviscope_minor · · Score: 4, Insightful

    Why does this keep coming up on ./? What is wrong with PDF? It's undeitable, sure, that's kind of the point. However, the spec is accessible, and there are plenty of open readers, e.g. xpdf and ghostscript.

    Really, what is wrong with PDFs and why should they require a warning?

    By the way, all scientific papers are disseminated by PDF.

    --
    SJW n. One who posts facts.
    1. Re:PDF rant. by Tango42 · · Score: 1

      "By the way, all scientific papers are disseminated by PDF."

      Actually, most scientific papers I see are disseminated as PostScript (often with a PDF option for people without ghostscript or similar installed - basically, non-academics).

    2. Re:PDF rant. by serviscope_minor · · Score: 1

      Actually, most scientific papers I see are disseminated as PostScript (often with a PDF option for people without ghostscript or similar installed - basically, non-academics).

      Not in my experience. PS is opten an option, but not always. LNCS (Springer?) for instance only offer as PDF. I think Elsevier and the IEEE are like that as well.

      --
      SJW n. One who posts facts.
    3. Re:PDF rant. by saforrest · · Score: 1

      Actually, most scientific papers I see are disseminated as PostScript (often with a PDF option for people without ghostscript or similar installed - basically, non-academics).

      Perhaps it depends on the field. In my experience, in computer science all recent papers are provided either as PDF alone or PDF + PostScript, and in my (very limited) experience with refereed publications, PDF is the accepted standard.

      PDF has a lot of advantages over PostScript, the most obvious of which is internal hyperlinks.

    4. Re:PDF rant. by visualight · · Score: 2

      I would like a warning because I usually don't click on links to PDFs unless I really need the info. Not because it's proprietary or whatever, they just take a long time to load, and if it's a big one, my browser hangs while it's rendering.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    5. Re:PDF rant. by serviscope_minor · · Score: 2, Informative

      I would like a warning because I usually don't click on links to PDFs unless I really need the info. Not because it's proprietary or whatever, they just take a long time to load, and if it's a big one, my browser hangs while it's rendering.

      Then get a better PDF reader. Even on a very slow computer, xpdf or ghostview have subsecond load times. If you use mozilla related browsers, then plugger will let you "embed" decent PDF readers. In fact if you install mozplugger under Ubuntu, it uses evince by default. If you don't use mozilla, then set it up to use $viewer as an external helper application.

      My guess is that your bias against PDF comes from the awful Adobe viewer.

      --
      SJW n. One who posts facts.
    6. Re:PDF rant. by Tango42 · · Score: 1

      It may well depend on the field - my experience is with Maths papers. Also, I'm thinking of pre-prints rather than papers from journals - journals are more commonly PDF, now I think about it. But my point stands - PDF is far from universal.

    7. Re:PDF rant. by mfnickster · · Score: 1

      > Really, what is wrong with PDFs and why should they require a warning?

      Well, for one thing, if you use unusual fonts or special symbols, you can never be 100% sure that the reader on the other end will see them properly.

      PDF should include an option for graphically rendering fonts which the user doesn't have installed. After all, I've never taken a piece of paper to another location and suddenly seen the writing on it turn to gobbledygook - something I can't say for PDF.

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    8. Re:PDF rant. by Eivind+Eklund · · Score: 1
      PDFs sucks in the default reader, and it often requires external shitty setup. This makes the format suck (on the web) for many/most people. Thus, it is courteous to give a warning. Whether a warning is unnecessary for YOU doesn't matter - it's courteous because the format is annoying for a large enough fraction to matter.

      For me, I find it particularly annoying because the default Adobe PDF plugin on Windows sometimes crash my browser. I think that's true for many others, too, though I don't know that for sure.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    9. Re:PDF rant. by serviscope_minor · · Score: 1

      PDFs sucks in the default reader, and it often requires external shitty setup. This makes the format suck (on the web) for many/most people. Thus, it is courteous to give a warning. Whether a warning is unnecessary for YOU doesn't matter - it's courteous because the format is annoying for a large enough fraction to matter.

      For me, I find it particularly annoying because the default Adobe PDF plugin on Windows sometimes crash my browser. I think that's true for many others, too, though I don't know that for sure.

      Eivind.


      Really? The default reader under Ubuntu seems OK. It sounds like you're using Windows, where there isn't a default reader. Sounds like you chose to install a bad reader. An interesting choice given that you don't like it and it crashes your browser. Do you think that a website aimed at techs should give a warning because some of its users are unable to install software that they like?

      Perhaps slashdot should stop using HTML, since many people use internet explorer which is a sucky browser.

      Or perhaps you should try browsing under a good Linux distro. It sounds like a much more pleasant experience.

      --
      SJW n. One who posts facts.
    10. Re:PDF rant. by lahvak · · Score: 1

      I think lot of preprints used to be postscript because people simply ran TeX and dvips. With pdftex becoming more popular, I expect that is probably soon going to change.

      --
      AccountKiller
    11. Re:PDF rant. by visualight · · Score: 1

      just stop it. many people don't like pdf's and that's all there is to it.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    12. Re:PDF rant. by Thrip · · Score: 1

      Putting this document in PDF adds nothing over disseminating it in plain text or html. You are arguing "the inconvenience is minimal." I would argue "why add any unecessary inconvenience?" Also, don't forget that some people browse on mobiles and other devices that don't necessarily have a wide range of pdf viewers available, if any.

      There are documents where the extra formatting and printability of pdf make it a reasonable choice, but this really isn't one of them.

      --
      I'm awake! The answer is BONK!
    13. Re:PDF rant. by izomiac · · Score: 3, Interesting

      The main reason they should need a warning is because they aren't webpages. Either they get loaded through a browser plugin or they must be downloaded. In the former case, most browser plugins are slow to load, and nearly impossible to stop from loading, so a warning is nice. In the latter case they take a bit of effort to open and often people are too lazy (a warning isn't critical though). In both cases they are more inconvenient to use than HTML or text, so that's why I personally don't care for them. (IMHO, for online documents: html >= txt > rtf > pdf > jpg >> doc)

    14. Re:PDF rant. by vocaro · · Score: 1

      Well, for one thing, if you use unusual fonts or special symbols, you can never be 100% sure that the reader on the other end will see them properly.

      This is not true. The PDF format was designed specifically to prevent this kind of problem. When generating a PDF file, you can package up any non-standard fonts with it, allowing all readers to see your document exactly as you intended.

      PDF should include an option for graphically rendering fonts which the user doesn't have installed.

      It already does! It's called font embedding.

    15. Re:PDF rant. by mfnickster · · Score: 1

      Well, for one thing, if you use unusual fonts or special symbols, you can never be 100% sure that the reader on the other end will see them properly.
      This is not true. The PDF format was designed specifically to prevent this kind of problem.

      It is true, because I have seen it with my own eyes.

      When generating a PDF file, you can package up any non-standard fonts with it, allowing all readers to see your document exactly as you intended.

      Yes, I'm aware of that. My complaint is that it allows you to create a PDF which will display incorrectly on another machine or another reader. It fails to prevent the problem through its design.

      PDF should include an option for graphically rendering fonts which the user doesn't have installed.
      It already does! It's called font embedding.

      I'm aware of font embedding too. That's not what I'm talking about - I mean either a vector or raster representation which will always display correctly, just as a paper document will always display correctly instead of substituting random junk for legitimate content.

      Maybe the problem is just with Acrobat and Acrobat Reader, but I can only tell you my experience. I support faculty members who generate PDFs for publication - nothing special, usually just a Word document output to PDF through Distiller. I have seen some of these documents display garbage on other faculty members' computers in Acrobat Reader, with no warning, no indication that anything is amiss - just incorrect output. Now that's using Adobe's own tools, which tells you something if even they can't get it to work right.

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    16. Re:PDF rant. by serviscope_minor · · Score: 1

      just stop it. many people don't like pdf's and that's all there is to it.

      Stop what? Using logic or stating facts. The main complaints seem to be because of acrobat reader embedded in a browser. Using a better reader makes browsing with PDFs a pleasant experience, beacuse all those complaints go away.

      --
      SJW n. One who posts facts.
    17. Re:PDF rant. by Eivind+Eklund · · Score: 1
      The default reader under Windows is Adobe Reader. Everything points at it, and those are the plugins that actually works with the browsers people use, at least to the best of my knowledge.

      I choose to use Windows/Mac on the desktop at work at the moment due to compatibility issues with software that other people in my organization use. The choice of running Windows or Firefox on Mac is true for a large fraction of the Slashdot user base; in neither of these does PDFs work. Neither did they work very well on Unix the last time I used Unix as a desktop; XPDF had problems with rendering for many years, as well as not supporting PDF indexes (have they fixed that yet?), and gv had occasional problems with rendering, constant problems with links not working, and at least occasional slow rendering speed. So, there has constantly been problems with PDFs, on many different platforms. If that is fixed in some recent distributions of Linux which cover some parts of the userbase - so, it is still rude.

      I'll also note that I mostly kicked out Linux of my life over 10 years ago, and my debates with Linus over technical/ethical issues since has led me to feel good about that decision. Whether it is "pleasant" or not doesn't matter when it comes to running a system where I feel I can't trust the lead developer to avoid hosing users' data to get better benchmarks. Nor where there's code in plain sight and I can't hack the code and contribute it back without feeling I stab free software in the back (ref use of the GPL license.)

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    18. Re:PDF rant. by Angstroman · · Score: 1

      While it is true that fonts may be embedded, it is also true that PDF provides the mechanism for proprietary fonts to decline embedding. This is general feature of some proprietary fonts. I run into this frequently with PDF documents that contain ancient Greek or Hebrew fonts. In about a third of these documents the PDF will not render correctly because they have used proprietary fonts that I do not have on my machine. In these cases, the document is completely unreadable since the Latin font equivalent chosen in no way reflects the underlying text.

    19. Re:PDF rant. by serviscope_minor · · Score: 1

      Try installing a fresy copy of XP or Vista. Where is acrobat? Not there? That's because it is not there by default. It's a choice on your part.

      PDFs don't work in firefox under windows? Really? What about the foxit reader plugin? And on MacOS? You can't view PDFs in a browser without using Acrobat? Sounds odd, considering PDF is built in to OSX?

      Well, they work fine under UNIX. You say you kicked it out of your life 10 years ago. Not suprisingly it's changed since then. You wouldn't compare anything to Window 95 or MaxOS 8 would you?

      So under OSX, PDF support is completely native, so it works great. Under UNIX, there are now several very high quality PDF readers, and under Windows, apparently foxit is very good.

      And regarding your last paragraph: so you instead trust your data to companies whose stated goal is profit and whose internal goals you can not know. Yeah, that makes a lot of sense. Perhaps you should try all of these excellent systems on FreeBSD or OpenBSD. And how on earth can you not use the GPL cde as the GPL intended without feeling backstabby? And you further use that as an excuse for using software for which it's not even an option? That's a completely illogical leap.

      PDFs are crap if you insist on Acrobat. If you don't they're great. I really don't think it's up to /. to warn some fraction of its supposedly technically able users whu are unable to install decent software when it exists.

      --
      SJW n. One who posts facts.
    20. Re:PDF rant. by bcrowell · · Score: 1

      The main reason they should need a warning is because they aren't webpages.

      Hmm...so you want a warning every time a page links to an image in png format? It's not a web page, right?

      most browser plugins are slow to load,

      So why did you choose to install optional software (presumably Adobe Reader) that you didn't like, and then keep on using it, instead of replacing it with something that you might like better (maybe xpdf, or evince, or almost any other pdf viewer?).

      In both cases they are more inconvenient to use than HTML or text

      Personally, I find it inconvenient to read a document of any significant length off of a computer screen. I find it very convenient to have a document in a printer-friendly format. Here's what I do to print a pdf file:

      lpr foo.pdf

      Here's what I do to print a plain text file:

      lpr -o page-left=36 -o page-right=36 -o page-top=36 -o page-bottom=36 a.txt

    21. Re:PDF rant. by Anonymous Coward · · Score: 0

      1. Take a minute of your life to write your text/html print commands to a bash file.
      2. ???
      3. Just get a Mac.

    22. Re:PDF rant. by Eivind+Eklund · · Score: 1

      And regarding your last paragraph: so you instead trust your data to companies whose stated goal is profit and whose internal goals you can not know. Yeah, that makes a lot of sense. Perhaps you should try all of these excellent systems on FreeBSD or OpenBSD. Thanks for the compliment; I've been part of the team for making both of those systems. And I still use FreeBSD, just not as my default desktop, because that doesn't fit with what I work with at the moment.

      Try installing a fresy copy of XP or Vista. Where is acrobat? Not there? That's because it is not there by default. It's a choice on your part. It's not there by default, but it definately a default choice, because it is what everything points at. Which is what counts in this case - not "Can you configure yourself around it", but "Is it an annoyance for a lot of people?"

      PDFs don't work in firefox under windows? Really? What about the foxit reader plugin? There is possibly a Foxit reader plugin; that is not included in Firefox/Foxit reader by default. The default push is towards the Acrobat reader, which works with Firefox if you've just installed both programs.

      And on MacOS? You can't view PDFs in a browser without using Acrobat? Sounds odd, considering PDF is built in to OSX? You can't view PDFs in Firefox on OSX at all, as far as I know. Firefox downloads them, which is annoying. In Safari it works, but, that means you're forced to be playing around with Safari instead of Firefox, which is an annoyance. Due to plugins and consistency I and many others like to use Firefox. Also, please read more carefully. I said I kicked out LINUX from my life, and my criticism was of LINUS. Not Unix. LINUX. An implementation of Unix, the one you happened to be babbling about, and one I feel have damaged free software, through it's at times lousy attitude and through it's use of the GPL (which, through hindering proprietary derivates hinders creation of free software through the domination of free software codebases.)

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    23. Re:PDF rant. by serviscope_minor · · Score: 1

      Ah, so /. should have a warning for all those people who use firefox on OSX?

      GPL (which, through hindering proprietary derivates hinders creation of free software through the domination of free software codebases.)

      Do you have any evidence to back that up, or are you, as you put it "babbling"?

      --
      SJW n. One who posts facts.
    24. Re:PDF rant. by Eivind+Eklund · · Score: 1

      Ah, so /. should have a warning for all those people who use firefox on OSX? No, it should have a warning for all those that find PDFs an annoyance for a variety of reasons, especially with the most common configuration on Windows (Firefox or IE with the Adobe plugin automatically picked up) crashing. This would, at a guess, be at least 40% of the Slashdot population (which as far as I remember is a tiny sliver above 50% Windows). Claiming "it doesn't matter because it can be configured away" is irrelevant and elitist; what's relevant is that it is actually an annoyance for a lot of people.

      GPL (which, through hindering proprietary derivates hinders creation of free software through the domination of free software codebases.) Do you have any evidence to back that up, or are you, as you put it "babbling"? Evidence of the GPL hindering proprietary derivates? That's the point of it.

      Creation of proprietary derivates feeding back to free software? Look at the number of contributions the BSDs get from their proprietary derivates. Heck, for a period of years, FreeBSD development of major subsystems was almost exclusively driven by contributions from proprietary derivates.

      With the GPL active, it channels development away from codebases that can be shared between the propritary derivates and free software and towards pure proprietary codebases instead. From pure proprietary codebases there flow little competence and no patches.

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    25. Re:PDF rant. by nbritton · · Score: 1

      And OpenOffice has PDF export out of the box. OO-Draw + OO-Math OLE Objects + PDF Export = Easy scientific publishing. My only gripe with this combo is that it's hard to do tables.

    26. Re:PDF rant. by Hatta · · Score: 1

      Why does this keep coming up on ./? What is wrong with PDF?

      Try reading it from the console sometime.

      --
      Give me Classic Slashdot or give me death!
    27. Re:PDF rant. by serviscope_minor · · Score: 1

      Claiming "it doesn't matter because it can be configured away" is irrelevant and elitist;


      You don't say. Of course it's elitist. I come here because I want to interact with technically knowledgable people. That pretty much wraps up elitism. If I wanted a wider segment of the population, I'd go elsewhere. And besides, any devent browser will show you the URL with a mouseover. You can use that as a warning if you're so inclined. But my point still stands: good software that does not suffer from these problems exists. And it's free and Free(tm). And if you don't like the Acrobat plugin, then disable it as a plugin.

      GPL (which, through hindering proprietary derivates hinders creation of free software through the domination of free software codebases.)

      Do you have any evidence to back that up, or are you, as you put it "babbling"?
      Evidence of the GPL hindering proprietary derivates? That's the point of it.


      Way to selectively quote. Is there any evidence that the GPL hinders creation of free software and especially by the mechanism which you propose?

      So, the BDSs get contributions. Well guess what? So does Linux. In fact, Linux gets lots of contributions. So to pluck a datapoint out of the air: who has received more contributions? NetBSD from Wasabi, or Linux from IBM. Or RedHat. Or Oracle?

      You seem to be saying that the GPL causes too much Free Software which hinders Free Software. That is a rather extraordinary claim.
      --
      SJW n. One who posts facts.
    28. Re:PDF rant. by Eivind+Eklund · · Score: 1
      Linux does not get contribution from non-free codebases. BSDs does. Compared to mindshare, the BSDs get more contributions overall.

      You seem to be misreading more or less on purpose. And you also seem to be doing the standard GPL crosstalk that the GPL increase free software, which works under an assumption that companies do the same development on a free codebase regardsless of the license; they would do the development and release a proprietary product if it wasn't for the GPL, and with the GPL they do the same development and release it for everybody to use. Think carefully on this assumption - when you do, I'm sure you'll agree that it is wrong. And the GPL "causing more free software" is for the most part dependent on that assumption. (There are other, indirect ways that the GPL can cause development - for instance, it keeps the people that are paranoid of being "exploited" comfortable, which sometimes is a boon.)

      Eivind.

      --
      Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
    29. Re:PDF rant. by Anonymous Coward · · Score: 0

      That varies a lot by field. In chemistry, biology, medicine and similar fields, you would never see a PS file in your entire working life. Physics and maths tend to offer both PS and PDF these days.

      (from someone who actually does research in *all* of these fields and isn't just waving hands...)

  18. Open Formats by iamacat · · Score: 2, Insightful

    Proprietary math software is not a problem as long as the end result can be exported into a fully documented format and can be then verified by open software, including human mathematicians.

    1. Re:Open Formats by Anonymous Coward · · Score: 0

      Wait, humans are open-source now? What else have I missed?

    2. Re:Open Formats by iamacat · · Score: 1

      Prodigious creation of derivative works?

    3. Re:Open Formats by wikinerd · · Score: 1

      Proprietary math software is not a problem as long as the end result can be exported into a fully documented format

      I would say that proprietary math software is less of a problem when the result is exportable to open formats, not that there is no problem at all.

  19. openmodelica.... by __aasmho4525 · · Score: 2, Interesting

    not entirely on-topic, but i figured the slashdot community might be interested in this tool.

    OpenModelica

    a very nice modelling package that can help you with practical mathematics issues like mathematica might.

    cheers.

    Peter

  20. Re:I don't know what to say by fbjon · · Score: 1

    I don't know what to say. I'm just so tired. Like this.
    --
    True confidence comes not from realising you are as good as your peers, but that your peers are as bad as you are.
  21. Not necessarily bad in all cases... by Ardeaem · · Score: 4, Insightful
    There are some programs which can aid proofs that are closed source. This doesn't HAVE to mean that steps of the proof are omitted. Take, for example, Mathematica for the Web. It can spit out a result, including all the steps (try a derivative). Or check out a sample Otter proof. Mathematica is closed source, Otter is open source. However, even if both of these were closed source, all the steps would be laid bare for all to see.

    In other cases, like the proof of the four color theorem, it seems like the source code is important to see, but not essential. Pseudocode should suffice. Providing pseudocode is akin to saying things like "Simplifying expression (1) yields..."; we don't have to provide EVERY step, but with pseudocode you have enough to determine whether the algorithm itself will work. Checking the source code beyond that is akin to checking someone's algebra.

    Just because we don't know how the program arrived at the steps it did doesn't mean that we shouldn't use it; we can usually check the steps. After all, the human brain has been a closed-source proof machine for thousands of years, and no one has complained about that :) Just require pseudocode in computer aided proofs, and it should be sufficient.

    1. Re:Not necessarily bad in all cases... by mopslik · · Score: 2, Insightful

      In other cases, like the proof of the four color theorem, it seems like the source code is important to see, but not essential. Pseudocode should suffice. Providing pseudocode is akin to saying things like "Simplifying expression (1) yields..."; we don't have to provide EVERY step, but with pseudocode you have enough to determine whether the algorithm itself will work. Checking the source code beyond that is akin to checking someone's algebra.

      Perhaps I'm being too pessimistic, but shouldn't the source code have to be provided alongside the pseudocode? If the pseudocode is 100% spot-on, then there would really be no need for the computer-assisted proof in the first place --- you will have provided a proof in the form of verifiable instructions. But the FCT was proved by some amount of brute-force, IIRC. Who is to say that the coder who translated from pseudocode to source code didn't mess something up? I mean, if my pseudocode reads

      INCREMENT current value by ONE
      ...
      OUTPUT result of long computations

      and my source code is entered as

      value += value++;
      ...
      printf("%d",result);

      then even if the pseudocode is verified, the program may still be producing an erroneous result. In other words, you're assuming that IF the pseudocode is correct THEN the program itself is also correct, which may not be the case.

    2. Re:Not necessarily bad in all cases... by Ardeaem · · Score: 1

      But with the pseudocode, you can write your own program in whatever language you like to verify the results. In my opinion, proving something doesn't obligate you to show every single step. We all omit things in proofs, especially steps which can be verified easily by others, like algebraic simplification, etc. The pseudocode is the minimum acceptable transparency in a computer-aided proof.

    3. Re:Not necessarily bad in all cases... by HiThere · · Score: 1

      I've encountered too many programs where the source code doesn't match the documentation. For some of your arguments, that's not fatal. If the entire proofs are made explicit, then you can argue that it's like not being able to peer inside the skull of the mathematician. In the cases, however, where you are depending on the results of computational steps (as in the four color proof), those steps need to be made open and explicit.

      Pseudocode is not sufficient. You don't know that it actually reflects the code that was used.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    4. Re:Not necessarily bad in all cases... by mopslik · · Score: 1

      But with the pseudocode, you can write your own program in whatever language you like to verify the results.

      Of course. There's no real reason to restrict a proof to a particular language. I would expect, however, that if a computer was essential in producing the proof, that the source code that was used would also be released. In the case of the FCT, the program ran for several hundred hours. In the spirit of mathematical disclosure, it would be nice to see someone provide their own particular program that they used, so that peers could inspect the code, rather than have them recreate it themselves. This way they're not reinventing the proverbial wheel, although they could certainly do so if they wished.

      Cheers.

    5. Re:Not necessarily bad in all cases... by John+Hasler · · Score: 1

      > Just because we don't know how the program arrived at the steps it did doesn't mean that
      > we shouldn't use it; we can usually check the steps.

      Even when there are 700,000,000 of them?

      --
      Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  22. first: prove the correctness of your software by petes_PoV · · Score: 1
    If you are using a software tool/package, then it must have been subject to mathematically rigourous tests to demonstrate it's own correctness. If not, then the foundation of any proofs that use it must be in doubt.

    So, if you use a closed product, how can that have been proved corect (independently of the supplier, of course) without recourse to the source code?

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:first: prove the correctness of your software by HiThere · · Score: 1

      In many cases there are correctness tests that are much simpler than the original proof. In such cases, the steps taken to derive the proof are not necessarily open. (OTOH, I'd hesitate to call such a proof a constructive proof rather than an existence proof.)

      Neither open nor closed software can be known with any reliability to be without errors. You are saying that there is a sizeable program that doesn't have any bugs! If you fix a bug, then you run into the problem of KNOWING that you haven't introduced a new error, so you need to start checking all over.

      As a method for dealing with this, large programs usually have "test suites". When the program passes all of the tests, it's deemed "good enough". As bugs are fixed, more pieces are added to the test suite, so more cases are handled correctly. I don't think, however, that one can ever reach the point where a sizeable program is known to be bug free...and if you were to reach that point, you'd need to move to a new processor/compiler combination, at which point you must start your testing again.

      Probably mathematics beyond a certain level of complexity cannot be know with certainty to be correct, and beyond some slightly higher level it can be known to contain unexpected bugs. (This doesn't help with locating them!)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    2. Re:first: prove the correctness of your software by petes_PoV · · Score: 1
      In certain limited situations, it is possible to prove mathematically that a program is "correct". See, for example

      Without this precursor proof, I cannot see how a piece of software can therefore be used in a subsequent proof. The methodoilogy is flawed.

      Testing is not the answer, because it is never exaustive - i.e. tests all possible inputs and validates all possible outputs. If you could do this, the proof you are trying to obtain would be in the result set of your testing - a circular argument: A proves B, but B proves A.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    3. Re:first: prove the correctness of your software by HiThere · · Score: 1

      Unfortunately, this also fails.

      Very simple flaws have remained in well known math proofs for centuries. Yes, it's infrequent, but it HAS happened...so you never know it isn't happening again. And even if you were to assert that it has never happened, you would have the problem of proving that it didn't happen THIS time. It's an endless recursion.

      Also, computer hardware is, itself, not inerrant...so you're not only trusting the software, you're also trusting the hardware.

      Testing isn't foolproof...but neither is any other approach.

      In very simple situations one can be rather certain that a program is correct, but as the program complexity grows, the certainty must decrease. (This is one of that all variables aren't global...which would yield much simpler compilers, but much more complex programs.)

      People who use Spark Ada claim that they can prove the correctness of their programs, but the program specifications weren't written in Spark Ada...so there's no proof that the program as implemented matches the original specifications.

      Now if you want likelihood rather than certainty, we're talking about something altogether more reasonable. But even here it gets quite difficult to calculate what the probability is that the program is correct (and what the error bars are for THAT calculation).

      Everything real has error bars, either recognized or ignored. It makes things a lot simpler to just ignore them, but this doesn't mean that that's a valid approach (although, if you've got a time limit [and there always is one], it can be the best available choice).

      Remember that it was just this year that a flaw was pointed out in the standard algorithm for a binary search. That algorithm had been out there since sometime around 1960...and it was just corrected in the standard implementations this year. Don't be certain that anything less scrutinized doesn't also have hidden flaws. (This was a problem that only appeared when the number of items in the list being sorted overflowed one half the maximum that the index could represent...so probably nobody ever encountered it, but it was there! As I remember it was "(a + b)/2" rather than "a + (a - b)/2" with a and b both signed non-negative indicies.)

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
  23. What about hardware? by LM741N · · Score: 3, Insightful

    I would think that hardware errors would be an even worse problem, like the old Pentium bug, since they are so insidious.

  24. Ruby could be the answer as well by Gadzinka · · Score: 4, Interesting

    Python seems to deftly marry precision with looseness. When code is laid out in Python I find it is easier to see what it's trying to do than other languages. It's aesthetic qualities aside, it supports a number of features out of the box which I imagine would be ideal of mathematicians. To list a few, it's treating of lists and tuples as first class objects, support for large integers, complex numbers, it's ability to integrate with C for high-performance work.

    I often think of Python as "basic done right" and it's ideal for mathematicians (or anybody) who don't want to think about programming but the problem at hand.
    I could also recommend Ruby for the job. It has all the features you recommend, and more. If you could forget for a moment about the monstrosity that is Rails (I don't know, lobotomy might do the trick), the language in itself is quite beautiful.

    There is one special feature of Ruby, that I miss in every single programming language I used since: iterator methods. Any time I want to iterate over elements of an array or hash I just do:

    myhash.each_pair do |key,val|
      puts "#{key}: #{val}"
    end
    That's it, instant "anonymous function" given as a parameter in estetically pleasing syntax. In fact, "for" loop in Ruby is just obfuscated way of calling method #each on an object. But the madness doesn't stop here:

    File::open("somefile.txt") do |fh|
      fh.each do |line|
          puts line
      end
    end
    It's a pity that so many people disregard Ruby as a "platform for Rails". It is a feature complete countepart to Python, and as my company high volume systems can attest, can handle anything other languages can handle.

    Robert
    --
    Bastard Operator From 193.219.28.162
    1. Re:Ruby could be the answer as well by Anonymous Coward · · Score: 0

      Ruby is too slow and lacking in the lib dept. Ruby has nothing that matches the quality of Numpy and it has no efficient JIT like Psyco. Even without psyco the Python interpreter is still sensibly faster than the craptatular Ruby one.

      I'd truly like to know what kind of "high volume systems" your ruby programs handle. Are they only doing stupid string handling (that would also be fine with Perl btw) ?

    2. Re:Ruby could be the answer as well by GrievousMistake · · Score: 2, Informative

      I don't suppose Ruby has something comparable to SciPy and IPython?
      Also, I want to avoid a language discussion, but a lot of languages have some form of iterators, even if the syntax varies slightly. Even Java kind of got them now.
      In Python:
      for key, value in mydict.iterkeys():
          print '%s: %s' % (key, value)

      with file('somefile.txt', 'r') as f:
          for line in f:
              print line

      --
      In a fair world, refrigerators would make electricity.
    3. Re:Ruby could be the answer as well by David+Deharbe · · Score: 1

      You may want to check functional languages, such as OCaml, then.

    4. Re:Ruby could be the answer as well by Gadzinka · · Score: 1

      I'd truly like to know what kind of "high volume systems" your ruby programs handle.
      gsm-to-pstn SMS gateway in 38mln country. Full traffic, all networks, there and back again.

      Robert
      --
      Bastard Operator From 193.219.28.162
    5. Re:Ruby could be the answer as well by Just+Some+Guy · · Score: 3, Informative

      Actually, dict.iterkeys() returns an iterator of that dict's keys alone. You wanted:

      for key, value in mydict: print '%s: %s' % (key, value)

      or even just:

      for item in mydict.iteritems(): print '%s: %s' % item
      --
      Dewey, what part of this looks like authorities should be involved?
    6. Re:Ruby could be the answer as well by fossa · · Score: 1

      I'm not familiar with SciPy or IPython, but Ruby has Ruby/GSL, a wrapper around the GNU Scientific Library. It defines Vector and Matrix classes and many math and stats functions that work on them. There's also Numerical Ruby NArray that defines structures similar to Vector and Matrix and basic math operators. I've used both of these a little, but not for anything large. For example, I just used Ruby/GSL to calculate a Receiver Operating Characteristic curve for a spamfilter, but GSL has no ROC stats function so I wrote my own in Ruby. The function itself has no advantage over Ruby's built-in Arrays, but I left to door open massage my data using GSL before calculating the ROC curve.

      See also the SciRuby wiki.

    7. Re:Ruby could be the answer as well by Gadzinka · · Score: 1

      I don't suppose Ruby has something comparable to SciPy and IPython?
      I don't suppose Python has something comparable to Fortran libraries for mathematics, physics, astrophysics and many other science stuff? I don't really suppose there's any programming language that can compare with Fortran when it comes to the number of scientific packages. Yet, it doesn't seem to stop you from using Python.

      Go figure.

      Robert
      --
      Bastard Operator From 193.219.28.162
    8. Re:Ruby could be the answer as well by GrievousMistake · · Score: 1

      It sure keeps me using Fortran, though. I'll use Ruby sometimes, too, but I haven't seen it used in a scientific context before, so I were wondering if there existed any good libraries for it. I'm not quite sure what you want me to go figure. Maybe we should reflect together on the difference between the difference between Fortran and Python and the difference between Python and Ruby?

      --
      In a fair world, refrigerators would make electricity.
    9. Re:Ruby could be the answer as well by 808140 · · Score: 1

      Or Haskell, which is cooler in pretty much every way, and has nicer syntax.

    10. Re:Ruby could be the answer as well by Slugbait · · Score: 1

      The the construction you are describing is a closure; indeed they rock and show up in several functional languages. The power of the abstraction (more than just iterators) was well explored in the "Lambda the ultimate..." papers in Scheme in the 1970s. They may well included in Java 1.7 and a prototype is even available (examples here and here). .

    11. Re:Ruby could be the answer as well by Anonymous Coward · · Score: 0

      Python supports iterating over a hashlist (dictionary) or an array (including the index) as well:

      for (key, value) in dictionary.items(): print key, value

      for (index, value) in enumerate(array): print index, value

    12. Re:Ruby could be the answer as well by Anonymous Coward · · Score: 0

      How is:

      myhash.each_pair do |key,val|
          puts "#{key}: #{val}"
      end

      different from Python's:

      for key, val in myhash:
              puts "#%s: %s" $ (key, val)

      Aside from the variable interpolation, that is, which I freely admit is a lot nicer in Ruby than Python. I'm talking about your use of what I think Ruby people call "blocks".

      This is an honest question, not some sort of Python vs Ruby troll.

    13. Re:Ruby could be the answer as well by Anonymous Coward · · Score: 0

      Numpy has tools to ease the pain of integrating code written in fortran with Python programs.

    14. Re:Ruby could be the answer as well by Just+Some+Guy · · Score: 1

      for (key, value) in dictionary.items(): print key, value

      Don't do that. If "dictionary" happens to be a subclass of type dict that returns dynamic data (say, from a database backend), then .items() causes it to instantiate every single key:value pair it could ever return and compile all that into a list of tuples. You may not have the time or storage space to do that. Instead, write that as:

      for key, value in dictionary: print key, value

      which works off an iterator instead of casting the whole thing to a list.

      --
      Dewey, what part of this looks like authorities should be involved?
    15. Re:Ruby could be the answer as well by xeno-cat · · Score: 1

      Hmm.

      for k in myhash.keys():
              print "$s: $s" % (k, myhash[k])

      for l in open("somefile.txt").readlines():
              print l

      Not sure what the big deal is. Python seems just as clean to me (to be kind).

      --
      "A few great minds are enough to endow humanity with monstrous power, but a few great hearts are not enough to make us w
    16. Re:Ruby could be the answer as well by Nevyn · · Score: 1

      myhash.each_pair do |key,val|
      puts "#{key}: #{val}"
      end
      [...]

      File::open("somefile.txt") do |fh|
      fh.each do |line|
      puts line
      end
      end

      So in python that's (not that I'm overly fond of python, but it's often the least worst option):

      for (key, val) in myhash.items():
      print "%s: %s", key, val
      [...]

      for line in file("somefile.txt"):
      print line

      ...and the python looks much nicer in both cases to me, and smaller, although I freely admit to violently disliking ruby's syntax. As a personal point if you are going to use lambda's as the main way to control things I think the lisp syntax is much more readable than the ruby syntax.

      --
      ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
  25. Coq is another interesting tool by DrYak · · Score: 3, Informative

    We may also mention Coq, a proof assistant wich is available under LGPL and runs on OCaml (which in turn is also open sourced and available on Linux).

    This is a tool that can help mathematician prove their theorems.
    It was notably being used in the proof of the four color theorem, as mentioned on /. (article about machine assisted proofs).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  26. Why I don't trust Python by Nuwdle · · Score: 1

    Python 2.5.1 (current)...

    Command Line:
    >>> 1.00 - 0.01
    0.98999999999999999

    I hope I'm not the only one that thought of this one.

    1. Re:Why I don't trust Python by William+Stein · · Score: 1

      The program Sage http://sagemath.org/ mentioned in the article uses Python extensively, but with a few changes when used interactively. In particular, all floating point literals are created as Python objects that wrap MPFR C-library objects http://www.mpfr.org/ which have better semantics. In particular, your example above in Sage becomes:

      sage: 1.00 - 0.01
      0.990000000000000

      Likewise, in Python one has the confusing (to a mathematician):

      >>> 1/3
      0

      In Sage integer literals wrap GMP integers http://gmplib.org/ (which are vastly faster than Python's large integers), and one has:

      sage: 1/3
      1/3

        -- William, http://wstein.org/ (author of the article being discussed)

    2. Re:Why I don't trust Python by Just+Some+Guy · · Score: 3, Informative

      >>> 1.00 - 0.01
      0.98999999999999999

      I'm too lazy to see if that's the IEEE 754 result or not (but I suspect it is). But three things in Python's defense:

      1. Floats can only store exact values for the fractional part when the denominator is a power of 2. The "100" in "1/100" isn't a power of two, so IEEE 754 cannot represent it perfectly.
      2. .999999999... == 1, so the answer is still correct.
      3. If you must have exact answers, use the Decimal type:

        >>> 1 - decimal.Decimal(".01")
        Decimal("0.99")
      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:Why I don't trust Python by fredrikj · · Score: 4, Informative

      Python calculated exactly what its documentation says it will do: ((1 minus the IEEE-754 double closest to 1/100) rounded to the nearest IEEE-754 double). It's not Python's fault if you don't know the basics of floating-point arithmetic. Mathematicians who use or write numerical software do.

      I recommend reading What Every Computer Scientist Should Know About Floating-Point Arithmetic.

    4. Re:Why I don't trust Python by fredrikj · · Score: 1

      2 .999999999... == 1, so the answer is still correct. This is only by accident. The precise value in this case is 0.9899999999999999911182158029987476766109466552734375. Another time, the printed result will be something like 0.98999999999999966.
    5. Re:Why I don't trust Python by fredrikj · · Score: 1

      Another time, the printed result will be something like 0.98999999999999966.

      To clarify, the result may be different if some other sequence of operations is performed. Floating-point rounding is of course deterministic.

    6. Re:Why I don't trust Python by chthonicdaemon · · Score: 1

      Strangely, there are some rounding methods that are random so that you don't have bias. Go figure, floating point is interesting.

      --
      Languages aren't inherently fast -- implementations are efficient
    7. Re:Why I don't trust Python by hoopshank · · Score: 1
      ".999999999... == 1, so the answer is still correct."


      It is not correct. At what point did Python point out that those 9's are recurring?

      You are right that, mathematically, 0.999999999999... (recurring) is indeed equal to one.
      But 0.9999999999999 is not equal to 1.
      Even if there were 100 billion 9's, or any finite number, it is still not equal to 1.

      Mathematics is a precise art. Computer calculations generally are not.

    8. Re:Why I don't trust Python by Just+Some+Guy · · Score: 1

      Mathematics is a precise art. Computer calculations generally are not.

      Correct. So it is incumbent upon people who depend on those results to understand the corner conditions and how to account for them. As always, there's a tradeoff: you can use hardware FP for fast, reasonably accurate approximation or decimal math for exact answers that take ages to calculate. Neither is "better" than the other, although I'm happy with fast math being the default since most people are usually more interested in the first few significant digits than the last few.

      --
      Dewey, what part of this looks like authorities should be involved?
    9. Re:Why I don't trust Python by kraut · · Score: 1

      You can't blame python for the fact that you slept through the floating point classes in your computer science degree, can you?

      --
      no taxation without representation!
    10. Re:Why I don't trust Python by civilizedINTENSITY · · Score: 1

      I was told that floating point rounding was not deterministic. A given CPU should do the same rounding both times, but two implementations of the IEEE standard could consistently give different results. Is this incorrect?

    11. Re:Why I don't trust Python by mfnickster · · Score: 1

      Mathematics is a precise art. Computer calculations generally are not.

      Actually, computer calculations are a very precise art - it's just that they allow you to be incorrect or incompatible in many very precisely defined ways. :)

      --
      "Slow down, Cowboy! It has been 3 years, 7 months and 26 days since you last successfully posted a comment."
    12. Re:Why I don't trust Python by Just+Some+Guy · · Score: 1

      I was told that floating point rounding was not deterministic.

      You were mislead. Unless software requests otherwise, you get "round to nearest" and results should always be identical.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:Why I don't trust Python by wikinerd · · Score: 1

      Look, you *can* say that Python is wrong from a human-computer interface (HCI) or intuitiveness-of-use viewpoint, in the sense that a normal human would expect another answer. However, letting the HCI viewpoint aside, you need to know that computers are complex machines that expect very specific questions. Telling them to subtract two numbers is not enough. Actually, in traditional strong typed programming languages, you are only allowed to subtract integers or floats, and you can't play with numbers in the general sense (in most langs there are built-in shortcuts though). Simply put, a computer cannot understand what a number is, not unless you tell it whether it needs to be treated as a floating point etc... As all numbers are coded in binary, you need to specify the meaning of each bit. And you do this in Python by specifying that the numbers you type are decimals, otherwise your interpreter will make some assumptions which you don't seem to like. So, whether you get the correct result or not depends on how well you ask your question to your computer. Ambiguous questions will result in inaccurate answers. Whether the way your computer expects questions to be asked actually makes sense to you as a human, however, is an issue in the realms of HCI and whether programming languages should be intuitive or they should require you to RTFM even before making a simple calculation. A legitimate issue, I would say, but not enough to make you say that a programming language is in the wrong. It's just not what you consider intuitive (which, by the way, may be and in many cases is perfectly intuitive to computer scientists and engineers).

    14. Re:Why I don't trust Python by Anonymous Coward · · Score: 0

      .999999999... == 1, so the answer is still correct. It does not say 0.98999999999999999..., it says 0.98999999999999999.
    15. Re:Why I don't trust Python by hoopshank · · Score: 1
      "I'm happy with fast math being the default since most people are usually more interested in the first few significant digits than the last few."


      This is very true. However, the context is mathematical proof. My point was that, in Pure Mathematics, an answer that is correct to a million billion places still does not constitute a proof. It has to be exact. Those 'last few' are actually infinite.

    16. Re:Why I don't trust Python by 10101001+10101001 · · Score: 1

      Um, perhaps the issue is that people have an expectation that a language like Python doesn't cripple itself with IEEE-754 standards needlessly? It's not very different than how Python is able to handle 2**32+1 or 2**64+1. A major point of Python being "loose" is to prevent having to explicitly take care of underlying data structures to make sure answers "make sense".

      Now, does that mean I expect Python to spit out a precise answer for pi? Or not have rounding error when working with pi? No. But it does mean that when there is a precise answer and it is calculatable (I think the former demands the latter), that I do minimally want Python to store it fully in memory and to not print out questionable and/or incorrect answers. And if it fails to do that, then I too wouldn't want to use Python in that capacity.

      --
      Eurohacker European paranoia, gun rights, and h
    17. Re:Why I don't trust Python by chthonicdaemon · · Score: 1

      The question is, would you also be ok with python being even slower than it is now? I am pretty sure (without having searched for it) that an 'exact' class exists for Python, where all math is handled internally, perhaps base 10 to avoid strange rounding errors. You could probably bang one out in a few hours. The problem is it would be very, very slow. Also, I am not sure how Mathematica gets around the errors you mention, but I would be very surprised if it did everything base 10. If it does most things with a binary internal representation, this means that a loop adding 0.01 to an accumulator in a loop will give strange answers due to rounding of the 0.01 if nothing else.

      --
      Languages aren't inherently fast -- implementations are efficient
    18. Re:Why I don't trust Python by 10101001+10101001 · · Score: 1

      The question is, would you also be ok with python being even slower than it is now?

      Yes. Using Python is already a trade-off about it being easier to write code over it being optimally efficient.

      I am pretty sure (without having searched for it) that an 'exact' class exists for Python, where all math is handled internally, perhaps base 10 to avoid strange rounding errors.

      Something like that. The Demical class was created to overcome this problem. In fact, reading from PEP 327, it's clear there's another major problem with Python's "out of the box" floating point support. As it states (from Alex Martelli), "Python (out of the box) doesn't let you have binary floating point numbers with whatever precision you specify: you're limited to what your hardware supplies."

      Considering that Python was designed to run on all varities of hardware, having such a core variability with floating point numbers really makes the native floating point support rather risky to ever use. Python's tutorials even include an Floating Point Arithmetic: Issues and Limitations whose final answer basically reduces to: Pathological cases exist, but use clever % formatting to hide it. Personally, I'd be happier if they used Decimal for floating point arithmetic with "sane" defaults (and yes, I'm punting on what exactly "sane" defaults would be).

      --
      Eurohacker European paranoia, gun rights, and h
    19. Re:Why I don't trust Python by fredrikj · · Score: 2, Informative

      cripple itself with IEEE-754 standards needlessly

      The IEEE 754 standard is very well designed and ensures floating-point arithmetic to be accurate, efficient, and compatible across platforms.

      But it does mean that when there is a precise answer and it is calculatable (I think the former demands the latter), that I do minimally want Python to store it fully in memory and to not print out questionable and/or incorrect answers.

      So you'd be happy if Python generates an exact answer when you ask it to compute 1 + 1e-100000 and it allocates several kilobytes of memory to represent the result? Would you still be happy with this behavior if you are doing a numerical computation involving a million numbers? Exact rational arithmetic is, in general, much slower than floating-point arithmetic, and the cost grows the more operations you perform.

    20. Re:Why I don't trust Python by 10101001+10101001 · · Score: 1

      cripple itself with IEEE-754 standards needlessly
      The IEEE 754 standard is very well designed and ensures floating-point arithmetic to be accurate, efficient, and compatible across platforms.

      And the complaint is that Python isn't precise. Given that a major demand of software is precision and Python was intended to make software development easier, I'd say relying upon the underlying hardware* (be it IEEE 754 or whatever) blindly is crippling.

      But it does mean that when there is a precise answer and it is calculatable (I think the former demands the latter), that I do minimally want Python to store it fully in memory and to not print out questionable and/or incorrect answers.
      So you'd be happy if Python generates an exact answer when you ask it to compute 1 + 1e-100000 and it allocates several kilobytes of memory to represent the result?

      One, yes I want Python to give me an exact answer unless I tell it otherwise. Two, you're making an assumption about an implementation detail (the allocation of "several kilobytes") when there's no basis for that assumption. Further, it's clearly not a requirement of the task, so it's silly to state that as something that's necessary to accept.

      Would you still be happy with this behavior if you are doing a numerical computation involving a million numbers?

      If that's what I asked of it, yes. But, then, I'm in the class of people who expect computers to do what they're programmed to do.

      Exact rational arithmetic is, in general, much slower than floating-point arithmetic, and the cost grows the more operations you perform.

      No kidding. The same could be said for bignum math vs integer math. Are you willing to accept that asking for 10**100000+1 might take up "several kilobytes" of memory? Or will you demand that Python overflow and use integers for everything? There's a reason Python is a high level language. And it certainly isn't about being obsessed about implementation details that can change from machine to machine.

      *Note: Python may or may not use IEEE 754 (though odds are good it will). Python uses whatever is available in the underlying hardware/C library. A minor point, but it does show that Python isn't going out of its way to comply with the IEEE 754 standard. It just very de facto follows it because so much hardware does/many C libraries do.

      --
      Eurohacker European paranoia, gun rights, and h
    21. Re:Why I don't trust Python by Chapter80 · · Score: 1

      Command Line:
      >>> 1.00 - 0.01
      0.98999999999999999
      I'm actually thrilled that there's a language that tells you what it really thinks, instead of hiding it behind some rounding. Virtually every other language will store it as described, but report it differently. I've had to troubleshoot problem where these rounding errors were disguised and summed thousands of times and becomes significant (See the movie "Office Space"), and they're a bear to track down, especially when the language lies to you.
  27. Maths...... by Seoulstriker · · Score: 5, Funny

    Look around you. Look around you!

    That's how I learned maths in high school.

    --
    I am defenseless. Use your button. Mod me down with all of your hatred.
    1. Re:Maths...... by mattcasters · · Score: 1

      That's just darned hilarious. Thanks for providing that link.

      --
      News about the Kettle Open Source project: on my blog
    2. Re:Maths...... by Anonymous Coward · · Score: 0

      Look around you. You are the lookout. Remember, force equals mass times acceleration. That is, if you drop the spraycan before you run you will get away faster. That's mathematics in action.

  28. bad analysis, bad results by fermion · · Score: 2, Insightful
    This seems to fall under the realm of researchers using tools they do not understand. Black box science does not work. As has been mentioned, the results cannot be shown to be valid.

    A recall a few recent incidents in which papers had to be retracted because the machine did not do what the researchers thought it did. I have personal experience in which the spectroscopy generated by the computer did not reflect reality. If the researcher does not know how to use a tool, then he or she does not know when that tool is being misused.

    I am not sure something like mathematica is the issue. Wolfram seems to use standard standard well known algorithm. Almost every academic institution has a license, so, given the data, any number of people can rerun the analysis. Likewise the algorithms can be tested with simpler data sets to understand how they work and breakdown. I would be more worried about homegrown software.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  29. look at who's speaking... by legrimpeur · · Score: 2, Interesting

    ... try to read a paper from their journal (JAMS http://www.ams.org/jams/2003-16-03/S0894-0347-03-00422-3/S0894-0347-03-00422-3.pdf) and you will be asked for... money. Well that's their interpretation of "... In mathematics information is passed on free of charge..." cheers

    1. Re:look at who's speaking... by William+Stein · · Score: 3, Informative

      The AMS did not write that article. I wrote the article as an opinion piece and the AMS published it. They do not necessarily agree with the points made in the article.

      By the way, the article is not about formal automated proofs. It is about what is now standard procedure in mathematical research, namely proofs that look like this:

      [Formal mathematical argument] ... and (using [Mathematica|Magma|...]) we deduce that [...].

      It's incredibly common right now when reading published mathematical papers to see random citations to using closed source software to do key steps of calculations. Usually even the code used to get the closed source program to yield the result isn't given.

      The way many mathematicians read proofs is that they often basically skim the argument to get a general idea of what it is about. Then they decide they want to prove something similar or related, and they "dive" into the most refined details of some key part of the argument. When a part of the argument is "... using Mathematica we deduce ..." this gets very very frustrating, since one just hits a brick wall. And, in practice, reimplementing -- with enough optimization to make it useful for research -- just one or two key functions from Mathematica or Magma, can take literally years of work (in fact, that's exactly what I've been doing the last few years with http://sagemath.org/). And sometimes exactly that is necessary to go beyond what has already been done, i.e., to do research.

        -- William Stein

    2. Re:look at who's speaking... by Anonymous Coward · · Score: 0
    3. Re:look at who's speaking... by legrimpeur · · Score: 1

      You miss my point.

      I find your arguments interesting although we might debate about them. I was trying just to bring to the attention that the lack of free public availability of scientific publications is a way more important issue in science at the moment. Let alone the amazingly unfair conditions that rule content submission (copyright transfer to the publisher )

      Back To your point now. The fact that Mathematica is not free as in beer, doesn't seem to me a scandalous. It's like if a chemist complained that the NMR equipment he used to identify his compound wasn't free. The fact that Mathematica is not free as in speech is definitely an issue, but going on with the chemistry parallel then the chemist should complain that that the manufacturer doesn't disclose the NMR equipment design (Which he will not!). So it is up to the chemist to verify the reliability of a certain model of NMR apparatus before publishing results, as the mathematician should do with Mathematica. If it would happen that Bruker (NMR producer) would start building unreliable devices I assure you it would be out of market in few years.

    4. Re:look at who's speaking... by the+eric+conspiracy · · Score: 1

      The problem with the Chemistry analogy is that up until recently Mathematics has not followed the precepts of an experimental science; it's theorems are the result of deductive logic, while chemistry's laws are based on inductive logic.

      For an experimental science tools like NMR (FTIR, GC, etc.) are part of what is needed to to gather experimental evidence that is used to support or disprove hypotheses. Part of that process as you have noted is assuring that the apparatus performs as expected using calibration standards etc., and whether or not the experiment can be repeated by other workers in the field.

      Now the question regarding the software that mathematicians use it whether or not the steps used are verifiable. To me this is not a matter of free versus non-free software, it is whether or not the basic nature of mathematics is changing - is it going to remain mathematics, or is it going to become something else? Ultimately publications that depend on software aided proofs are going to become worthless unless all the steps used are documented. Twenty years from now that software will not be available.

    5. Re:look at who's speaking... by civilizedINTENSITY · · Score: 1

      I think perhaps you are missing a key point. I appreciate your arguements re: the appropriateness of opening publication (especially now that peer review could be made inexpensive).

      However, "free as in beer" indicates to me a mistaken concept. The argument, as I perceive it, is on the "free as in speech" side of that semantic fence. If Wolfram gave away copies of Mathematica, but didn't provide the source, it would be "free as in beer" and wouldn't matter to the discussion at hand.

      Using your analogy (which I liked, by the way) it would be more appropriate to say that NMR equipment (rather it be given away, or expensive) that seems to work is based on a theory that has never been published. It would literally be a magic black box. If aliens from a distant place (or time) arrived, say, in 1000 BC and made X-Ray equipment available without providing any theory, then the analogy would be more appropriate. To the people using it, it would remain MAGIC until they managed to reverse engineer not only the technology to duplicate the equipment, but theory sufficient to allow them to at least pretend an understanding of its internal workings.

  30. Norman Megill's Meta-Math for proof verification by ClarkEvans · · Score: 3, Informative

    http://metamath.org/ has been around for 15 years or so; it has a very nice text-based proof expression, a huge library of existing proofs and a graphical visualization tool

  31. Sage by Anonymous Coward · · Score: 3, Informative

    Sage( http://www.sagemath.org/ ) is currently the most full=featured open-source computer algebra system. It is being developed by the two authors of the AMS opinion piece (and many others including myself). Our goal is to provide a free, viable, open-source alternative to Mathematica, Maple, MATLAB, and Magma. Some nice features of Sage include:

    * It uses Python as its programming language so that you can use any existing Python modules with your Sage programs.
    * Sage also includes Cython ( http://www.cython.org/ ) which is based on Pyrex and allows one to easily compile Python code down to C for speed.
    * Sage's notebook interface with also interface with pretty much every existing computer algebra system, open-source or not.
    * Sage includes Maxima, GAP, Scipy, Numpy, and many other open source math packages.
    * A very active developer community. If there is something that you need Sage to do, chances are that there will be a number of developers willing to help you out.

    For some screenshots, see http://www.sagemath.org/screen_shots/ .

    One of the things that Sage needs most now is more users. So, if you have an interest in open source math software, definitely check out Sage.

    1. Re:Sage by Sebastien_Bailard · · Score: 1

      I'll give it a try. Downloading the tarball now.
      I'd much rather have installed via apt-get. I highly recommend you get it into the standard linux package repositories if you want more users.

  32. not really true by superwiz · · Score: 1

    Mathematics goes in an out of the phases of being secretive and open.

    Pythagoreans were very secretive. So were statisticians in the 19th century. I am pretty sure investment bankers do a great deal of math that they don't want anyone to ever see because it gives them an edge in the market.

    It's sort of like gun powder. When first discovered, the secret is tightly controlled because it would gives advantage over the competition. Then the competition realizes that it is being consistently beaten and tries to emulate/steal the results. After a while, everyone knows what the results are.

    And then the "philosophers" come in. That is the people who ponder the implications of the results discovered out of necessity. Since these people are not interested in any immediate payback, they insist that everyone shares the results so that more can be discovered by all. They try to convince everyone that this is the "natural" way of things.

    But what is "natural"? Without the push of necessity the original results would have never been found. And without the contemplative phase of shared discovery, progress would not have been made to the point when the new era of rapid discovery done to assist in competition would come about. These phases of going in and out of secret (of math, science, heck of all knowledge that is used to maintain society) drive each other. So arguing for one or another is just another flame war.

    --
    Any guest worker system is indistinguishable from indentured servitude.
    1. Re:not really true by popmaker · · Score: 1

      But results that aren't shared aren't of much use. Think of all the knowledge lost from the pythagoreans. We were actually LUCKY that some of those secrets leaked out.. the ones responsible were severly punished of course. The modern trend is to share and THAT has been one of the reasons for modern mathematical success. I don't believe that's just a phase. Some of the more recent mathematics could not have been done if it weren't for that openness we have already. We can't lose that again.

    2. Re:not really true by superwiz · · Score: 1

      There is no "we". Sorry. If someone finds a unique conclusion based on current mathematical results that will help him gain a competitive edge in some real-world situation, he won't share it. I already gave the example of investment bankers. The same is probably true of the research that NSA conducts and the research that nuclear labs conduct. People only share something when they can gain more advantage from personal recognition than they can from putting the results of their research to use. I am not arguing against collaboration. Just trying to get people to recognize that there is a time for every season. And lamenting it won't help it. That's life.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    3. Re:not really true by 808140 · · Score: 2, Insightful

      Luckily for you, you haven't the foggiest idea how mathematics is developed. As it happens, I am a trained mathematician, and I work in finance, so I think I'm relatively qualified to comment. Your naive analysis makes a great deal of sense when you're dealing with procedures that are simple enough for a few smart people to come up with, but modern mathematics has become so complex that we only advance by standing on each others shoulders.

      At my firm we use a lot of "proprietary mathematics", but guess what: none of it is stuff that wasn't discovered by some academic, we just combine their results in innovative ways. We depend completely — and it's not just us, it's everyone in the industry — on the results of academics.

      Firms like Renaissance hire a bunch of PhDs who then apply their years of research in academia to generate the returns they do. Derivatives pricing in particular is so complex that it's not that the math isn't freely available for anyone to peruse, it's that it takes years of study to properly understand how it even works. So when a firm hires one of these guys, they aren't hiring them hoping that they'll come up with the next Black-Scholes-Merton pricing theory on company time. They're hoping that they understand the theory that already exists well enough to be able to apply it to real-world data and tweak it as necessary. That's what all those proprietary processes really are: not new, exciting theory, but old theory, properly combined and tested and written up into algorithmic trading or security selection algorithms.

      Now, cryptography is not my thing, that's not the field I studied or what I have an interest in, but it may be that the NSA has a bunch of tech that no one else has. However, the NSA is not a private firm, and they'll be funded no matter what happens, so they can afford to employ thousands of brilliant cryptography researchers (in the same way a university does) and sit on the results. A private company can't do that. You can point to them as an example of how "it makes sense to keep results closed" if you want, but understand: they are the exception, not the rule. No one else works the way they do.

      Universities, many of the best of which are private, depend on their professors publishing new and innovative stuff nearly non-stop. It's not altruistic; they make their money on tuition and they can justify charging 40k a year for an education only if they employ the best and the brightest. The measure of the best and the brightest is in their scholarly output. It's no coincidence that Harvard, Princeton, Stanford, MIT, and Yale have so many Nobel Prize and Fields Medal winners in their employ. Reputation is what makes or breaks a school; without it, they have no income, because the best students want to study at a university with pedigree.

      So while your (cynical) view of the world may "feel" right if you don't know what you're talking about, thankfully for all of us, open mathematical and scientific development will always trump private proprietary systems. That may not be true of software, I don't know. But when it comes to research, academia wins.

    4. Re:not really true by superwiz · · Score: 1

      Luckily for you, you haven't the foggiest idea how mathematics is developed.

      Good to know the slashdot privacy is still guaranteed. I am a mathematician. So I have some "foggiest" idea how it works. You should see how big a chuckle I have on my face right now.

      Firms like Renaissance hire a bunch of PhDs who then apply their years of research in academia to generate the returns they do. Derivatives pricing in particular is so complex that it's not that the math isn't freely available for anyone to peruse, it's that it takes years of study to properly understand how it even works. So when a firm hires one of these guys, they aren't hiring them hoping that they'll come up with the next Black-Scholes-Merton pricing theory on company time. They're hoping that they understand the theory that already exists well enough to be able to apply it to real-world data and tweak it as necessary.

      Well, thanks for advertising what I am sure is a firm that you are directly affiliated with. But that aside, RiskMetrics was not math to you? Or not original? Not that it means much, but they did get a patent on it. You don't think private pricing models are developed and kept in house because they expose hedging opportunities? You do know the history of Student's distribution, right? It was published under a pseudonym because his employer insisted on keeping statistical discoveries secret. The statistical inference methods that insurance companies use are trade secrets. If you think NSA is the only intelligence agency involved in doing math, you haven't read the story of Australia's intelligence agency cracking the codes of American-made fighter planes a few month ago... Math is done in secret all the time.

      I suppose you can argue that most pure math is done in the light of day, but I am really not sure that is true of all the number theorists in the NSA and such. But anyway, if you read carefully what I said you'll see that what it meant was that the only time people put their work in papers is when they dedicate their lives to writing papers. When people dedicate their lives to making money, breaking secrets, oh... designing antennas (this one I am actually just guessing) they come up with math constructs that are not available for public to see... not until it's been thoroughly exploited for competitive advantage of the organization paying for the design.

      Universities, many of the best of which are private, depend on their professors publishing new and innovative stuff nearly non-stop. It's not altruistic; hey make their money on tuition and they can justify charging 40k a year for an education only if they employ the best and the brightest.

      If you paid for your graduate schooling in mathematics, you probably aren't good enough to call yourself a mathematician. Most PhD students get free education and a stipend from fellowships, teaching, etc. If you couldn't get funding and paid 40k a year to be in a PhD program, your probably should have just gotten that MBA your mother told you to get. Oh, and mathematicians outside of the IAS often make more money at state universities then they do at Ivy's.

      Reputation is what makes or breaks a school; without it, they have no income, because the best students want to study at a university with pedigree.

      So by a practicing mathematician you mean another dude with a bachelor? Because that's what you sound like. Most professional mathematician care much more about who and what they study than which stamp their PhD ends up with. Certainly that's what will determine quality of the work you end up doing and your future publications.

      So while your (cynical) view of the world may "feel" right if you don't know what you're talking about, thankfully for all of us, open mathematical and scientific development will always trump private proprietary systems.

      It's not a competition. They serve different needs.

      Don't assume that we liv

      --
      Any guest worker system is indistinguishable from indentured servitude.
    5. Re:not really true by 808140 · · Score: 1

      Good to know the slashdot privacy is still guaranteed. I am a mathematician. So I have some "foggiest" idea how it works. You should see how big a chuckle I have on my face right now.

      If this is true, I'll take back what I said about you not having the foggiest idea about how math works. But I will stand by my assertion that your characterization of how things happen in the industry is completely incorrect. If you think there's a lot of secret math going on of any real complexity, you're seriously deluded.

      Firms like Renaissance hire a bunch of PhDs ...

      Well, thanks for advertising what I am sure is a firm that you are directly affiliated with.

      God, I wish. This comment alone makes it pretty clear that you really have no idea at least how the financial industry works. Renaissance is insane. They're a black box, and they make insane amounts of money. I assumed you'd have heard of them. They're the gods of algorithmic trading.

      Anyway, your examples are interesting — I did not know the history of the Student's distribution, for example — but (and I suppose this proves it's all just a matter of degree) I don't consider the Student's distribution to be extremely exciting or innovative mathematics. Then again, I didn't come from the stats/applied math side of things, my research was in topology, so perhaps we have different definitions of innovative and exciting.

      Basically, all the basic building blocks of our models are well known in the industry, and yet we still win 4 out of 5 deals: it's how we put it together keeps us ahead of the market and ahead of our competition. I chose Renaissance as an example earlier because if any firm was likely to be a counterexample, it's them, but even in their case, I suspect they're just making innovative use of existing ideas rather than truly innovating in the way, say, Evariste Galois or even Stephen Smale were when they did the work they did.

      If you think NSA is the only intelligence agency involved in doing math, you haven't read the story of Australia's intelligence agency cracking the codes of American-made fighter planes a few month ago... Math is done in secret all the time.

      Another example from the intelligence community... ho hum. Again, as I said in my previous post, these kinds of situations are the exception, not the rule. There are only a handful of them with any real clout, and since neither of us work with them neither of us is particularly qualified to comment on what sort of stuff they do behind closed doors. As I said earlier, I'm willing to believe that they come up with innovative stuff, but the reason I responded to your post was because you were sitting here talking about how lots of math is done closed and how we all had to accept it etc etc because if there was money to be made keeping it closed, then it would be kept closed. You then gave investment bankers as an example, a field you clearly know nothing about, no offense. That seems to be your only financially-motivated example, because intelligence agencies are not under much financial pressure.

      If you are revising your list of examples down to just the NSA and agencies like it, then we have no disagreement.

      I suppose you can argue that most pure math is done in the light of day ... When people dedicate their lives to making money, breaking secrets, oh... designing antennas (this one I am actually just guessing) they come up with math constructs that are not available for public to see... not until it's been thoroughly exploited for competitive advantage of the organization paying for the design.

      What you're describing sounds suspiciously like engineering, not math. For example, building a bridge requires a fair amount of math, but all that math is

    6. Re:not really true by superwiz · · Score: 1

      Another example from the intelligence community... ho hum. Again, as I said in my previous post, these kinds of situations are the exception, not the rule. There are only a handful of them with any real clout, and since neither of us work with them neither of us is particularly qualified to comment on what sort of stuff they do behind closed doors. As I said earlier, I'm willing to believe that they come up with innovative stuff, but the reason I responded to your post was because you were sitting here talking about how lots of math is done closed and how we all had to accept it etc etc because if there was money to be made keeping it closed, then it would be kept closed. You then gave investment bankers as an example, a field you clearly know nothing about, no offense. That seems to be your only financially-motivated example, because intelligence agencies are not under much financial pressure. I am pretty sure I was careful to talk about competitive advantage in the original rather than plain financial advantage. You don't think spy agencies fall in the category of those seeking competitive advantage (over other spy agencies)?

      Basically, all the basic building blocks of our models are well known in the industry, and yet we still win 4 out of 5 deals: it's how we put it together keeps us ahead of the market and ahead of our competition. I chose Renaissance as an example earlier because if any firm was likely to be a counterexample, it's them, but even in their case, I suspect they're just making innovative use of existing ideas rather than truly innovating in the way, say, Evariste Galois or even Stephen Smale were when they did the work they did. I am not sure why you bring that time. A lot of that was just math done for entertainment. Certainly Galois cared as much for politics as he did for math and he never derived any money from publishing his theory. I am sure you know that he stated most of it in a letter he wrote the night before the duel. A lot of math done then was done by hobbyists. Again, not really sure what your point is there.

      Another example from the intelligence community... ho hum. Again, as I said in my previous post, these kinds of situations are the exception, not the rule. There are only a handful of them with any real clout, You said you were a topologist, right? Well, if some work was done to efficiently read captchas that work would probably stay secret. And it would most likely be in topology.

      That seems to be your only financially-motivated example, because intelligence agencies are not under much financial pressure. Again, not all competition comes from finances. There is a great deal of competition in espionage.

      I'm sorry, attempting to insult my pedigree won't get you far in an argument. I was using "you" as in "one". So it was not ad hominem per se. But your statement is still wrong. My statement was not insulting your pedigree -- it was insulting your (or one's) lack of pedigree as would be evidenced by inability to secure funding for graduate schooling.

      Man, for a mathematician, you're not that good with logic, are you? How does this follow? Undergraduates choose schools based on pedigree, and they're the ones who pay. Ok. I'll stop this line of argument here. I am tired of this egg throwing.

      Unix system administration? Well, gee, now I get it!

      Really? I figured this example would not be so out of left field for someone in finance. Certainly, if anyone of the rest of slashdot is still following this, they might relate.

      But ok, I don't know topology beyond the qual level, but has anyone rigorously proved all the basic results about cell complexes before Hatcher? It seems like people just state (even in books) without ever bothering to prove them.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    7. Re:not really true by 808140 · · Score: 1

      Our disagreements aside, I think it was inappropriate of me to open the way I did. Hopefully you'll accept my apologies.

  33. seriously, wtf? by tetromino · · Score: 4, Informative

    The article (which is actually a PDF, thanks for the warning) uses proprietary fonts (LucidaBright). While it was typeset with TeX (open), only the PDF (closed and uneditable) is provided.
    Oh, where to begin...
    1. The only reason you would need a "PDF warning" is that you use an operating system with poor support for the format (i.e. Windows). Switching to a real OS, among other benefits, will make reading math papers (which are almost always in PDF format) a pleasure.
    2. PDF is an open standard, which has been implemented by many different parties: Adobe and Apple have closed-source implementations; freedesktop.org's poppler and cairo libraries are Free software.
    3. The fontface chosen by AMS is orthogonal to the content of the paper - you can easily copy-paste the text and use Computer Modern, Dejavu, Liberation or any other open-source font of your choice. Why would a proprietary font embedded in a PDF file bother you any more than the proprietary fontface of a book?
    4. First of all, PDF is editable. And second, why would you want to edit this particular document? Remember, it's copyrighted by AMS - if you can't prove fair use, you do not have the right to distribute a modified version.
    1. Re:seriously, wtf? by xtracto · · Score: 1

      And second, why would you want to edit this particular document? Remember, it's copyrighted by AMS - if you can't prove fair use, you do not have the right to distribute a modified version.

      So what? EDIT =/= DISTRIBUTE. why would I like to edit PDFs? because I want to underline and annotate text inside them. The only decent program that does that currently is Foxit pdf (with the Pro Pack, which is neither free or Free). So far, there I have not seen any software available for Linux which lets me add those sort of comments and text underlie/mark.

      --
      Ubuntu is an African word meaning 'I can't configure Debian'
  34. Re:I don't know what to say by Wonko+the+Sane · · Score: 1

    I am convinced that this is the best xkcd ever.

  35. The Wolfram Functions site by Ed+Pegg · · Score: 2, Informative

    Much of the guts of Mathematica -- the high level functions -- are available for perusal at http://functions.wolfram.com/ Much of the reason why Mathematica works so well is due to careful consideration of branch cuts.

    For example, what is Log[a b]? If you look in almost any math book, you'll find Log[a b] = Log[a] + Log[b]. That works fine most of the time, but tends to fail in devastating ways when combined with other functions. The open source programs tend to follow this "good enough" approach.

    Log[a*b] == Log[a] + Log[b] + 2*I*Pi*Floor[(Pi-Arg[a]-Arg[b])/(2*Pi)]
    is the very careful way to handle the log function.

    http://functions.wolfram.com/ElementaryFunctions/Log/16/04/0005/

  36. I dont get it by dave1g · · Score: 1

    Do these theorem gap proving helpers not produce a human readable proof? Or do they simply return T/F? Seems quite easy to build in a logging mechanism to keep track of how the proof proceeded in the software and then write a human readable, though probably quite ugly, proof. As long as the proof gets spit out in human readable form the "author" and the readers of such academic papers should attempt to follow the proof and check it for errors.

    1. Re:I dont get it by popmaker · · Score: 1

      What is the "proof" turns out to be 1.000.000 pages of mostly the same thing? There is a reason we use computers.

    2. Re:I dont get it by dave1g · · Score: 1

      Hmm I didnt think of the gaps being so large, but I assume that is due to the computer constantly reproving things and not generalizing the proof enough.

      In this case the author should provide both the computer generated proof, and her edited "summary" version which she should have created anyways just to make sure the "proof" was right. You farm this out to a few grad students where they skim the proof and break it down into logical sections and label them. So the readers of the paper (i assume its electronic with 1 million pages) can skim through it too and examine the parts that might seem suspect to them.

    3. Re:I dont get it by dave1g · · Score: 1

      well maybe a few grad students would still be slow, but how about using Amazons Mechanical Turk to farm out the entire proof to be summarized in 10 page chunks.

      And why are we using software that sucks that much if its constantly performing the same thing over and over again and not able to notice that, then its pretty bad. I assume these weaknesses in computer theorem provers will eventually be worked out to provide shorter more general proofs while still not attaining the elegance of good human generated proofs.

  37. Math is "Free", MY LILY-WHITE ASS. by mosel-saar-ruwer · · Score: 5, Insightful
    In mathematics information is passed on free of charge and everything is laid open for checking.'

    I'm not going to disagree with the "laid open" part, but the "free of charge" nonsense is just typical marxist university professor hypocrisy.

    Let's price some math texts:

    Atiyah & MacDonald, Commutative Algebra; $57.54, http://www.amazon.com/dp/0201407515/

    Eisenbud, Commutative Algebra; $41.30, http://www.amazon.com/dp/0387942696/

    Hartshorne, Algebraic Geometry; $59.10, http://www.amazon.com/dp/0387902449/

    Elements de Geometrie Algebrique; out of print, http://www.amazon.com/dp/3540051139/

    Rudin, Real and Complex Analysis; $142.50, http://www.amazon.com/dp/0070542341/

    Rudin, Functional Analysis; $137.16, http://www.amazon.com/dp/0070542368/

    Dym & McKean, Fourier Series and Integrals; $85.00, http://www.amazon.com/dp/0122264517/

    Sugiura, Unitary Representations and Harmonic Analysis, 2nd Edition; Out of Print, http://www.abebooks.com/servlet/SearchResults?an=Sugiura&tn=Representations[Someone wants $495.00 for the first edition.]

    Or try a few titles which might be a little more familiar to Slashdotters:

    Knuth, The Art of Computer Programming, Volumes 1-3 Boxed Set; $145.00, http://www.amazon.com/dp/0201485419/

    Sedgewick, Algorithms in C++, Parts 1-5; $93.00, http://www.amazon.com/dp/020172684X/

    Cormen, Leiserson, Rivest & Stein, Introduction to Algorithms; $61.88, http://www.amazon.com/dp/0262032937/

    Aho, Ullman & Hopcroft, Data Structures and Algorithms; $53.20, http://www.amazon.com/dp/0201000237/

    McLachlan, Discriminant Analysis and Statistical Pattern Recognition; $90.40, http://www.amazon.com/dp/0471691151/

    Haykin, Neural Networks: A Comprehensive Foundation; $120.12, http://www.amazon.com/dp/0132733501/

    Duda, Hart & Stork, Pattern Classification; $117.00, http://www.amazon.com/dp/0471056693/

    Fukunaga, Introduction to Statistical Pattern Recognition; $74.40, http://www.amazon.com/dp/0122698517/

    Bishop, Neural Networks for Pattern Recognition; $82.81, http://www.amazon.com/dp/0198538642/

    Bishop, Pattern Recognition and Machine Learning; $66.54, http://www.amazon.com/dp/0387310738/

    Higgins, Sampling Theory in Fourier and Signal Analysis: Volume I; $171.60, http://www.amazon.com/dp/0198596995/

    Higgins & Sten, Sampling Theory in Fourier and Signal Analysis: Volume II; $264.00, http://www.amazon.com/dp/0198534965/

    Princeton, which has the finest mathematics department in the world [or at least had the finest mathematics department in the world, before Harold Shapiro & Shirley Tilghman decided they wanted to turn the

    1. Re:Math is "Free", MY LILY-WHITE ASS. by memojuez · · Score: 1
      I think the difference is simple.

      Professors get paid to author College/High School math textbooks, ergo, good.

      Software is written by Mathmaticans working for Private Firms, professors not needed, ergo BAD.

      --
      Signature applied for, Patent Pending
    2. Re:Math is "Free", MY LILY-WHITE ASS. by William+Stein · · Score: 5, Insightful
      > In mathematics information is passed on free of charge and everything is laid open for checking.'

      > I'm not going to disagree with the "laid open" part, but the "free of charge" nonsense
      > is just typical marxist university professor hypocrisy.

      Taken out of context the quote might not make sense to you. The full quote from Neubuser is:

      You can read Sylow's Theorem and its proof in Huppert's book in the
      library [...] then you can use Sylow's Theorem for the rest of your
      life free of charge, but for many computer algebra systems license
      fees have to be paid regularly [...]. You press buttons and you get
      answers in the same way as you get the bright pictures from your
      television set but you cannot control how they were made in either
      case.

      With this situation two of the most basic rules of conduct in
      mathematics are violated: In mathematics information is passed on
      free of charge and everything is laid open for checking. Not applying
      these rules to computer algebra systems that are made for mathematical
      research [...] means moving in a most undesirable direction.
      Most important: Can we expect somebody to believe a result of a
      program that he is not allowed to see? Moreover: Do we really want to
      charge colleagues in Moldova several years of their salary for a
      computer algebra system?


      When Neubuser says that mathematics is "free of charge" he means that
      one can use theorems one reads without having to pay to use those theorems.
      He is of course not at all claiming that publishers do not charge for
      books and papers that contain mathematics. Put simply, if I want to use
      the "FactorN" function in Mathematica, I have to pay for the privilege
      every time I use it. If I want to use the theorem that every integer
      factors uniquely as a product of primes, then I never have to pay, even if
      I am using that theorem in a published proof.

        -- William

    3. Re:Math is "Free", MY LILY-WHITE ASS. by BPPG · · Score: 1

      Yeah, you pay for all that, and then you still have to spend time learning all that! Outrageous!

      --
      What's the value of information that you don't know?
    4. Re:Math is "Free", MY LILY-WHITE ASS. by nwbvt · · Score: 1

      Don't forget journals.

      --
      Mathematics is made of 50 percent formulas, 50 percent proofs, and 50 percent imagination.
    5. Re:Math is "Free", MY LILY-WHITE ASS. by jubalj · · Score: 1

      Maths is free as in freedom, not necessarily free as in beer..

      We can still communicate, replicate, use mathematic concepts freely, but i guess at some point maths blends with programing and computing which doesnt share the same freedom. it's a dangerous trend seeing genes and what not being patented..

      i hope we dont one day loose the ability to freely express mathematical concepts..

      Jubal

    6. Re:Math is "Free", MY LILY-WHITE ASS. by Cowculator · · Score: 4, Informative

      There's a growing trend in math (and maybe other disciplines, for all I know) away from non-free publishing.

      Prominent mathematicians have been complaining for years (more links here) about overpriced journals, and entire editorial boards of some journals have resigned in protest (see a list of mass resignations and similar changes here). There are now plenty of entirely free journals in combinatorics, topology, and other fields, and pretty much everything that gets published these days is either available on the author's website or on the arXiv.

      So modern research tends to be free, but what about all the books you need to read before you understand this research? Sure, a copy of Rudin may be expensive and there's not much we can do about that, but maybe you can learn from the free analysis course notes at MIT's OCW site. You complain that EGA is out of print, but basically everything Grothendieck wrote is available for free, and you can even get them along with tons of other old French publications through NUMDAM. (There's even a project to transcribe SGA into LaTeX.) Lots of other books are free to download legally (and this is by no means a complete list), even though many are commercially published as well.

      Finally, you can complain all you want about university tuition, but I really doubt that free tuition is going to open up mathematics to the masses. Ultimately the very top students who can't afford it are getting scholarships and grants to cover their education (and I do know some people who got free rides at Princeton because they couldn't afford it -- that school is definitely more generous than most), and since most other people couldn't get into Princeton anyway the tuition is never even an issue for them. The best way to make mathematics more accessible is to give everyone access to free textbooks and current research, and the "marxist university professors" you deride have been gradually moving in that direction for years now.

      By the way, what do you think has been done to damage the Princeton math department's reputation? Whatever you think Shapiro and Tilghman have done to the university, nobody in their right mind would deny that it's one of the top few in the world and I doubt most people would openly proclaim any one department to be the best anyway.

    7. Re:Math is "Free", MY LILY-WHITE ASS. by Anonymous Coward · · Score: 0

      This article is really only talking about math research in academia. My understanding is that they thing academic research should be done with open source software.

      But if you work for, say, a bank, and you want to implement a math theorem in a proprietary language, or with a proprietary C++ compiler, that is fine.

      Open source is not incompatible with private enterprise.

    8. Re:Math is "Free", MY LILY-WHITE ASS. by Falladir · · Score: 1

      Princeton's tuition is just a tax on the wealthy students, and not a very heavy one. The expenditure per student is on the order of $70,000, so even the wealthy students who pay full tuition are getting their education at a discount.

      For middle-class to upper-middle-class students, the financial aid is very generous. My sister and I went there and paid something like $12,000 a year, for the two of us, and our parents' households (father and mother are divorced) have a total annual income of around $200,000.

      There are a few cases in which the financial aid grants aren't very good, such as when the family is sending significant amounts of money overseas (to support ailing grandparents in another country, for instance), but in general Princeton is only expensive if you're rich. Princeton is *not* gouging its students.

    9. Re:Math is "Free", MY LILY-WHITE ASS. by jandersen · · Score: 1

      I'm not going to disagree with the "laid open" part, but the "free of charge" nonsense is just typical marxist university professor hypocrisy.... God in Heaven, I despise university professors.

      You don't say? Well, who would have guessed.

      So, according to you, are all university professors 'Marxists'? Does that mean that if you are an accomplished academic, who has learned to think critically and employ the scientific method, then you are by necessity also a Marxist? Which in turn must mean that there are very good, logically sound reasons to be a communist or socialist, right? Well, it certainly makes sense to me.

    10. Re:Math is "Free", MY LILY-WHITE ASS. by HuguesT · · Score: 1

      The expenditure per student is likely misleading. I would surmise the Princeton accountants sum everything in the the "expenditure" column for the whole university, and then divide by the number of students. This would be how they would attain the 70,000 US$/student. However not everything at Princeton is related to education, I would expect most expenses are research-related, and unless I'm severely mistaken, these are pretty much self-funded. It would not be even remotely fair to make students pay for that.

      In the old days in Europe, students attending a course would pay their teachers' salary themselves, and moreover they would pay whatever they thought was fair for the teacher. Even with the excellent salary Princeton is paying its tenured professor, I suspect the sum of all education-related expenses comes to far less than 70k$/student.

      In fact Princeton charges 40k$+ / student because they can. Even with these prices their lecture halls are full. They can afford to be nice to bright and poor students so it makes them feel good, but in fact Princeton could probably run fine charging nobody anything.

    11. Re:Math is "Free", MY LILY-WHITE ASS. by dredwerker · · Score: 1

      Princeton, which has the finest mathematics department in the world [or at least had the finest mathematics department in the world, before Harold Shapiro & Shirley Tilghman decided they wanted to turn the university into their own private cesspool], still charges $33,000 a year for tuition, and another $11,000 a year for room & board [and we're talking a nine month "year"].

      I read that as Harold Shipman Dyslexia rules KO:

      Harold Frederick "Fred" Shipman (January 14, 1946 - January 13, 2004) was an English general practitioner who was one of the most prolific known serial killers in modern history. http://en.wikipedia.org/wiki/Harold_shipman/

      --
      On a long enough timeline. The survival rate for everyone drops to zero. Chuck Palahniuk, Fight Club, 1996
    12. Re:Math is "Free", MY LILY-WHITE ASS. by Just+Some+Guy · · Score: 1

      PS: The reason the formatting in this post is so God-awful is because Taco has some God-damned idiotic spam filter which requires an abnormally high number of characters per line.

      Fun fact for the day: Slashdot allows unordered lists that would totally prevent that problem. It will do nothing for your homophobic self-loathing, though.

      --
      Dewey, what part of this looks like authorities should be involved?
    13. Re:Math is "Free", MY LILY-WHITE ASS. by DarkSarin · · Score: 1

      OR, as an alternate hypothesis, they are abrogating those very skills which make them qualified to teach (critical thinking, scientific method) in order to appear more like the group on whose good will their success depends (eg, getting tenure) because they know that failure to do so will result in expulsion from the group.

      Basic psychology research indicates that people will do rather extreme things to remain within the group. If you think, perhaps intuitively, that because someone is more intelligent that they will be immune to these problems, then you are mistaken. It hits everyone. Now, are there good sound reasons to be marxist, although there are also good reasons to be capitalist or whatever. These reasons [for whatever philosophy] are commonly bandied about, and just as commonly torn down by people, sometimes rightly so, other times not.

      When you meet someone who claims to apply the 'scientific method' to every aspect (or even nearly every aspect), be warned--they are lying. Perhaps not intentionally, but still. People simply do not have the cognitive capacity to live that way. Instead we are run by a shortcut machine that we call a brain. It's purpose seems to be to discover relationships between items and provide shortcuts to those relationships. Thus humans are REALLY good at pattern recognition (think faces, reading, etc) even with significant degradation--especially in visual patterns. This is also what leads to group stereotypes (well, that and rumormongering).

      The premise that professors are marxist hypocrits is another example of this--to a degree it is probably true that a higher portion of professors are communist or socialist than in the general population--except in certain departments. In the business department at most universities, for instance, there are plenty of capitalist pigs, while the concentration of communist bedwetters [see, I've insulted both sides now--happy?] in liberal arts departments is probably near 104% [adjunct professors and all that].

      But to be on topic, the point that textbooks are overpriced is true. The cost of tuition is also quite high-although I would never argue that professors are overpaid in most instances. Quite the opposite. But since universities are now required to maintain expensive sporting facilities and subsidize the cost of producing the great American pacifier (professional sports), they can't afford to pay the professors more (but the $ddd,ddd+ they spend on the football coach is necessary).

      Personally, I think education SHOULD be free, but since that is impractical it appears, I'm going to have to repay my student loans anyway.

      --
      "We don't know what we are doing, but we are doing it very carefully,..." Wherry, R.J. Personnel Psychology (1995)
    14. Re:Math is "Free", MY LILY-WHITE ASS. by Anonymous Coward · · Score: 0

      You wrote "modern research *tends to* be free", "*plenty of* entirely free journals", "*pretty much* everything that gets published these days is either available on the *author's website* or on the arXiv." (all emphases mine). But while for analysis textbooks, a reasonable substitute is servicable if you can't get Rudin, if the paper you need for your research or the paper cited at a crucial point in something you're learning or using, is not available to you, no substitute will generally do. It's definitely far from the case that all new math research is available online--plenty of mathematicians don't have their papers on website, and many don't post to the ArXiV (participation in the ArXiV in particular varies hugely by subfield), and many good journals aren't freely available online. And for old papers, it's much harder. Certain journals have had old issues scanned, but many require subscriptions, and even people who post their new research online often don't bother to put up their old stuff. And math reviews (mathscinet) isn't free.

      It's better than it used to be, but you're still handicapped without a good university's library and online subscriptions.

  38. Open Source Software in Machine Learning by mathgenius · · Score: 3, Interesting

    These guys are advocating setting up a peer-review process for open source software in machine learning. The idea is that this would encourage researchers to spend more time on the software component of the publication, and perhaps produce something that others can use aswell.
    The article is in the Journal of Machine Learning Research.

  39. Why should math be any different? by Anonymous Coward · · Score: 0

    I'm a chemist involved in academic and industrial research and have to say its been this way in my field for a while. Profs. are trying to make a buck off government funded research and corps are very secretive with their technology for obvious reasons. Its all "intellectual property" - math, physics, chemistry etc. so since we have a system to make ideas equal "property" any idea can be fair game.

  40. Mathematica by Anonymous Coward · · Score: 0

    We all buy pens and paper without complaining, we should all just buy Mathematica without complaining.

    I think they meant to say "non-Mathematica proprietary software".

  41. Journals too. by physburn · · Score: 0
    Ah, yes, i rembember beginning of term, you get your reading list, and half your grant goes straight into the university bookshop. Learning isn't cheap, but the article wasn't about how students learn, but on how professors and the professional researchers have to pay for there research tools. But it isn't really a problem because the're institutions will keep them well stocked with journals and programs and lets not forget the compute hardware. The only ones really excluded are amature academics. But that going to happen anyway with the shear ammount of time it takes for an amature to keep up with modern knowledge, while still having a day job.

    My point, its always going to hard at the bleeding edge, if its was easy the bleeding edge would already be futher down the path of knowledge growth.

  42. spss by Anonymous Coward · · Score: 1, Interesting

    SPSS is the big stats package that all the social sciences and Psychology departments use. It is proprietary. Universities everywhere have bought into this package and the proofs for everything every student produces is on the Blind Faith of SPSS. And you bet you have to pay for it. There is FOSS alternative to SPSS, it is called 'R'. It is not well known. It is hypocritical of academic institutions anywhere to insist that their students prove their work on SPSS, since the code upon which the proof rests cannot be seen.

  43. Re:Lol but... by BoRegardless · · Score: 2, Funny

    I've applied for a patent for the carefully aimed use of airborne chairs for intimidation of employees, particularly when they are threatening to resign to go to work for a competitor.

  44. Reminds me of an old cartoon by earthforce_1 · · Score: 1

    I was able to prove the unified theory of everything using "secret" proprietary algorithms...
    http://www.scienceteecher.com/miracle_large.jpg

    --
    My rights don't need management.
  45. Re:Libraries are NOT FREE. by grcumb · · Score: 4, Interesting

    If they really want mathematics to be "free", then they can post the LaTeX's & the PDF's of these books on the internet for anyone to download, and they can pay for the server disk space & bandwidth THEMSELVES.

    In the meantime, they can take their marxist hypocrisy and shove it right up their good-for-nothing, lazy, worthless asses.

    Would these be the same kind of good-for-nothing, lazy, worthless asses who brought us Special Relativity while working in a lowly position in the Patent Office in Bern? You know, the kind who got together with friends to peruse and discuss the latest freely available scientific texts, the same texts that led him to revolutionise science more than anyone since Newton?

    The books in the Princeton Library are free, thanks to the generousity of far-seeing individuals who realised that their money was better spent on a library than a new yacht. They, at least, saw the benefit of sharing knowledge with everyone, regardless of their means. I can only hope that, somewhere in that misanthropic little husk you call a heart, you will some day find room for a similar spirit of openness and sharing.

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
  46. And that's why you fail by Nuwdle · · Score: 1

    Yeah, I got A's in college, too.
     
    It IS Python's fault! It is also a trade-off knowingly made in programming languages.
     
    IEEE standards simply mean that everything FAILS the same way. Less surprises, more calculated risks. But what is important according to this article is whether the AVERAGE math or physics grad, without a CS background, is going to know that.
     
    Ding! Ding! Ding! And that's where the problem comes in!
     
    Try using PHP to calculate the distance between 2 geographical points across the country... oh, wait a minute, you can't! Why? Because the number gets really big, then really small, then really big, etc. You're left with a number that has lost all of its floating point precision... thus being wrong!
     
    Wait a minute, are you saying that the right formula gives the wrong results? YES!!
     
    So that just leads us back at the entire point of the article. How do mathematicians know that they can trust the results of formulas they put into software? The answer: They can't.
     
    Instead, let's be honest with people and tell them this is the best guess and highest probability that the result will be correct. Run simple tests. Check your results. Be diligent. If something doesn't add up, it might actually be because it didn't.
     
    All the IEEE-754 documentation in the world can't change the fact that the wrong answer is the wrong answer... and mathematicians need to know that.

    1. Re:And that's why you fail by Just+Some+Guy · · Score: 1

      But what is important according to this article is whether the AVERAGE math or physics grad, without a CS background, is going to know that.

      I get your point and you're mostly right about floating point math, but I'd say that anyone making that mistake deserves what they get.

      For instance, if someone calculates pi/2 and expects an exact answer from a numerical (instead of symbolic) system, then they lack the thought processes required to do good work anyway. Yeah, that's elitist, but it's an elite field. Most people aren't qualified to work in it - despite my ego, I'm probably not - and a would-be mathematician who thinks you can exactly store irrational or repeating values in a finite space just won't cut it.

      And for proto-mathematicians who are just getting started with computer math, you need two know two things. First, unless told otherwise, assume that all math is numeric, that those numbers are stored in relatively imprecise manner, and that all of this is well documented if you're really interested. Second, the computer science department has a class in numerical methods that will explain all of this in excruciating detail, and you can probably take it as an elective.

      --
      Dewey, what part of this looks like authorities should be involved?
    2. Re:And that's why you fail by fredrikj · · Score: 1

      But what is important according to this article is whether the AVERAGE math or physics grad, without a CS background, is going to know that.

      You seem to be saying that the problem is that users of mathematicial software aren't smart enough to look up what a function does before using it. I've read the article, and I find nothing to support this interpretation. What it says is that users of closed-source mathematical software can't look up what a function does since the source code is not available.

      Try using PHP to calculate the distance between 2 geographical points across the country... oh, wait a minute, you can't! Why? Because the number gets really big, then really small, then really big, etc. You're left with a number that has lost all of its floating point precision... thus being wrong!

      This is an elementary property of floating-point arithmetic. The problem happens because you use the wrong tool to solve the problem. If you need exact arithmetic, you should use exact arithmetic, not floating-point arithmetic, or if you're happy with high finite precision, you should rewrite your algorithm so that it doesn't suffer from cancellation.

      It's like referring to theorems that don't apply in the present situation to prove a theorem. If you say "the sum x1 + x2 + ... + x3 is y because I added up the numbers with floating-point arithmetic", and the value is wrong due to cancellation, that's like saying "the Riemann hypothesis is true because so-and-so, and then f(z) = C according to theorem T" where your proof assumes that z can be any complex number while T was only proved for the case when z is nonzero.

      A mathematician who does this is simply a careless mathematician and his errors will usually be caught in peer review. A mathematician who does this a lot without being able to notice his own errors didn't earn his degree.

      Wait a minute, are you saying that the right formula gives the wrong results? YES!!

      How do mathematicians know that they can trust the results of formulas they put into software? The answer: They can't.

      No, the problem is that you used the wrong formula. The formula 1 - 0.01 in Python does not mean the same as it does on paper. There is no "failure" here other than a failure to read the Python documentation to learn the semantics of its number literals and arithmetic operators.

    3. Re:And that's why you fail by Nuwdle · · Score: 1

      So you're arguing my point... that you must have intimate knowledge of the computer program to use it. Thank you, I'm glad we agree.
       
        There is no "failure" here other than a failure to read the Python documentation to learn the semantics of its number literals and arithmetic operators.
       
      I can agree with that. AND you have to take into consideration that a mathematician may not have the vocabulary to understand a computer science manual. I have a lot of trouble reading high level mathematics, but at this point, reading computer science code or texts is easier than reading books.
       
      Exactly how many years are we supposed to spend on a mathematical proof just figuring out the details of the programming language we're using? Have you ever met a Physics Ph.D. trying to create a computer model? They look like they're ready to kill someone. I can't say I blaim them. What you put on paper does not easily translate into code.
       
        The problem happens because you use the wrong tool to solve the problem. If you need exact arithmetic, you should use exact arithmetic, not floating-point arithmetic, or if you're happy with high finite precision, you should rewrite your algorithm so that it doesn't suffer from cancellation.
       
      You're right on the fact that I used the wrong tool. But I didn't know that until it was too late. It was like bringing a knife to a gun fight. But in a mathematician's/user's eyes, software should "just work". As a software writer, I don't want to have to write someone else's software for them because they screwed it up. And as a software writer, I definitely don't want to do some other professional's work for them. Do you? So in this case I needed a tool that would work. The entire structure of the language was the problem. Ooops. Now all I have to do to fix it is rewrite everything in another language or reinvent the wheel, thus creating a series of my own methods to bias the problem... and that was just one problem. ... obviously such an approach is unacceptable in most cases.
       
      Plus, you'll need two degrees (probably 2 Ph.D.s) just to proof-read a math paper. OUCH! The level of productivity in academics will drop dramatically. I think in some cases the author of the paper might as well take some drawing classes instead of computer modeling... it would certainly be more productive than the alternative.

    4. Re:And that's why you fail by fredrikj · · Score: 1

      Thank you, I'm glad we agree.

      Pleasant to argue with you.

      But in a mathematician's/user's eyes, software should "just work".

      In a perfect world, it would. Numbers, interestingly, are one of the hardest things to get to "just work". As simple as numbers are as a concept (or are they?), computer arithmetic involves very sharp tradeoffs between speed, precision, simplicity, predictability, compatibility, and other factors. Python's float type was chosen for speed, simplicity (of implementation) and compatibility (with C software). If these are your requirements, Python float arithmetic does "just work". If you expect to get all features at once, you are expecting much.

      I'm not saying Python's solution is the best possible, but it is one solution. Most computer algebra systems have more sophisticated number systems, but they still have limits and sometimes don't "just work" as expected. The solution is education; until we get perfect AI, anyone who programs a computer for scientific work must be aware that a computer does what you tell it to do, not what you think you tell it to do.

  47. Minitab v. Excel by emeraldcity · · Score: 1

    There were differences on the same calc circa 2003-I think it was regression or anova analysis--why is it different (math) and which is correct?

  48. SIAM's president is Cleve Moler by Strange+Attractor · · Score: 1

    Just today, I sent in my annual membership renewal to SIAM even though the president this year is Cleve Moler who invented matlab(TM), the secret language of crippled users of matrix algorithms. http://www.siam.org/election/president_letter.php

  49. Octave, Scilab by El_Isma · · Score: 1

    A bit offtopic, but you mention you tried Octave. I myself use Scilab, but never have tried Octave. I've skimmed the docs and they seem very similar. Can someone elaborate on the differences between them? Which one is better?

  50. Princeton Libraries are NOT FREE. by mosel-saar-ruwer · · Score: 1, Informative


    The books in the Princeton Library are free, thanks to the generousity of far-seeing individuals who realised that their money was better spent on a library than a new yacht.

    One other thing: The libraries at Princeton are most decidedly NOT free:

    http://library.princeton.edu/about/access-firestone.php
    http://library.princeton.edu/about/access-branch.php

    To gain admittance, you need to pony up $33,000 in tuition and $11,000 in room and board.

    Each year.

    1. Re:Princeton Libraries are NOT FREE. by grcumb · · Score: 1

      One other thing: The libraries at Princeton are most decidedly NOT free:

      Indeed. My mistake. I used a pretty poor example.

      To gain admittance, you need to pony up $33,000 in tuition and $11,000 in room and board.

      Each year.

      Not true. From your own links, the libraries are open to local residents (i.e. non-students) at USD 300 per year, and transferable borrowing cards are available to other universities at a slightly higher than normal rate, but well below the numbers you offer.

      --
      Crumb's Corollary: Never bring a knife to a bun fight.
    2. Re:Princeton Libraries are NOT FREE. by unlametheweak · · Score: 1

      Not true. From your own links, the libraries are open to local residents (i.e. non-students) at USD 300 per year I think he makes a valid point though. These books certainly wouldn't be available to the curious or the scientifically inclined who are not students, among others. Even $300 dollars a year is a bit steep IMHO. Therefore his original statement "Princeton Libraries are NOT FREE." is true.

      I've noticed in many universities (in Canada at least), libraries are pretty much open access (no ID card required), save for the major U of T Library (the Robarts Research Library). If one could gain access to the Princeton libraries without an ID card then they would certainly be free for locals who don't want or need to sign anything out.
  51. Re:I'm not the hypocrite here. by Lodragandraoidh · · Score: 4, Insightful

    The issue is not whether software companies should make their source code open - the real issue is should mathematicians accept proprietary applications as proof of theorums?

    As pointed out in the editorial, software developers make mistakes, and this is true regardless of whether that developer is a proprietary software vendor, or a free/open source software project. There is one key difference however, the validity of any given proof can be determined independently when using free/open source code by the very nature of the product (availability of source code). There is no validation for proprietary software beyond the assurances of the company involved.

    When mathematic theory becomes applied mathematics (such as the creation of buildings, bridges, aircraft, or thermonuclear devices), which proof would you prefer to hang your life upon - Microsoft's guarantee, or independent verification and peer review? This becomes ever more critical as we create more complex systems that can not be easily verified by hand, yet rushed into applied use by the expediency/efficiencies they deem to provide.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
  52. How is MATLAB better than Octave? by KWTm · · Score: 1

    I have the luxury of being in a university environment with a MATLAB site license. I think the benefits are worth what the institution pays.
    I'm interested: what are the benefits of MATLAB over Octave?

    I previously used MATLAB in university, and have recently discovered Octave. What would I miss in Octave that would be available in MATLAB?

    Also, when you say that the benefits are worth what the institution pays, I presume that you might not find it worthwhile if you yourself paid? I can't even find the price for MATLAB for Linux, because the MathWorks web site wants me to log in before quoting a price for me. I'm not sure they're interested in selling copies to individuals.
    --
    404555974007725459910684486621289147856453481154 in hex is "You sank my Battleship?"
    [GPG key in journal]
    1. Re:How is MATLAB better than Octave? by s20451 · · Score: 1

      I'm interested: what are the benefits of MATLAB over Octave?

      Firstly, speed. MATLAB has done a lot of work in optimizing their code for speed of execution, so that it is comparable in execution speed to writing from scratch in a compiled language such as C. This is key as far as I am concerned. Unless Octave has made order-of-magnitude improvements since I last looked at it (3-4 years ago), it would be simply impractical for me to do my work in Octave.

      Secondly, breadth and quality of the software library. MATLAB has a routine -- generally fast and efficient -- that does just about any mathematically significant thing you can imagine (of course, some of these things are in "toolkits" that cost extra money).

      Thirdly, convenience. MATLAB is a commercial product that I am paying money to use, so things like installation and support are expected. Meanwhile, I have never been able to successfully compile Octave from source -- the only times I have been able to use Octave is when I have been able to find a package for it. Granted, since I have MATLAB available I haven't tried very hard to solve my compilation problems; but Octave certainly did not make it very easy for me to try it out. Again, I haven't tried to use Octave in several years, so this might be better now.

      If my institution did not pay for MATLAB, whether I would pay for it out of pocket would depend on why I was using it. I see MATLAB as a professional-grade tool, so if I needed it for a hobby project, I would probably either try Octave or write from scratch in C. If I was paying out of pocket to, e.g., start a personal consulting business, in which I needed to do heavy numerical analysis, I would consider my options carefully, but my initial impression is that MATLAB would be an essential buy. I have heard that a single license to the standard version of MATLAB (no toolkits) runs between $500 and $1000, so it's expensive but not completely ridiculous.

      --
      Toronto-area transit rider? Rate your ride.
  53. Mathematicians make mistakes, too. by mosel-saar-ruwer · · Score: 1


    As pointed out in the editorial, software developers make mistakes, and this is true regardless of whether that developer is a proprietary software vendor, or a free/open source software project.

    Goro Shimura used to say that 50% of all published "mathematics" was rank nonsense.

    Personally, I think he was being generous - I'd guess the figure is more like 95%. Maybe even 99%.

    Heck, I'll bet there are even some mistakes somewhere in Higgins on Sampling Theory:

    Volume I; $171.60
    http://www.amazon.com/dp/0198596995/

    Volume II; $264.00
    http://www.amazon.com/dp/0198534965/

    It's just a crying shame that I have to pony up almost $500 for the honor of discovering them.

  54. Who the hell is modding this as a Troll? by mosel-saar-ruwer · · Score: 1


    WTF?

    The Princeton Libraries are NOT FREE!!!

  55. Ick, excessive Ruby hype by Anonymous Coward · · Score: 0

    It's a pity that so many people disregard Ruby as a "platform for Rails". It is a feature complete countepart to Python, and as my company high volume systems can attest, can handle anything other languages can handle.

    So what kinds of optimizations does its compiler perform? How's Unicode support? Where's the description of its grammar? How stable are its OpenGL bindings? (I know the answer to most of these is "Ruby 2.0 is going to ..." -- that's nice. The stable release today just isn't quite there yet.)

    I love Ruby, and I use it every day for my job, but I wouldn't claim it "can handle anything other languages can handle". Every language has strengths, and I'd be a fool to claim otherwise, or even that Ruby's strengths were exactly the same as Python's. (If you mean Turing-completeness, then your statement is true but completely worthless.)

    Python's great for some things. Rails, as much as some people hate it, is a particular strength of Ruby. If I need a fast native compiler where I can make sure that my inner loop is running in under 30 CPU instructions, I'd be a fool to use either, and I'll pull out my Lisp compiler instead.

  56. Open mathematics by hackus · · Score: 1

    Precisely why, when I bought Stephan Wolframs "A New Kind of Science" that I was dismayed by the fact that a lot of the experiments he conducted could not be replicated without a four thousand dollar layout for his Mathematica product.

    A product that is owned by his own company, is closed source and which he posits a great deal in his book.

    I think we have to examine closely scientific methods that require a great deal of kick back money in order to replicate the results of experiments.

    It seems very, well......unseemly.

    -Hack

    --
    Got Geometrodynamics? Awe, too hard to figure out? Too bad.
  57. Applied math vs theory. by argent · · Score: 1

    Pythagoreans were very secretive. So were statisticians in the 19th century. I am pretty sure investment bankers do a great deal of math that they don't want anyone to ever see because it gives them an edge in the market.

    I'm pretty sure investment bankers aren't publishing in mathematical journals.

    This isn't about applied math, this is about theory. Investment bankers don't need to produce proofs, let alone publish them... the results are all that matters. Investment bankers and statisticians aren't pushing the boundaries of mathematics, the way you imply, they're applying the framework created by pure mathematics.

    This isn't like gunpowder, at all. The practical application of most pure math is decades after its discovery, if at all. Even the closest discipline to "practical pure mathematics", cryptography, is more a matter of mining theorems looking for operations that have properties useful to crypto... and the underlying work is based on applications of well known work.

    But for all that, crypto has had to accept that it's most effective and most useful when it's published and open. That's just what has been found to work best for pure mathematics... which is why it's considered "natural".

    1. Re:Applied math vs theory. by superwiz · · Score: 1

      I would agree with you for the most part. But the same is true for most of academic research. Most publications are very incremental work. There only very occasional breakthroughs. And occasional breakthroughs happen in private as well. I mentioned it in another post, but Student's distribution is the first that comes to mind. Every undergraduate that takes differential equations learns of the history of Dirac's delta function (discovered by an engineer who was first laughed at by the mathematicians and which later on redefined how analysis was done). By the way, theoretical statistics is very much a pure and applied endeavor. It is heavily rooted in real analysis. I guess the best example of a mathematician (Euler) would also be a good example of what I am talking about here. He proved a great deal of theoretical results but he only did it because he needed them to make many calculations to design real world objects. Some of it he also did for amusement. And a lot of his results are still secret. They are stored in archives of (if memory serves) St. Petersburg University and are not open to the general public. But it is his work process that demonstrates what working in mathematics is like. Calculations breed generalizations which breed hypothesis which allow for new results which allow for a wider range of calculations. So even if the crypto work is "mining" for theorems, I am sure they stumble across a great deal of results they never publish. And it is generally assumed that anything known from the currently published theorems is already used in cryptography. So if you think that they don't try to establish new results, you don't give them enough credit. Anyway, I am not arguing for or against open math. I am just saying that both have their place and both are a way of life. Cheers.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    2. Re:Applied math vs theory. by argent · · Score: 1

      But the same is true for most of academic research.

      Except for one thing. The point of mathematical research is publication. If you're publishing into that corpus, whether you're doing it because that's what you do or because you ran across something as a side effect of something else (and that's the rare exception, the exceptions you describe are famous BECAUSE they are exceptional), if you're actually publishing you're operating in the pure math world.

      And the point is that IF you are publishing a paper, you are *by definition* operating under what you're calling "open math"s rules, and one of those rules is that you document everything needed to allow someone else to reproduce your results. If they're not reproducible, they're not results. It doesn't matter how you discovered the results, whether it's serendipity or persistence, if one of the steps is "use this magic software", then you shouldn't be publishing them as pure math.

    3. Re:Applied math vs theory. by superwiz · · Score: 1

      Ah. So we are on the actual subject of the article now. Good. I was tired of having to talk about philosophy of life as it applies to math.

      Well, here how computer programs have place in math. Some proves can be accomplished by showing a finite set of objects has a certain property. This set might be huge. Certainly, it can easily be larger than anything than can be checked by hand. If one manages to describe a procedure that is proven to exhaustively produce (in a finite number of steps) every element of the set and one manages to describe a procedure that manages to test (in a finite number of steps) that a given element of the set has the property in question, then it is enough to then write a program that goes through the steps and checks the property. This is reproducible because the steps are documented and anyone can write their own program to check these property for every element of the set. As far as I am concerned, this constitutes a proof. After all, what difference does it make if someone says that "a simple computation shows that" in a paper or if someone says "a simple exhaustive check of these properties shows that"? Both require the reader to go through well-documented, albeit labor-intensive, effort to verify the claim.

      It really doesn't matter if you accomplish the verification of these steps in your favorite package or "roll" your own objects in python, ruby, perl, etc.

      I am not sure why you say that mathematics is exceptional in that its point is publication. The same is true of all scientific disciplines I can think of right now. Maybe I am overlooking some, but certainly this is predominately the case. Assuming, of course, that we are talking about academia. The reason for that is that in academia people get paid essentially for being famous.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    4. Re:Applied math vs theory. by argent · · Score: 1

      I am not sure why you say that mathematics is exceptional in that its point is publication. The same is true of all scientific disciplines I can think of right now.

      But you weren't comparing mathematics to other scientific disciplines, you were comparing it to things like investment banking and applied statistics and engineering. You were talking about areas where publication of the results is not an essential part of the process.

      It really doesn't matter if you accomplish the verification of these steps in your favorite package or "roll" your own objects in python, ruby, perl, etc.

      Just as in other academic disciplines, you need to document what you did in a way that other people can verify the results. If an essential part of the operation is running a program, then you need to document that part of the operation in a way that allows people to verify it. If that step depends on software that isn't generally available or can't be verified, then you haven't documented it.

      This is reproducible because the steps are documented and anyone can write their own program to check these property for every element of the set.

      The article in the AMS that this is all about was specifically raising the question of whether this will remain true. You can't challenge that question simply by stating its opposite. :)

    5. Re:Applied math vs theory. by superwiz · · Score: 1

      The article in the AMS that this is all about was specifically raising the question of whether this will remain true. You can't challenge that question simply by stating its opposite. :) No, you can't. But if you describe the details of your point, you are are not doing that. And I did describe the details. I set a very specific criteria for the cases when it will continue to be true. I won't restate them here.
      --
      Any guest worker system is indistinguishable from indentured servitude.
    6. Re:Applied math vs theory. by argent · · Score: 1

      I set a very specific criteria for the cases when it will continue to be true.

      But do those criteria actually match the issue raised in the original article? The fact that the concerns expressed in the original article are not true in all cases doesn't actually address those concerns, because the fact that they're not universally true is obvious. The article that we're talking about isn't claiming that there's a problem now, for that matter. It's a cautionary tale, not a call to arms.

      Did you read it?

    7. Re:Applied math vs theory. by superwiz · · Score: 1

      Yes, I read it. It doesn't specifically say that the Campbell example relies on an unknown sequence of steps. You can publish a sequence of steps which your prove to be finite and say that how one would go about performing each of these steps is well-known and can be done with any number of software packages. This is no different from publishing a proof in which each sentence states a result that previously required an entire paper to demonstrate. As a matter of fact, this is often how math is written today, so... I don't see any difference there. As long as we are talking about results that can be reproduced in a finite number of known steps, it doesn't matter that a package was used. Any package that uses undocumented ways of solving a problem would not be trusted anyway -- not in math.

      For example, let's say you need to find a small set of polynomials that has zeros in common with a set of 10,000 other polynomials. This is a simple problem in Algebraic Geometry. Obviously, it's not doable by hand or through any sort of estimation of roots -- you are looking for exact solution. You can use Mathematica which will use highly optimized algorithms or you can roll your own code for finding Groebner bases, etc. Does it matter that Mathematica will be out of business in 10 years and the statement in your paper that it has a command for doing this will be useless? No. Because you can only make these statements for procedures that have well-known (to the cognoscenti, at least) intermediate steps. So it is possible to reproduce those steps in any programming language on your own. Of course, if you want to make the argument that we should be able to do math with no computers available at all, then I'd ask why not without paper as well?

      --
      Any guest worker system is indistinguishable from indentured servitude.
    8. Re:Applied math vs theory. by argent · · Score: 1

      You can't help but throw in a straw man, no matter what. I'm not biting this time.

    9. Re:Applied math vs theory. by superwiz · · Score: 1

      I assume you are talking about my example of algebraic geometry? Or is it Mathematica? Who is the straw man? I am not trying to bring anyone down here. Any example was hypothetical. So if you don't like the details, that's Ok. They are not meant to be accurate. Examples are only there to demonstrate a principle. I didn't even know we were having an argument at this point. I thought I was just outlying why and when omitting certain details in a proof would not cause trouble.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  58. The existential quantifier by kaninchend · · Score: 1

    It is entirely possible to use closed source black box programs to help develop proofs, all based on the fact that in a proof the existential quantifier does not require you to show you how you found the object, only prove that it satisfies the properties required. The program only needs to output the object, plus some "certificates" which can be used to check that the object satisfies the necessary proposition.

    For example, consider integer factorization. Suppose you need to factorize a specific integer in your proof (for example a hard upper bound). Given a large integer, we don't care how some program factorizes it, in maths we only care about the factorization. The certificates are the factors, which can be multiplied to check that they are the factorization. Once we have the factorization the proof doesn't care how we got it.

    Another example would be proving inequalities of polynomials in the reals. For this we can use sum of square decompositions, and semi-definite programming can give those decompositions. However, the proof doesn't need to know how we got the decomposition, only that we can certify that the given decomposition is indeed correct.

    Now a lot of this changes if you use a different existential quantifier, like the constructivists. For these quantifiers more information might be necessary. Are we looking for an open source existential quantifier?

  59. science is too big to avoid black boxes by yankpop · · Score: 1

    >> Black box science does not work.

    That's unfairly harsh. Nearly all science done today is black box science to some extent. I work on molecular systematics. I understand a great deal about the biology of the system I work on, the mathematical underpinnings of the multivariate analyses I do, and some of the biochemistry involved in the reactions I run. However, I do not know how a PCR machine works, beyond the trivial observation that it heats stuff up and cools it down. I could not tell you how the gel I load onto a sequencer converts the samples I load into the picture I analyze three hours later, beyond an equally naive explanation.

    This does not invalidate my work, but it does highlight the importance of using open source protocols. Outside of math and physics research, science is far too complex for any individual to understand every aspect of their research apparatus. We rely on each other to fill in the gaps. I have the skills and training to validate a small component of my research. But by using well-documented procedures and relatively widely available equipment, the bits I can't validate myself can be checked by others with appropriate background. But if I use proprietary protocols, reagents, or software, then I can no longer rely on the community to validate my work.

    I wish I could say all my work used Free Software and open protocols. It's something I strive towards, and advocate for in areas where I have any say. But too many researchers are too focussed on producing high quality results in their specific area of specialty, to the extent that they rely on proprietary shortcuts in areas that they see as peripheral.

    yp.

  60. There's a great book on this topic, by ndru82 · · Score: 3, Informative

    It's called Math You Can't Use - by Ben Klemens. Makes a bunch of great points in favor of open source, too.

  61. errata: Re:first: prove the correctness of your... by HiThere · · Score: 1

    change:
    (This is one of that all variables aren't global...
    to:
    (This is one of the reasons that all variables aren't global...

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  62. View paper as HTML by sgunhouse · · Score: 1

    For those who may choose not to mess with PDF - or just not have a PDF reader handy - Google usually will convert stuff to HTML for you. Here's their version of this paper: http://www.google.com/search?q=cache:4Kt5IJC2oWYJ:www.ams.org/notices/200710/tx071001279p.pdf+%22Open+source+mathematical+software%22&hl=en&ct=clnk&cd=4&gl=us

  63. Maple shows the Java coffee cup by Latent+Heat · · Score: 1

    Waiting for Maple to load, I have seen the Java coffee cup icon. It looks like Maple is using Java for the UI as is Matlab these days to help with portability across OS's.

  64. relationships + Math = ???? by infonography · · Score: 1

    Sorry, but I've already patented the systematic use and manipulation of abstract symbols representing real world quantities in order to derive relationships. I have to guess your still in Junior High, otherwise you would have discovered the truth that Math Majors don't Date, hence;

    Relationships + Math = Blue Balls
    All is not lost yet young man, If you opt for Geometry then you might be lucking enough to get;

    Relationships + Geometry = Bucky Balls
    A preferable option. While still BLUE they are at least symmetrical.
    --
    Sorry about the writing. Robot fingers, you know? Cliff Steele in DOOM PATROL #23
  65. OpenAxiom by andhow · · Score: 3, Insightful

    On the subject of open source math, Axiom is an interesting 30 years-and-running project started (I believe) at IBM research that recently became open source. A new branch of the project started recently: http://www.open-axiom.org/ and has several people actively working on it. It differs perhaps most significantly from Maple and Mathematica in its use of strong static type checking. This allows its library creation language to be compiled into C, which gets compiled and loaded back into the interactive top-level. Altogether, a very neat system and a gigantic resource.

  66. another useful package: Mathomatic by vinsci · · Score: 2, Insightful

    Mathomatic is a quick and handy package to use for your more everyday math problems. It celebrates 20 years since its first release this year and is still updated with its latest release, version 12.8.0, just three days ago.

    For programmers, its 'code' command converts your math problem to source code in your choice of several programming languages.

    For more info see http://www.mathomatic.org/math/adv.html

    Many thanks for writing it, George Gesslein II.

    --

    Trusted Computing FAQ | Free Dawit Isaak!
  67. Re:Libraries are NOT FREE. by Anonymous Coward · · Score: 0

    > the same texts that led him to revolutionise science
    > more than anyone since Newton?

    Oh please cease this endless hero worship.

    Relativity, general and special, was inevitable. Theory was
    inexorably marching forward. Any number of theoreticians were
    on the cusp of relativity.

    Einstein was a genius, but he was not a unique genius.
    All he did was join the dots faster than the others.

  68. Python is not part of the answer by Anonymous Coward · · Score: 0

    Python is not part of the answer. Neither are Ruby, Lisp, ...

    The problem of trusting a proof by computer is that the languages listed above are too big to be trusted. But that problem has been solved by building engines that are so small that people can fully comprehend them. Then, the engine can be extended by proving theorems using selected fundamental axioms. Combining such proven theorems to derive new theorems is what constitutes a proof.

    Here is a list of 100 mathematical theorems and a list of systems used to proof them: http://www.cs.ru.nl/~freek/100/. Mathematicians are taking systems like Coq, HOL, Mizar etc. serious but proofs in Mathematica or Python are not acceptable.

    Of course, those systems are written in general purpose computer languages, too. For instance, HOL light is written in OCaml. Errors introduced by the underlying language must be excluded by running the system on different implementations, different hardware, etc. But many mathematicians believe that being too paranoid about a minimal proof assistant is fruitless and only leads to the descend into a fundamentalist death spiral.

  69. Easy Answer by Anonymous Coward · · Score: 0

    When mathematic theory becomes applied mathematics (such as the creation of buildings, bridges, aircraft, or thermonuclear devices), which proof would you prefer to hang your life upon - Microsoft's guarantee, or independent verification and peer review? Duh. I plan to use the same thing all professionals in the real world use:

    Microsoft Enterprise Independent Verification 2008 and Peer Review XP .NET Enhanced Edition - it's guaranteed!
  70. Proof by DragonWriter · · Score: 1

    I am no a mathematician but surely if you're going to submit a computer aided proof you must submit a full copy of the program.


    Why? If you do a proof without a program, you don't have to submit a full copy of your brain, do you?

    The "proof" is the thing that proves the theorem (hence the name), and it must do so in adequate detail showing all necessary steps and, as necessary, justifying them. If it does so, no additional information about how it was decided to take particular steps is necessary. If it does not, it fails regardless of what additional information provided.

  71. Most mathematics is GIBBERISH. by mosel-saar-ruwer · · Score: 1


    Two points.

    FIRST: I got into this discussion because the hypocrisy of it infuriates me so much. These hypocrites want tens of thousands of dollars of compiled code for free, and, beyond that, billions of dollars of source code for free - yet they won't post their LaTeX's or their PDF's for free [choosing instead to have Springer Verlag, Wiley, Elsevier, et al, demand $150+ per copy], they won't give away their journals for free, they won't open their libraries for free [demanding instead that you pony up $40,000 to $50,000 in tuition, fees, room, and board before you can get an ID card that will offer admittance to the library], they won't open up their student lectures for free [see ID card, as above], they won't open up their conferences for free [try sneaking into a conference lecture hall without an ID badge], etc etc etc.

    Look, I don't have a dog in this fight - I think that people should be free to give away their intellectual property gratis, but I also think that people should be free to demand payment for their intellectual property, in the form of cold, hard cash.

    On the other hand, if these hypocrites really want to put their moneys where their mouths are, then they can take their multi-billion dollar endowments [Princeton or Harvard could EASILY do this], and purchase these [relatively] puny little companies, like Mathworks, Wolfram, National Instruments, etc, and, once they own the source code, they can simply give it away for free.

    In fact, their endowments are so monstrous these days that they could easily afford to pay the salaries of the coding staffs of these [relatively puny little] companies to continue updating, refining, and perfecting the source code from now until the end of time.

    SECOND: Now this is not something which drew me into this discussion, but it's an important point which needs to be made, namely: It is not necessarily the case that "free source code" always implies better, less error-prone code.

    As an introduction, let me start with a few ugly, little-known facts about "mathematics", as it actually exists in the real world:

    1) Most published "mathematics" doesn't even qualify as false - rather, it's just gibberish, plain and simple. If a person with a sufficiently high IQ, a sufficiently meticulous personality, sufficient time on his hands, and sufficient sleep at night [leading to sufficent energy in the daytime] - if such a person were to examine the average published "mathematics" paper, then he would quickly come to realize that the words in the paper didn't even coalesce into logically well-formed statements.

    2) Within the subset of published "mathematics" which isn't outright gibberish, most stated "results" are false: If a person with a sufficiently high IQ [and personality/time/sleep/etc] were to examine the average non-gibberish "mathematics" paper [after it had passed muster with Kurt Gödel & Alan Turing's gibberish-detecting filter, to ensure that it wasn't gibberish in the first place], then, pretty early on, he would come to realize that there were intractable errors in the paper, and he'd throw his hands up in despair and move on to some more productive use of his time.

    3) Within the tiny subset of all published "mathematics" papers which aren't gibberish, and which contain assertions which are actually true, and which contain "proofs" of those assertions which aren't riddled with intractable errors, it is still exceedingly unlikely that a dis-interested third party [with sufficiently high IQ and personality/time/sleep/etc] will ever come along and verify that the paper is correct in the first place.

    Only a tiny, tiny fraction of all "results" in mathematics these days ever draw the attention of the right people, in sufficiently high quantities, for a consensus to emerge [among the right people] that the result is actually true and ought to be added to the canon.

    As an example, consider the "proof" of

    1. Re:Most mathematics is GIBBERISH. by Lodragandraoidh · · Score: 1
      I won't argue this assertion:

      These hypocrites want tens of thousands of dollars of compiled code for free, and, beyond that, billions of dollars of source code for free - yet they won't post their LaTeX's or their PDF's for free [choosing instead to have Springer Verlag, Wiley, Elsevier, et al, demand $150+ per copy], they won't give away their journals for free, they won't open their libraries for free [demanding instead that you pony up $40,000 to $50,000 in tuition, fees, room, and board before you can get an ID card that will offer admittance to the library], they won't open up their student lectures for free [see ID card, as above], they won't open up their conferences for free [try sneaking into a conference lecture hall without an ID badge], etc etc etc.

      I agree it is the 'pot calling the kettle black' when folks like this complain about for-profit companies not releasing source code. I also agree that people and companies can similarly demand compensation for their work with whatever limitations they demand. Caveat emptor.

      That being said, the status quo does not address the problem of independent verification. Another solution (and the solution mentioned in the editorial) is to instead of depending upon proprietary software, mathematicians should support open source projects (and the editorial writer mentioned in his 'full disclosure' that he was involved in just such a project) that by definition provide the opportunity to review code when questions of validity arise. And they will arise in all cases - regardless of whether the code is proprietary or FOSS:

      It is not necessarily the case that "free source code" always implies better, less error-prone code.

      I agree completely with this statement, and said as much in my parent post. The difference is that with open source the community has the opportunity to validate the code when questions arise (I'll say it again) which is not the case with proprietary software.

      1) Most published "mathematics" doesn't even qualify as false - rather, it's just gibberish, plain and simple. If a person with a sufficiently high IQ, a sufficiently meticulous personality, sufficient time on his hands, and sufficient sleep at night [leading to sufficent energy in the daytime] - if such a person were to examine the average published "mathematics" paper, then he would quickly come to realize that the words in the paper didn't even coalesce into logically well-formed statements.

      I am assuming you meet all the self defined qualifications to make such a statement? While something may be esoteric to you doesn't qualify it as 'gibberish'. This statement makes quite a lot of assumptions with little facts to back it up.

      2) Within the subset of published "mathematics" which isn't outright gibberish, most stated "results" are false: If a person with a sufficiently high IQ [and personality/time/sleep/etc] were to examine the average non-gibberish "mathematics" paper [after it had passed muster with Kurt Gödel & Alan Turing's gibberish-detecting filter, to ensure that it wasn't gibberish in the first place], then, pretty early on, he would come to realize that there were intractable errors in the paper, and he'd throw his hands up in despair and move on to some more productive use of his time.

      Again, more assumptions without facts.

      3) Within the tiny subset of all published "mathematics" papers which aren't gibberish, and which contain assertions which are actually true, and which contain "proofs" of those assertions which aren't riddled with intractable errors, it is still exceedingly unlikely that a dis-interested third party [with sufficiently high IQ and personality/time/sleep/etc] will ever come along and verify that the paper is correct in the first place.

      Ditto.

      Only a tiny, tiny fraction of all "results" in mathematics these days ever d

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain