Maple 2015 Questions and Posts

These are Posts and Questions associated with the product, Maple 2015

Consider the following code, which just generates two "identical" matrices, differing only in their requested storage type, and then does some simple manipulations.

restart;
#
# Define matrix using sparse storage
#
   testM:= Matrix( 40,40,
                           (i,j)->`if`(j>=i,1,0),fill=0,
                           storage=sparse
                        ):
#
# Define identical(?) matrix with rectangular storage
#
   nm:= Matrix( 40,40,
                        testM,
                        storage=rectangular
                     ):
#
# Define procedure to return some matrix properties
#
   matData:= proc( myMat::Matrix)
                            return op(3, myMat)[2], # check storage type
                                      myMat[5, 1..-1], # get 5-th row
                                      add(myMat[5, 1..-1]); # add elements in 5-th row
                    end proc:
#
# Get properies of the two matrices - should be identical
# but check result of adding elements in the 5-th row
#
    matData(testM);
    matData(nm);

The matData procedure ought to produce the same results for the two matrices, with the exception of the storrage type. But the 'add()' command does not. The 'myMat[5, 1..-1]' command produces the same vector, the 5-th row - but stick an add() wrapper around it and all hell breaks loose.

Is this a bug or am I missing something?

Suggestions such as avoiding sparse data storage are not really acceptable: the above is a much simplified version of my original problem where I was using graph theory to play with a "cost function" and (with G a graph) the command,

WeightMatrix(MinimalSpanningTree(G))

returned a sparse-storage matrix - and I didn't notice. There appears to be no option on the WeightMatrix() command to control the storage tyoe of the returned matrix. Result was that all subsequent code based on slicing/dicing/and particularly 'add()ing' sub-blocks of this weight matrix fell apart

Don't get me wrong: I can sort of accept that the weight matrix of minimal spanning tree would (hopefully) be mainly zeros so sparse-storage might be a good default option but I don't see why the results of a command such as

add(myMat[5, 1..-1])

should vary depending on the internal storage used for the matrix, particularly when I have no control over the storage type being adopted

 

can I extract a certain non numeric degree from an expression?

for example, I want to get degree "n-1" from "x^(n-1)+y".

 

any thoughts? 

Here we have a very brief introduction to the use of embedded components, but effective for the study of the polynomials in operations and some products made with maple 2015 to strengthen and raise the mathematics today.

 

Operaciones_con_Polinomios.mw

(in spanish)

Atte.

L.AraujoC.

Starting with Maple 18, the Print to PDF feature caused the document page to be hard-aligned at the left margin of the page. Maple 2015 still seems to have this problem / bug.

Does anyone else have the same problem? Has a work-around been posted? Is a fix in the works after nearly 9 months?

--
JJW

Let M and K be given positive integers.

I struggle with how to write efficiently this formula in Maple,mainly because it sums over *pairs* of integers K1 and K2, with the given property that "K1+2*K2=K":

0<=K1<=K,

0<=K2<=K/2

 

sum { M!/(M-K1-K2)! * K!/(K1! * K2)! * 1/M^K * 1/2^K2 : such that K1 + 2*K2 = K}

The "!" means factorial.

Why the command

 

coeff(sum(x^i,i=0..999)^500,x,2) prints

 

Error, unable to compute coeff??

 

I believe, that memory/cpu issues are not a relevant answer here.

 

Already

coeff(sum(x^i,i=0..998)^500,x,2) gives the correct result.

Even

coeff(sum(x^i,i=0..998)^500,x,200) is ok.

How do I compute coeffs of longer sums?Or why this limitation is imposed by Maple Server?


print(`output redirected...`); # input placeholder
   d ph                                                     
   ---- = (1 - yc) pc + yh prj + urd prd + ugd pgd - yc ph,
    dt                                                      

     d pc                        d pa               
     ---- = yc ph - (2 - yc) pc, ---- = pc ya - pf,
      dt                          dt                

     d prj                 d prd                     
     ----- = pa yrj + prj, ----- = pa yrd - prd urd,
      dt                    dt                       

     d pgd                     
     ----- = pa ygd - pgd ugd,
      dt                       

     d pf                                          
     ---- = (1 - ygd - yrj - yrd) pa + (1 - yh) prj
      dt                                           
ics := ph(0) = 1, pc(0) = 0, pa(0) = 0, prj(0) = 0, prd(0) = 0, pgd(0) = 0, pf(0) = 0;
print(`output redirected...`); # input placeholder
   ph(0) = 1, pc(0) = 0, pa(0) = 0, prj(0) = 0, prd(0) = 0,

     pgd(0) = 0, pf(0) = 0

 

i write this equations in maple

but i get this error

 

Error, (in dsolve) ambiguous input: the variables {pa, pc, pf, pgd, ph, prd, prj} and the functions {pa(0), pc(0), pf(0), pgd(0), ph(0), prd(0), prj(0)} cannot both appear in the system

can anyone help me?

 

 

Could someone help me understand what is happening to this procedure. When I run it, I get the subject error. Thanks.

game := proc()
  local player1, player2, roll;
  roll := rand( 1..6 );
  player1 := roll():
  player2 := roll(2):
  if player1>player2 then "A wins"
  elif player1=player2 then "Tie"
  else "B wins"
  end if;
end proc:

Dear friends.

I need a simple approach for reading a specified line of a text file.

FileTools[Text] module allows to count the lines. By sequential reading of lines it's possible to reach any position in the file. But for large file this takes a lot of time.

FileTools[Position] allows to set/get position in the file, but the position is counted in bytes.

Are there any workarounds for the problem or the use of Database Package is more preferable?

This might seem easy but i am a total beginner in Maple and i really need to know how to do this. If i have an expression like this:

X^2 + 3*y + 3*z + X^7

where (y) and (z) are constants of unknown values. I need to integrate the expression over an interval for example (from 1 to 10) so that the answer would still be in terms of (y) and (z).

Would anyone please help me and give me the right expression for writing this on Maple?

Thanks in advance.

In case anyone is interested, we recently posted a new application on the Application Center,

Time Series Analysis: Forecasting Average Global Temperatures

While interesting in itself (well, I think so, anyway), this application also provides tips and techniques for analyzing time series data in Maple, and shows how to access online data sets through the new data sets functionality in Maple 2015.

eithne

I'm looking at Maple as a possible alternative to Mathcad (which I've been using for years, but is now very jaded compared to other options like Maple and Mathematica).  I'm a civil engineer and for what I do, one of the better features of Mathcad is the way it handles units.  For example, if I specify an angle in degrees (say phi=30 degrees) and then ask for sin(phi), I get 0.5.  At face value, I though Maple would do the same kind of thing.  However, this doesn't appear to be the case (see attached worksheet).  The only workaround that I can see is to specify the angle in degrees (but without assigning ) and then multiply the specified value by pi/180 (to convert to radians) before passing it to the sin function.  Which is all a bit messy and not at all an attractive solution.

Am I misunderstanding the way units work in Maple and is there a clean way of specifying angles in degrees (which is what engineers work with) and using these values directy in trig functions?

Thanks in anticipation,

Ian

I am very new to Maple and am wondering how i would install a package. The package I am trying to install is located at

http://math.rutgers.edu/~russell2/papers/IdentityFinder 

I am using Maple 2015 on windows 8. Any advice would be useful

Hi everyone!

I use two "ArrayTools:-Copy" commands to copy elements from Vector A to Vector B.

restart;
A := LinearAlgebra:-RandomVector(10); A := convert(A, Vector[row]);
B := Vector[row](10); ArrayTools:-Copy(2, A, 1, B, 1); ArrayTools:-Copy(2, A, 7, B, 7); B;

My question is: Could I obtain the same result using only one command?

P.S. I tried to use "ArrayTools:-BlockCopy", but didn't get correct result.

 

I want to retrieve all the commands input by user in a maple document saved on disk. How this can be done? DocumentTools:-Retrieve permits to receive only the labeled expressions but not the input commands.

First 44 45 46 47 48 Page 46 of 48