MaplePrimes Posts

MaplePrimes Posts are for sharing your experiences, techniques and opinions about Maple, MapleSim and related products, as well as general interests in math and computing.

Latest Post
  • Latest Posts Feed
  • The program mint, bundled with Maple, is a very useful syntax checker and program analyzer.

    As provided, `mint` works best with Maple program source when contained in plaintext files. Inside Maple itself there is a command maplemint which does some of the same tasks as the stand-alone program `mint`. Unfortunately `maplemint` is quite a bit weaker than `mint` is, for quite a selection of procedures. Also, `maplemint` doesn't have the sort of flexible control that `mint` provides through its optional calling parameters.

    I had previously posted a Maple language procedure for the purpose of calling out to `mint` while inside Maple (Standard GUI, or other). Here it is below, cleaned up a little. Hopefully it now works better across multiple operating systems, and also provides its optional parameters better.

    Yesterday I attended a lecture by Fran Allen, as part of the "David R. Cheriton School of Computer Science, University of Waterloo, Distinguished Lecture Series".  Allen worked a IBM Research from 1957 to 2002, she was awarded the ACM's Turing Award in 2006.  Here is her biography from Wikipedia (let's hope it is accurate). 

    Aside from some technical issues (why can't a room full of computer science professors and students successfully attach a laptop to a projector?) the talk was quite interesting.  There were two main sections, the first discussed Allen's career at IBM and the second was about the future of computer science.  Allen's work at IBM focused mostly on compilers and high performance computing.  She made a few interesting comments about the importance of high performance computing.  For example, one of the systems she worked on was designed and used to model the detonations of nuclear weapons.  The development of this system ended the need for the United Stated to perform actual test detonations.

    Our first article introduced Maple's polynomial data structure and explained how Maple spends a lot of time working with monomials. To multiply polynomials having n and m terms, Maple must construct, simplify, hash, and sort all nm pairwise products to determine what monomials are equal. This work is performed even if the result has far fewer than nm terms, making it a rather inefficient way to multiply large multivariate polynomials. This article describes a new data structure for multivariate polynomials that is being added to Maple for a future release.

    sdmp packed arrays

    9xyz  -  4yz  -  6xyz  -  8x  -  5

    Although the digital world has provided me with a wonderful career and countless enriching experiences, in my heart I will always have a special passion towards the analog world: vinyl LP’s, multiple print sets of the Encyclopædia Britannica, a manual wind watch, fountain pens, film cameras and a darkroom, and carbureted motorcycles all have privileged spots in my house. With digital equivalents being so much more accurate, faster, convenient, and cheaper, what could possibly be the appeal of these ancient artifacts?

    This is the first in a series of short informal articles about our efforts to speed up polynomial arithmetic in Maple. We begin with an example of how polynomials are represented in Maple right now.

    Maple sum structure

    9xyz  -  4yz  -  6xyz  -  8x  -  5

    When you enter a polynomial in Maple, it creates a generic data structure like the one above. In Maple's representation this polynomial is a sum of terms that is 11 words of memory long where each word is either 32 or 64 bits. For each term it stores a pointer to a monomial followed by a coefficient.

    Atomic operations are CPU instructions that are guaranteed to execute in a single CPU cycle. This means that the operation is guaranteed to complete without being interrupted by the actions of another thread. Although this may not sound too exciting, careful programming using these instructions can lead to algorithms and data structures that can be used in parallel without needing locks. Maple currently does not support atomic operations, however they are an interesting tool and are used in the kernel to help improve Maple's parallelism in general.

    Hi all,

    I created a fit function (y = a*x^b + c) from a list of x and y experimental data. I would like to calculate the variance-covariance matrix of the 3 coefficients a, b and c but I found that the command variancecovariancematrix works only for the linear fitting. Can you help to solve this problem easily?

    Thanks

    Topic title pretty much says it all. I can only use Maple (ver. 13.02 aka latest) when I have internet access. Without I can however open the program, but I'm not able to calculate anything or change any settings. Anyone know a fix to this problem?

    I solved IVP of ODE with solutions x(t),y(t),z(t) numerically.x(0)=y(0)=0,z(0)=0.25

    How can I get the coefficients of the initial values in x(t)

    i.e  assume the solution

    x(t)=e1(t)x(0)+e2(t)y(0)+e3(t)z(0)+e4(t)

    how can we get :

    e1(t),e2(t),e3(t) and e4(t)

     

    I recieved this comment on an older post of mine, and I was going to post a reply, but I noticed my reply was pretty long, and I was also missing a post for last friday, so I figured I'd cheat and make the reply a blog post of its own.

    Some key words will take a lot time when search for something by text

    It's fast when search for something by topic in Help system

    Can I stop the search progress?

    Maybe the search function canbe developed,more quickly.

    Very few people would ever need this, I think, even while programming. But sometimes the details of the call stack are just what one wants.

    So, for example,...

    > h:=proc(x)
    >   debugopts('callstack');
    > end proc:
    
    > m:=module() export f; local g;
    >   f:=proc(x)
    >     g(x^2);
    >   end proc:
    >   g:=proc(x)
    >     global h;
    >     h(x^3);
    >   end proc:
    > end module:
    
    > m:-f(a);
    [DEBUGSTACK, h, `debugopts('callstack')`, [a^6...

    Perhaps it would help to be able to flag not only replies but also parent forum and blog posts.

    I've been working with fsolve and I'm having the following issue: fsolve({dif_Fliq=((nFsol-nFliq)/(psi_sol-psi_liq)),dif_Fliq=dif_Fsol},{psi_sol=0.1..0.9,psi_liq=0.1..0.9}); {psi_liq = 0.4447971078, psi_sol = 0.3459845910} how do I get the value of psi_liq and psi_sol and assign them to a different variable without having to copy the whole thing? i.e. if I use the following command assign(result_liq,psi_liq); I get result_liq=psi_liq = 0.4447971078 not what I want result_liq = 0.4447971078 I also tried: result_liq:=psi_liq and I ended up with the same result

    An attempt at question 2 of the xkcd Velociraptor Math problem (mentioned on this blog post). The parameters and events facilities of

    First 156 157 158 159 160 161 162 Last Page 158 of 307