dharr

Dr. David Harrington

8330 Reputation

22 Badges

21 years, 3 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a retired professor of chemistry at the University of Victoria, BC, Canada. My research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are replies submitted by dharr

@janhardo There is a DynamicSystems package in newer versions of Maple that might be relevant.

@acer  OK, I see. I thought that was the plot required. It seems natural to want Nu to actually display as the Greek letter that it is.

@ahmadtalaei The solution given suggests the solution can't be written in that form. But if it can, then you should suggest a change of variables and use dchange to perform the change of variables, and then use pdsolve it the new variables.

@mmcdara  I took the OPs comment that points 13 etc repeated to mean point 13 was the same as point 1, i.e., the period is 12.

@vs140580 To find the longest of all paths is not just a trivial modification of the above, and I am out of time to make another algorithm. But for the above algorithm between two vertices, already the HypercubeGraph(4) is going to take forever and that only searches some of the subsets - as @Carl Love says it is a difficult problem. 

@fati1988 I am only giving help through this forum.

@fati1988 The problem is not well specified. What do you want if l::even, p::odd, l_prim::odd, p_prim::odd? There is some sort of pattern here that you should figure out because at the moment you will have to specify 16^2=256 conditions. 

@Anthrazit  If you use Do(%TextArea0(Enabled))  instead of your GetProperty(TextArea0,Enabled), the code works, since you have already done with(DocumentTools) to make Do available.

This is a command in the DocumentTools package. (isearching Help for Do in my version of Maple, it's the third option returned). If you right-click on the TextArea component and choose Edit Content Changed Action, then in that code edit area there is a mini-tutorial about it. It does both GetPoperty and SetProperty in a simple way.

I don't see any options for this. The letters and numbers are there as outline curves with many nodes. So they can easily be resized or recolored or moved in an editing program (I use Coreldraw), but the font can't be changed short of replacing them. 

@lak Sorry, I don't give help outside this forum, but there is lots of good help here. 

The NullSpace command in the LinearAlgebra package will be useful here.

@vv For a system where all the parameters are within a few orders of magnitude of unity, it makes sense to interpret something like 10^(-18) as just a numerical zero and not significant. However, here the equilibrium constants are very far from 1, and so we expect some concentrations to be very small. So for a well-posed physical problem, there will be a unique physical solution with positive concentrations among other nonphysical solutions with some negative concentrations.

For the three independent reactions here if we neglect interactions betweem molecules (set all the u_X variables to 1), then the first 6 equations will have a unique physical solution in which we expect the concentrations of H+ and OH- and the ion-pair HCl to be very small.

The other equations are about the interactions between molecules and mean that the u_X quantities depart from 1, but not by that much - see the plot. These are empirical equations and need not be physically self-consistent, and can lead to there being no solution at all in the physical regime. On the other hand if the solution is comparable to the one for eqns 1-6 with the u_X =1, which seems to be the case here though I didn't check it quantitatively, then there is good reason to think that the solution is physical and that the small positive concentrations are not just numerical zeroes.

@kfli I realised that if you have a dc component, then you don't use a factor of two for that, which gives the clue to its origin.

Only the first half of the frequencies are used because, for transformation of a real signal, the second half of the frequencies have redundant information - the real parts are symmetric and the imaginary parts are antisymmetric with respect to the centre frequency. (The second half of the frequencies can be considered negative frequencies or duplicates). So if you look only at the first half you need a factor of two to account for the second half that you neglected. But the dc component does not have a matching part in the second half and so doesn't need a factor of 2. (The Nyquist frequency also does have a matching frequency, must be purely real, and does not require the factor of 2

@vv @mmcdara

The following code cuts down by n!*(n-1)! by cutting down permutations of the columns and then permutations of the rows except the first. The Iterator package would be better for faster code but I didn't try it.  There are some known results about diagonal dominance and invertibility that might help out but I'm guessing that testing for these would still be non trivial.

S    := 0:
n    := 3;
N    := n^2:
COMB:=choose(N,n): #combinations for first row
nums:=[$1..N]:
for comb in COMB do
  M:=Matrix(n,n);
  M[1,..]:=Vector[row]([comb[1..n]]);
  clist:=remove(has,nums,comb);
  COMB2:=choose(clist,n-1);  #combinations for rest of first column
  for comb2 in COMB2 do
    M[2..,1]:=Vector([comb2]);
    plist:=remove(has,clist,comb2);
    PERM:=permute(plist);   # permutations of the rest  
    for perm in PERM do
      Ms:=Matrix(n-1,n-1,perm);
      M[2..,2..]:=Ms;
      if LinearAlgebra:-Determinant(M)=0 then S := S+1; end if:
    end do:
  end do:
end do:
S*n!*(n-1)!;

HowManyMatricesAreSingular.mw

@nrussoniello Here's an example. The 1,1 entry is zero because it has to be for an antisymmetric matrix, and the shape=antisymmetric also forces the 1st column entries when the first row is inserted.
 

with(LinearAlgebra):

A:=RandomMatrix(4,4,shape=antisymmetric);

A := Matrix(4, 4, {(1, 2) = -77, (1, 3) = -98, (1, 4) = 33, (2, 3) = 87, (2, 4) = -18, (3, 4) = -38, }, storage = triangular[upper,strict], shape = [skewsymmetric])

S:=Vector[row](4,i->cat('s',i));

S := Vector[row](4, {(1) = s1, (2) = s2, (3) = s3, (4) = s4})

B:=Matrix(5,5,shape=antisymmetric):

B[2..,2..]:=A:
B[1,2..]:=S:
B;

Matrix([[0, s1, s2, s3, s4], [-s1, 0, -77, -98, 33], [-s2, 77, 0, 87, -18], [-s3, 98, -87, 0, -38], [-s4, -33, 18, 38, 0]])

 

 

Download Border.mw

First 67 68 69 70 71 72 73 Last Page 69 of 87