Applications, Examples and Libraries

Share your work here

Like many in the technology industry, I am a big fan of science fiction films and I’ve written in the past about how exciting it is for me to have a job where science fiction and reality literally meet. Over the past few months, several key projects from various Maple and MapleSim users caught my attention for various reasons and once again, I was forced to giggle publicly as the shear cool factor of these applications overcame my normal mature demeanor.

Almost a couple of years ago,my quantum mechanics II course teacher was talking about the importance of diagonalizable matrices.Near the end of that lengthy class I was losing my attention & at that time he was talking about finding the diagonalization using Mathematica,but I was not sure.However,since I didn't/don't use Mathematica,I was trying to find the command to diagonalize a given matrix in Maple.I was using maple 13 then & I found a command  called "DiagonalMatrix(...

A Half-Life table of the Isotopes

** edit change a[i,j]:=0 to a[i,j]:=1

At http://www.maplesoft.com/applications/view.aspx?SID=97879 there seems to be a quite
interesting contribution by Rob Corless, Erik Postma and David Stoutemyer.

It would be helpfull and interesting to provide the according paper as well (through a link?).
Hope this message is read by Eric Postma.

 

PS: I wanted to drop an according message at the center as comment, but failed to log in,

A couple of days ago I found out that gzread from the zlib library can be used for fast reading of binary files in Maple from the disk to memory - about 100 times faster than readbytes - something like in the following simplified example, 

A:=Array(1..2^26,99,datatype=integer[1]):

time(writebytes("A",A));close("A");

                                9.360

B:=Array(1..2^26,1,datatype=integer[1]):
time(readbytes("A",B));close("A");

                                8.065
B[1],B[-1];

                                99, 99

myreadbytes:=proc(f)
local gzopen, gzread, gzclose, n, p, A;
gzopen:=define_external('gzopen',
    'path'::string,
    'mode'::string,
    'RETURN'::integer[4],
    'LIB'="zlibwapi.dll");
gzread:=define_external('gzread',
    'file'::integer[4],
    'buf'::REF(ARRAY(datatype=integer[1])),    
    'len'::integer[4],
    'RETURN'::integer[4],
    'LIB'="zlibwapi.dll");
gzclose:=define_external('gzclose',
    'file'::integer[4],
    'RETURN'::integer[4],
    'LIB'="zlibwapi.dll");
n:=FileTools:-Size(f);
A:=Array(1..n,datatype=integer[1]);
try p:=gzopen(f,"rb");
if gzread(p,A,n)=n
then return A end if
finally gzclose(p)
end try
end proc:
time(assign(C=myreadbytes("A")));

                                0.062

C[1],C[-1];

                                99, 99

'time(myreadbytes("A"))'$5;


                  0.078, 0.062, 0.046, 0.046, 0.046

E:=Array(1..2^26,2,datatype=integer[1]):
time(ArrayTools:-Copy(A,E));

                                0.093

That needs some tweaking, because that works only on uncompressed files. If a file ("A" in this example) was gzipped, then the gzread would ungzip n (uncompressed) bytes in it in this example, instead of copying it into the memory - but it is not a big deal, in general.

Does anybody know about a similar replacement for writebytes? gzwrite doesn't work for copying (it compresses the array.)

I used the zlibwapi.dll library from http://www.winimage.com/zLibDll/index.html, it is a version of zlib 1.2.5 (written by Jean-Loup Gailly and Mark Adler) built by Gilles Vollant. The code is for a 32-bit system (Windows). That should work in 32-bit Linux after replacing that dll with standard libz.so.1, as well as on 64-bit systems after replacing integer[4] with integer[8] in most places.

Student's t distribution is named after William Sealy Gosset's pseudonym, Student. He published using this pseudonym because his employer, the Guinness brewery in Ireland, did not allow its employees to publish scientific papers after an incident where trade secrets were disclosed. In this blog...

The Canadian Lotto649 draws are randomized the old fashioned way, the draws are held using a Ryo-Catteau Tulipe ball machine made by a well respected French Company. The draws are video recorded in a secure studio, and broadcast live.  There is no reason to suspect that these draws might not be random, but let us look at some ways we might detect it if it were not random.

You could look at the Lottery draws as a generator for a binary sequence as I did in my previous post, but as Robert Israel pointed out in the comments, that encoding can hide some non-random behavior (e.g. if the number 25 appeared in every draw, that encoding would not appear less random).

This post is a further development of my earlier question in reply to John's post. I have implemented a basic version of the CANDECOMP/PARAFAC algorithm referred to on Wikipedia and described 

This is not really the next part in my randomness series, but more of an aside.  I used Maple's embedded components to use the Lotto649 drawing data from my last post to create a historical lottery simulator.  Basically, you fill in your prefered numbers, and it simulates you playing the lottery in every draw since 1982.

In this series of blog posts, I have picked on Baseball win-loss records already.  Looking for other sources of things that might or might not be random, I decided to look at lottery draws.  Since I live in Canada, the obvious lottery to look at is the national Lotto 6/49.

A lotto 6/49 draw consists of drawing 6 numbered balls from...

I have gotten some comments about my new avatar, including a few commenting that while my picture is clear on the blog contributors sidebar, it is "blurry" on my blog posts. I just wanted clear this up.  I am not in the witness protection program; I just really love singular values.  My new avatar, just like my old one, is a rank 4 approximation of a picture of me using the singular value decomposition.

I lived in the UK before making the barely-considered decision to move to Canada.  I still have savings denominated in pounds sterling (all dutifully declared on my Canadian tax return).  Accordingly, I keep a close watch on the GBP-CAD exchange rate so I have some sense of my net worth.

When I arrived in Canada in July 2008, one pound sterling bought $2, down from $2.30 two years before that.  Today, the pound has devalued further and is worth around...

In a series of posts now imported to the Maplesoft blog (starting here), I have been talking about pseudo-random number sequences, but since part of what kicked off this series was a paper on true random number generation (with LASERS!) I thought I would share some routines I wrote that alllow you to use the two main true random number sources available on the web (neither using lasers, sadly).

I ran across something called wordle, somewhat of a quick visual word analysis, a collection of words used collected in an article and put into a collage of large and small font words based on the amount of times they were used. 

Here I have attempted something similar in Maple. 

wordle_project_proce.mw

I slightly modified and shortened...

I just wanted to let everyone know that we recently added some interesting new packages to the Application Center. These packages had been available as third party products. Now, the authors have chosen to make these products freely available to the community through the App Center. Follow the links below to take a look.

Harmonic Analysis

Structural Mechanics

Quaternions

FuzzySets

First 60 61 62 63 64 65 66 Last Page 62 of 71