Slashdot Mirror


Open Source 'Sage' Takes Aim at High End Math Software

coondoggie writes "A new open source mathematics program is looking to push aside commercial software commonly used in mathematics education, in large government laboratories and in math-intensive research. The program's backers say the software, called Sage, can do anything from mapping a 12-dimensional object to calculating rainfall patterns under global warming."

49 of 360 comments (clear)

  1. Added benefit by Anonymous Coward · · Score: 5, Funny

    Plus, its creators' heads can probably fit through normal-sized doorways.

    1. Re:Added benefit by Anonymous Coward · · Score: 5, Informative

      It's a well-deserved shot a Stephen Wolfram.

      (I'm not the same AC who posted the original.)

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

      My understanding is that his head is that large to contain his fantastically large brain. Apparently he is a genius.

    3. Re:Added benefit by not-admin · · Score: 5, Funny

      Hey Mr. Wolfram! When did you start reading slashdot?

    4. Re:Added benefit by the_womble · · Score: 3, Informative

      If you want a minus they are going to have to change the name: using a name already used by a very well known piece of software is a bad idea. They could have googled for "sage" before choosing the name.

      It being a different type of app is no help: remember Pheonix/Firebird?

    5. Re:Added benefit by u38cg · · Score: 3, Informative
      And probably you've never heard of SAP or Navision either. Though it doesn't have CS appeal, this stuff is the reason computers are used in business. Sage (the company) is (or possibly was) the only company not to crash out of the FTSE 100 after the dot com collapse. And if you work in any kind of finance or ccounts related job in the UK, you are guaranteed to know Sage, and there's a better than 50% chance you run it.

      That said, I think they should be left alone regarding the name. One is unlikely to accidentally purchase several hundred pounds worth of accounting software when you actually meant to download a free mathematical application. Or vice versa. Hence, the trademarks shouldn't be infringed. That said, no doubt it will take many lawyers and many $$ to establish it.

      --
      [FUCK BETA]
    6. Re:Added benefit by Garridan · · Score: 5, Informative

      We've discussed this at length. At the present, there is no need to change the name -- there are actually quite a number of projects named Sage.

      Accounting software
      Browser plugin
      ... and there's actually another SAGE project at the University of Washington (which I can't find a link for) which does something entirely different.

      If any of these present a real problem, we've discussed the name Sage Math -- but there's no reason to change yet.

    7. Re:Added benefit by RenaissanceGeek · · Score: 3, Informative
      This isn't the first piece of software to use the same name as another program.

      Microsoft Excel comes to mind.

      MS settled the trademark infringement lawsuit by agreeing to always refer to it as "Microsoft Excel".

      Eventually, MS just bought the original trademark owner, thus ending the issue completely.

      --
      What is the difference between a small revolutionary change and a large evolutionary change?
    8. Re:Added benefit by William+Stein · · Score: 5, Informative

      > I find the packaging of SAGE to be rather arrogant and self-important.

      The current packaging of Sage was the most technically efficient way to
      accomplish the goals of the Sage project quickly: (1) create a distribution
      of math software that builds from scratch on all modern OS X and Linux
      installs, (2) create a new library of functionality that ties it all
      together and more, and (3) create interfaces to most existing mathematical
      software. Creating .deb, .rpm's etc., is something that we've always planned
      to do: see http://wiki.sagemath.org/DebianSAGE

      > At first glance it looks like SAGE is millions of lines of source code.
      > On closer inspection I find that SAGE is really just several dozen open
      > source mathematics packages bundled together in a tarball with the SAGE
      > name slapped on it.

      Sage is not "just that". It is nearly 70 packages, which took many people
      a huge amount of time to get to all build together correctly -- and in many
      cases (e.g., linbox, genus2reduction, mpfi, pyrex/cython, Singular, etc.)
      Sage developers fixed significant bugs in those packages or made major
      contributions; in some cases taking them from being nearly-orphaned research
      only systems to serious projects. And Sage is also a huge amount
      of new code.

      > On even closer inspection I find that there is actually
      > SAGE code that appears very worthwhile, additional functionality is provided,
      > a consistent interface, etc. However, I'm not going to use it seriously
      > because I can't 'apt-get install sage-math'.

      That will come later when people who want to apt-get Sage actually put in
      the work to make it happen. This is of course happening now and I strongly
      support it. I just don't have the time to do it myself.

      > SAGE wants me to download
      > and install more than 200MB of stuff that isn't going to be handled by
      > my OS package management, and it duplicates many of the components I
      > already have installed that are handled by my OS package management.

      In fact, because SAGE builds completely self contained it will not
      conflict with or cause any headaches with anything you have installed.

      > Don't make me use your own forked and patched versions of Pari or GAP.

      I am certainly not making you use anything.

      > I can 'apt-get install pari-gp gap' today(and I already have). I'm
      > not going to install your alternative versions and deal with any
      > inconsistancies between them. I'm not throwing out the ease of use that
      > OS level package management provides to get SAGE. I know many other
      > people who aren't going to do it either.

      Look, there is nothing whatever about the Sage project or me that is
      against mainstream packaging. It's just that Sage is a volunteer project
      for which most developers are naturally mathematicians. We simply don't
      have the time to maintain Debianizing dozens of packages. Arrogance has
      nothing to do with it. I very much hope http://wiki.sagemath.org/DebianSAGE
      takes off.

        -- William (a Sage developer)

  2. 12 dimensions... by blake1 · · Score: 3, Funny

    but I thought Doc only just figured out the 4th.

    1. Re:12 dimensions... by TobyRush · · Score: 4, Funny

      And E. Lizardo and T. Hikita, et al, made some strides toward the eighth... and even had some independent confirmation by B. Banzai years later.

      --
      Sam! If you will let me be,
      I will try them.
      You will see.
  3. Go straight to the source by MollyB · · Score: 3, Informative

    Downloadable for Linux, Mac, and the other one:
    http://sagemath.org/

    1. Re:Go straight to the source by Anonymous Coward · · Score: 3, Informative

      (be kind: use a mirror: http://sagemath.org/mirrors.html) :)

  4. Questions from evil mastermind by LiquidCoooled · · Score: 5, Funny

    As an international evil mastermind I have numerous plans which require advanced mathematical calculations and simulations to be performed (wiping out the human race, transmogrifying all kittens into war machines, etc - the usual kind of stuff).

    I was wondering if the license of this software will allow me to achieve my goals without giving up my principles and secrets?

    --
    liqbase :: faster than paper
    1. Re:Questions from evil mastermind by WWWWolf · · Score: 5, Funny

      As an international evil mastermind I have numerous plans which require advanced mathematical calculations and simulations to be performed (wiping out the human race, transmogrifying all kittens into war machines, etc - the usual kind of stuff).

      I was wondering if the license of this software will allow me to achieve my goals without giving up my principles and secrets?

      Regrettably in this release, SAGE is somewhat limited and would not meet your goals. Due to some unforeseen limitations, it can only run in Baby Mulching Machines at the moment. However, I believe the next release has worked out these little kinks.

    2. Re:Questions from evil mastermind by Sponge+Bath · · Score: 4, Funny

      ...Baby Mulching Machines

      Mulching is one of the simplest and most beneficial things you can do for your home garden. As mulches slowly decompose, they provide organic matter which helps keep the soil loose. This improves root growth, increases the infiltration of water, and also improves the water-holding capacity of the soil.

      As any parent can tell you, babies are an excellent source of organic material.

  5. Very Nice by lansirill · · Score: 3, Interesting

    I haven't had a chance to play around with this yet, but if it's as good a replacement for Mat* as R is for S+ and SAS, I'm quite happy to see it. I'm sad that I'll probably never be able to touch it unless I change my job as I've been told it would, quite literally, require an act of Congress to allow us to use anything other than SAS for our work. It will still be great to have access to a (hopefully) well documented library of algorithms that I can tear into, instead of trying to cobble together things that seem good to me at the time. Huzzah, hip hip, and all those fun things.

    1. Re:Very Nice by mhansen444 · · Score: 5, Informative

      Speaking of R, we're hard at work getting ready to include R within Sage. --Mike ( a Sage developer )

  6. What about other math software? by GreatBunzinni · · Score: 3, Insightful

    How does sage compares with other mathematics FLOSS like maxima, axiom and yacas? Another question is how come they opted to start a new project instead of contributing to other already established projects?

    --
    Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
    1. Re:What about other math software? by m2943 · · Score: 3, Informative

      Maxima, Axiom, and Yacas were all developed specifically as computer algebra systems, with everything best done within their framework, and based on their own languages.

      Sage, on the other hand, focuses on gluing together other packages and uses Python. That means that Sage gets a lot of functionality out of the box that you don't easily get in those other packages. For example, Sage uses Twisted for its web service, Pyrex for native code compilation, Numpy for numerical computations, Vtk for 3D visualization, etc.

      Also, Sage can invoke packages like Maxima, Axiom, and Yacas and glue them together with each other and other packages.

    2. Re:What about other math software? by mhansen444 · · Score: 5, Informative

      Sage provides much more functionality than existing FLOSS projects. One of the ways it does this is by making use of those project. For example, Sage comes with Maxima and uses it as an engine to do symbolic calculus type computations. Axiom can be used from within Sage if it is installed as well. Sage also includes GAP, which is the open-source package for doing abstract algebra computations. One of the main reasons for starting a new project was to take advantage of existing projects and tie them together. Also, most of the existing software focused primarily . The lead developer is a number theorist and needed a fast, extensible platform to carry out his research. None of the existing FLOSS CASs provided this.

    3. Re:What about other math software? by mhansen444 · · Score: 5, Informative

      Well, in addition to including existing software, Sage contains about 200,000 lines of new code implementing functionality not found in the other packages. Many packages have C library interfaces which provides something much different that you'd get with a BASH shell; for example, GMP, GSL, and MPFR come to mind. Even the pexpect interfaces which use a psuedo-tty do more than you can do with a BASH shell. For example, look at the following Sage session which mixes Sage, Maxima (behind the scenes), and Maple:

      sage: f = x^2 + x
      sage: df = diff(f, x); df
      2*x + 1
      sage: a = maple(df).integrate(x); a
      x^2+x
      sage: a+2
      x^2+x+2


      --Mike

  7. Pretty Graphs by gambit3 · · Score: 4, Funny

    yeah, but can it do pretty graphs? Everyone knows that's what people are looking for: pretty 3D graphs.

  8. Continuum by drooling-dog · · Score: 4, Funny

    do anything from mapping a 12-dimensional object to calculating rainfall patterns under global warming So those two things are at the extrema of a continuum of what it can do, and I have to figure out whether my particular application also lies on that continuum? Or am I taking this statement too literally?
  9. Mirror links by LinuxGeek · · Score: 5, Informative
    --

    Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
  10. Pretty enough? by Per+Abrahamsen · · Score: 5, Informative

    I'd say yes.

  11. What SAGE cannot do is.... by 3seas · · Score: 4, Funny

    .... calculate the slashdot effect.

  12. FLOSS misses the point again by Anonymous Coward · · Score: 5, Insightful

    mapping a 12-dimensional object to calculating rainfall patterns under global warming I can do that in Perl, C, assembler, and any other Turing complete language. But I use Mathematica because it is full of functionality, fairly reliable, and has a very elegant programming paradigm. Also, as a student, it'll cost me $100-150, depending on where I live, for the lifetime of my studentship, assuming no site license; the kinds of business that run this software commercially really don't care too much about a $2500 license fee.

    This is just like GIMP trying to take on Photoshop. When you're a kid, Adobe prices seem so off-putting that you can't see why people wouldn't flock to the free alternative. When you're doing a real job involving print work, you simply don't think twice about paying Adobe for the required feature set, intuitive UI and better workflow.

    So, kids will carry on pirating Adobe or paying a much reduced student price, then paying for it when they go into the real world; and the same goes for Maple, Matlab, Mathematica, or whatever.

    Oh, yeah, the whole "open source" thing. Excepting core functionality, some of Mathematica and the majority of Maple is provided in source form. You can whine about needing peer review of implementation at all levels, but how many of you have inspected your CPU's microcode or circuit diagrams? At some point the line is drawn, and you combine a trust in the reputation of your vendor with the fact that usually you're prototyping and modelling. Things will be re-implemented and tested in many ways before your "final product" is out of the door (whether that's theoretical physics or an aeroplane).
    1. Re:FLOSS misses the point again by mhansen444 · · Score: 5, Informative

      Since you specifically mentioned Mathematica, I'd like to address some reasons why Sage was created when something like Mathematica exists. While good for some types of problems (calculus, solving equations, etc.), Mathematica is not so good at a number of other ones (linear algebra, abstract algebra, number theory). Many of these are important to the Sage developers who need this type of functionality. Mathematica's programming language is a whole lot less flexible than a "real" programming language like Python. Plus, with Mathematica, you aren't allowed to change the internals -- you're stuck with what you get.

      These were all reasons that led William Stein to start up Sage.

      --Mike ( a Sage developer )

    2. Re:FLOSS misses the point again by mhansen444 · · Score: 5, Interesting

      When I meant not good at linear algebra, I meant that it is slow. For example, Sage is over 30x faster at computing the characteristic polynomial of a matrix over the integers. Regarding number theory, there isn't really any support in Mathematica for working with number fields, modular forms, or elliptic curves. What I meant by "real" programming language was that there is a lot of software out there that can be taken advantage of. Say for instance I need to work with data stored in an relational database. How easy is that to do with Mathematica? It is trivial with Sage since Sage uses Python. When Sage needs to do things fast, it uses Cython ( http://www.cython.org/ ) which is almost a superset of Python and compiles down to C.

      --Mike

  13. Re:another one bites the dust by The+Second+Horseman · · Score: 3, Informative

    Real video editing software, probably. Real finance software (corporate, not quicken!), real HR software - stuff that has to follow specific regulations on a schedule. And there really isn't a replacement for autocad that a mechanical or civil engineer, or an architect is going to run out and install. Medical applications would be difficult for some of the same reasons as the finance software. And real enterprise email/calendaring and the archiving/retention software to go with it. There aren't any open-source email packages that you could actually use to replace Exchange/GroupWise /Notes in a corporate, healthcare, government and even education. There are pieces, but nothing it would be worth your job to try to sell your organization on.

  14. Re:FINALLY! by mahlerfan999 · · Score: 4, Insightful

    I was getting kind of tired of pirating my Mathematica software. That's not the reason why open source mathematics software needs to be better developed (your comment is also sadly echoed in the article which didn't get the point). It has nothing to do with the price tag (free as in beer is not why foss is important in math and science), it has to do with reproducibility. The whole point of science and math is that a result can't be accepted if it can't be reproduced. And anything that uses closed source algorithms as part of the process is not transparent, and thus not necessarily reproducible. From personal experience I can tell you that numerical computations depend strongly on the algorithm that you choose, and it's just as important as the rest of the problem.
  15. Maxima vs Mathematica by hweimer · · Score: 4, Interesting

    But I use Mathematica because it is full of functionality, fairly reliable, and has a very elegant programming paradigm. Also, as a student, it'll cost me $100-150, depending on where I live, for the lifetime of my studentship, assuming no site license; the kinds of business that run this software commercially really don't care too much about a $2500 license fee.

    Free software isn't about price -- it is about freedom. One of the research groups at my university cannot use Mathematica since a few weeks because the license expired, and neither renewing the license nor contacting tech support has so far brought a solution.

    Another no-go is that Mathematica 6 notebooks are not compatible with Mathematica 5 notebooks. Also, the unwillingness of Wolfram to timely fix bugs leading to wrong results is unacceptable. I could go on ranting like this, but recently I have completely switched to Maxima and have not regretted it.

    --
    OS Reviews: Free and Open Source Software
    1. Re:Maxima vs Mathematica by failedlogic · · Score: 3, Insightful

      I think the other problem on affordability, is that many software packages are not affordable for those of us who want to learn at home for career development purposes. This not only applies to mathematical software but also much of business software and creative software (video, document layout, etc), CAD, etc. . It would be nice to pay $100 for a yearly license or have a limited non-expiring demo that can only be used for non-commercial purposes or watermarking in someway the end results so that if used in a non-commercial purpose it would be evident an unlicensed copy was used.

      I don't want to be unfair to the companies I've enquired about this problem by naming them, but I'm often quoted that I would qualify for an academic license which expires within the software after 1 year with no upgrade options for $1000. After a work day I don't have much "time" to learn the software at home and $1000 is steep for the amount of time I would use it. The problem, simply, is that my program at college did not teach me adequately how to use a given software package or I was not taught it but know it is used in the field. If I'm to have several years experience with software to qualify for a job, I'd at least like to say that I know how to use it, but not in the workplace. Is there no solution in this case? I know I am not alone as my friends and colleagues would love to take on some computer software learning time.

  16. SAS by bunratty · · Score: 3, Informative

    It doesn't have to do with the boss. Certain industries require SAS. No, there's no way to hide the fact you didn't use SAS. You can do the work at first with another product, but you need to submit SAS code that allows others to reproduce results.

    --
    What a fool believes, he sees, no wise man has the power to reason away.
  17. SAGE is an interesting project by starseeker · · Score: 5, Insightful

    I am not personally involved with SAGE, but I know a little about it. Rather than being a totally new system in all respects (although there is certainly new code created for it) SAGE attempts to make use of the plethora of existing open source systems available already and provide a unified interaction environment for them. As it says above, SAGE takes aim at the functionality offered by commercial systems.

    This is undeniably a practical approach that will benefit many research teams, and I am rooting for its success. My main concern with it is that by using a wide array of libraries/programs to cover broad functionality, it will become difficult to integrate results from one system into the computations of another. Different systems may make different default assumptions (sometimes very subtle ones) that other systems will not be aware of. Efforts like OPENMATH (http://www.openmath.org) that have attempted to define a protocol for exchange of mathematical information between systems have run into this before.

    Unfortunately, any proper solution to that problem is likely to be even more work than re-implementing algorithms inside a single environment. A framework for a CAS that could handle such broad scope is a problem (Axiom probably comes the closest right now) so for problems that don't hit the more difficult situations SAGE will be very useful indeed, but it is something to bear in mind.

    In the very long term, we need to integrate formal proof software concepts (ISABELLE, ACL2, COQ, etc.) with computer algebra systems in order to be able to trace any calculation back to its axiomatic roots at need - or, put another way, have the system be able to provide upon request correctness proofs of a result. There is a fair bit of literature on that and related topics, but it cannot be denied that the problem is an awesome one. In the meantime, SAGE is a very promising short term (practical) solution to real world problems.

    SAGE's developers are also supporters of the idea of open source software in general, which is probably the most important aspect of the whole discussion: http://www.ams.org/notices/200710/tx071001279p.pdf

    It may be argued that computers are not really an appropriate tool when truly "correct" mathematics must be relied upon. My response to that is that as problems of interest become ever more complex, limitations both of the human mind and the human life span will ultimately limit the problems we can solve unaided. The task for us now is to create a system we CAN trust to solve problems correctly, because someday we will have to trust it to solve problems we cannot handle. Some researchers would probably have a philosophical objection to that and define any problem human beings cannot solve and verify themselves as a problem where we will always be uncertain if it is really solved. The philosophical questions involved are fascinating for people who like that sort of thing. My take on it is such a system would be useful and is worth looking into.

    SAGE is more pragmatic in its orientation, but that means for many (most?) people it is a project to watch and probably a product to use. Here's hoping they can build increased momentum!

    --
    "I object to doing things that computers can do." -- Olin Shivers, lispers.org
    1. Re:SAGE is an interesting project by ortholattice · · Score: 3, Interesting

      It may be argued that computers are not really an appropriate tool when truly "correct" mathematics must be relied upon. My response to that is that as problems of interest become ever more complex, limitations both of the human mind and the human life span will ultimately limit the problems we can solve unaided. The task for us now is to create a system we CAN trust to solve problems correctly, because someday we will have to trust it to solve problems we cannot handle.

      There is a mathematical proof verification language, Metamath, whose rigor and/or correctness (meaning freedom from bugs) are probably near the top, if only because (1) the proof language is trivially simple and (2) as a result half a dozen independently written proof verifiers have been coded, in C, Haskell, Python (300 lines of code), Java, Lisp, and Lua, so the likelihood they all have the same bug is pretty small. It stands in contrast to some other proof verifiers or theorem provers that embed complex internal algorithms and tend to be very large programs that would be hard to formally verify for correctness - and in some cases are closed source (like Mizar, which BTW probably has the largest body of mathematical knowledge developed for it).

      A problem with Metamath is that it is very labor-intensive to develop proofs. The proof of 2 + 2 = 4 has 23,000 steps from ZF set theory axioms, and the computation of cosine of 2 to one decimal place has some 75,000 steps that take several seconds for the verifier to verify. All of these steps were entered by hand (although once a collection of theorems are developed they can be reused, so proofs become easier as a body of knowledge is developed). All of these steps are absolutely, rigorously correct - assuming that at least one of the independent verifiers has no bugs. Unlike a 75,000 line computer program, there is no such thing a a bug in the proof - a proof is either right or wrong (i.e. not a proof).

  18. Re:another one bites the dust by Anonymous Coward · · Score: 3, Insightful

    I'm told Blender's interface is only difficult until you climb the learning curve -then it starts to make sense and is very productive.

    Quite often, an interface that is intuitive for a beginner is an untold frustration to an expert. It might even be argued that an interface that is too focused on beginners will tend to keep them beginners rather than rewarding increased learning.

    I can't say from personal experience though - I've only done a couple simple models in Blender using very crude means. I found it acceptable, but clearly something you needed to spend time with to get the hang of. That's inherent in complex tasks.

  19. It's your who is missing the point by S3D · · Score: 3, Insightful

    The point here is not workflow or intuitive UI.
    The point is, mathematics and other research rely more and more on computer algebra systems. Up to the point of including CAS code into proofs of theorems and other research paper. However the point of mathematical proof is that anyone with enough knowledge can follow it and verify it step by step. If commercial closed source software is part of mathematical proof, proof is becoming essentially unverifiable. Mathematical theorem become hostage of software owner. That is a step toward complete privatization of science.
    On of the ugliest incident happens then owner of your favorite Mathematica Steven Wolfram claimed ownership of proof of CA rule 110 universalty and obtained a court order preventing researcer from the publishing the proof in the conference proceedings. To publish it as the Mathematica code in his books.

  20. Re:another one bites the dust by wvmarle · · Score: 3, Informative

    Luckily the vast majority of the companies, even the vast majority of the employment, falls in the small and medium enterprise segment. The less-than-ten-people businesses. There things work differently. And for those companies OSS is commonly good enough, and many fancy features are simply not used because they are too cumbersome. Like calendaring, I don't even use it for my personal work. Too inconvenient as it is tied to my computer.

  21. A link for you by zogger · · Score: 5, Insightful

    Took 5 seconds with google, mostly because I type slow and am on dialup

    Nasa open source

  22. Re:another one bites the dust by module0000 · · Score: 3, Interesting

    Sadly yes, there is a type of very expensive commercial software who's market is unable to be challenged by free software.

    That market is custom database design: it's where your company pays $10,000 per license of some "cutting-edge" VB6.0 front-end to a MS Access database file because it has been completely customized to their business model. They are rampant with bugs, bag programming procedures, and hidden [usually annual] costs.

    Doesn't look like it's going anywhere either, until corporate purchasing mindsets evolve from "price = value".

    --
    Trackball users will be first against the wall.
  23. Matlab by Liquid+Len · · Score: 4, Interesting

    I work in Europe, as a researcher, and two and three years ago, the Mathworks (the company behind Matlab) decided we weren't eligible to research/education prices anymore. They did the same with a bunch of other institutes (in Europe, I don't know about the US). We operate an experimental reactor, whose control is largely based on Matlab programs. Some of these were developed a long time and people left, or retired. There's a lot to be said about the way this was handled by our management, but that's the way it is. So, we had to admit we were screwed, having to pay the price. We met with the Mathworks representatives, and I have to say all I saw a bunch of arrogant jerks.
    Anyway, since then, we've renewed our licences every year, and we've been looking for an alternative. We even tried to migrate the whole lab to Scilab but that didn't work out (mostly because of the limited capabilities of Scilab in scientific plotting and GUIs). Some of us use Python + Matplotlib (I'm a big fan), some (often the same people) use Octave. Although we've converted some individuals, we weren't able to find a software which could be used by everyone in the lab as a substitute to Matlab. This is frustrating, as the vast majority of people here use only a fraction of the capabilities of Matlab.
    I for one, would be really happy if we had something to replace Matlab, be it Sage or whatever else...

  24. Re:another one bites the dust by jpfed · · Score: 4, Insightful

    You suggest optimizing for one quality of user interfaces- "discoverability". But that's certainly not the only user interface design objective. Asking about the user experience after the interface has been learned is quite appropriate, because that's the circumstance that the user will spend the vast majority of their time in, assuming they've stuck around past the learning phase.

    The question of whether someone will stick around long enough to learn the software is less one of usability than it is one of marketability. I make no statement about the relative importance of usability and marketability.

  25. Re:another one bites the dust by 99BottlesOfBeerInMyF · · Score: 3, Interesting

    Blender is a user interface nightmare.

    Blender is a UI for advanced users. It has very poor learnability, but I've heard it is a very good UI once you are used to it. I haven't seen any usability studies though, so it is just hearsay.

    GIMP's no good for commercial artwork (Pantone swatches and CYMYK and whatnot)

    I have used GIMP for commercial work for years and it has been the best tool on the market for certain uses, especially large automated batch jobs that are beyond Graphics Converter. More recently, Pixelmator may have taken the title away from them, but to call GIMP "no good" in a commercial environment is just wrong. It is used a lot in certain segments, although it can't compete with Photoshop for one off photo touch-ups and that sort of thing.

    I can't comment on Inkscape.

    Inkscape is pretty decent and a reasonable Illustrator replacement for many projects. The main drawbacks I have with it is for Visio type work it is not well suited, and support on the Mac (where realistically most pro graphic artists work) is very weak.

    They're more "challenged" than a challenge to commercial programs.

    I disagree. Most of them are focused on different parts of the market than commercial competitors, but all of this software is probably the best for some uses.

  26. Re:FINALLY! by 99BottlesOfBeerInMyF · · Score: 3, Insightful

    It has nothing to do with the price tag (free as in beer is not why foss is important in math and science), it has to do with reproducibility.

    I disagree. Both are important factors. Being able to view all the source is important, but so is having the software available to the 80% of the planet that cannot currently afford it. This could lead to huge advances simply because it opens areas of research to thousands of brilliant mathematicians who make less in a year than the cost of Mathematica.

  27. Re:User interface and documentation by William+Stein · · Score: 3, Interesting

    > The success of Sage won't be determined by how powerful it is.

    The success of Sage with research mathematicians may be determined by how
    powerful Sage is, but you're right -- the success for 99% of users won't be
    determined by that.

    > As others have observed, it is largely a mashup of existing stuff.
    > Its success will be determined by how easy it is to use. If someone
    > can put together some decent documentation

    We have many people in the development team who are really very interested
    in writing good documentation (and who write published mathematics books as
    part of our jobs). For example, the author of "Adventures in Group Theory:
    Rubik's Cube, Merlin's Machine, and Other Mathematical Toys" is
    one of the main Sage developers (he's coming out with a new version of the
    book that uses Sage soon).

    > and a semi-intuitive UI, it will take off.

    From the start we've had many undergraduates with a software engineering
    background involved in the project and they have helped immensely with
    the browser-based GUI (which one can use locally -- no need to be online!).
    Also, us "professional mathematicians" -- even the ones that use mainly FOSS --
    really do greatly value having a nice GUI. You might be able to try
    out the GUI right now here:

              https://sage.math.washington.edu:8101/

    that is, if it hasn't been slashdotted into oblivion already!

      -- Willam

  28. Can I focus on my work? by Anonymous Coward · · Score: 3, Insightful

    That is the question. What makes Matlab so great (for me at least) is that I can sit down and just work. I dont have to fight with the syntax. I dont have to fight with the documentation. What I dont like about Matlab is how closed off it is to other apps/libraries (the price is an issue too). A good, functional open source alternative could fix this.

    However, I tried out Numpy/SciPy about a year ago and again about an hour ago after I saw this article. I was hoping Sage would provide an "intersection" of sorts for Numpy/SciPy/VTK/R/Octave/etc. At least, that was my major issue about a year ago. There was so much disconnect I spent more time reading documentation and Googling than anything else. Alas, today was the same thing all over again.

    One of the most common things I do in Matlab is solve Ax=b. So I made my 'A' matrix (3x3), my 'b' vector (3x1) and tried a "linalg.solve(A,b)". No dice. I got 2 blocks of Python error messages (yes, I checked my matrix dimensions and made sure I was using Matrix and not an array). The "final" error was something about "an undefined shape attribute in my b vector". Uh... yeah. I played with it for about an hour or so and then deleted it.

    What has been done so far has promise, I think. But it needs to mature a lot more. In its present state I was left slightly annoyed with trying unsuccessfully to do something as simple as least squares regression.

    Again, this problem goes to the heart of the issue. I have to be able to focus on my work. Matlab has issues for sure. But when I dont know how to do something in Matlab, or I hit a snag, 90% of the time Im "back to work" in ~5-10 minutes max. I'll check it out again in a year or so. Until then, Im using Matlab. Sorry.

    1. Re:Can I focus on my work? by mhansen444 · · Score: 4, Informative

      Here is how you can solve a Ax=b equation in Sage:
      sage: A = random_matrix(ZZ, 3)
      sage: A
      [ 1 3 -1]
      [-2 2 4]
      [ 2 -1 -1]
      sage: b = vector([3,2,1])
      sage: b
      (3, 2, 1)
      sage: x = A \ b
      sage: x
      (14/11, 9/11, 8/11)
      sage: A*x
      (3, 2, 1)


      --Mike