emendes

200 Reputation

6 Badges

3 years, 280 days

MaplePrimes Activity


These are replies submitted by emendes

@acer Many thanks.   I should have thought of that but I didn't.  I hope they fix that in the next version of the manual.  

@nm Many thanks.   In the question above I did miss the first double quotes but unfortunately, I didn't miss them in the command line so the question still stands.  

 

@Carl Love Many thanks.  I guess I won't be able to use Thread since proc1 uses basically solve

Where do I find that a Maple command is threadsafe?   

My problem:

for n from 5 to 7 from 1 do
   ans:=CodeTools:-Usage([Threads:-Seq(proc1(arg1[i],arg2,arg3,arg4)),i=1..nops(arg1))])
   .....
   arg1:=...
end do:

Only arg1 changes.

The loop only works for n=5 (first value).   On the second iteration, Maple returns an error msg.

Error, (in priqueue:-extract) mismatched multiple assignment of 2 variables on the left side and 1 values on the right side

 

 

@Carl Love Thank you.   Indeed it is faster than the previous version.   

@Carl Love 

  1. It is infeasible but at least I can check the sets for small N's.  Say, N=3,4,5,6 and maybe 7.  
  2. Great!  Many thanks.   nterms makes sense, doesn't it?
  3. Okay.
  4. Excellent!  Many thanks. 
  5. Okay,
  6. Okay,
  7. I checked for one specific set, S:={[1,0],[1,1],[1,2],[1,3],[1,5],[2,1],[3,1]} and CondCheck showed me that all conditions were satisfied.  (I must confess that seeing that that particular S does not satisfy condition 3 (which is out and should stay out) gives me a lot to think).  
  8. I am not sure what you meant by one problem at the time. 
  9. N=15 is still running in the Linux server.  As soon as it finishes, I'll try the new Symmetries.  As for the details, I would not dare to ask any questions.  
  10. Okay.  

 

 

 

 

 

 

@Carl Love Many thanks.  It seems that you don't need me to comment on the code.  Your comments say it all. I have nothing to add.  

Question:

  1. Can you explain how the symmetry condition works given an S that fulfills all other conditions? Suppose we have S and the symmetric set S'.  How is S' left out of Result?   

 

I couldn't test if the new code is much faster but I will soon.

Many thanks for CondCheck.  This function will help me to check an earlier idea.   

@Carl Love  Thanks.

FullDeg is much better,  Thank you.

nterms is the function in my answer "Example of parms".  It uses nIs and deg as in the answer.  Since it can be calculated using nIs and deg, I don't see the point of having it as an input parameter.

Doable -  I also think so, that is the reason I asked for help on Grid-Seq in another post.  

The situation after two hours running can be seen below:

Rolling large chunks - We will definitely need that.  Cubic - Binomial(60,30) = 118264581564861424.  No way!   

Since we need all indeterminates presented in index i, can we divide the problem? Binomial(20,?)*Bonomial(20,??)*Binomial(20,???) where ?+??+??? is the n of the tuple we need to find. 

@Carl Love Only writing the examples (the two pdfs) is that I realized that Nonlinear meant nonlinear with a certain degree.

Example1: (Properties_Cubic_3Dforms.pdf):  The highest degree of the polynomial in that example is 3 and the first element to have it is element number 10:  x^3. if I set Nonlinear to 4, the quadratic models will be part of the result.  I don't need them anymore, Symmetries.mw, as it is, gives me all of them. 

Example2:(Properties_Quad_4Dfroms.pdf): The highest degree of the polynomial is 2 and the first element to have it is element number 5: wˆ2. 

I think

nterms(nIs,deg-1)

shows exactly that.   

  1. Agreed. 
  2. No, we have to come up with a better name.  Perhaps Full-D form (short for full dimensional form).  
  3. Great.  I was thinking if SubsetsI contains all subsets of sizes 1..nIs-1, would condition 6 encompass condition 5? 

 

I left the Linux box running the worst-case scenario, that is, 15-tuple. 

@Carl Love I edited my previous msg.

Yes, I meant "real time"> 90.  

@Carl Love I see. I will send my comments soon.  

Unfortunately, Nonlinear is not always equal to nIs +1.  It depends on the degree.   In the first pdf Nonlinear=10 whereas, in the second pdf, Nonlinear=5 (only in this case it is equal to  nIs+1).  I think Nonlinear is given by

nterms(nIs,deg-1)

The attempt here is to choose the first nonlinear term with degree = deg.

Linux - The new implementation worked without showing any msg.  Is there a problem with the Linux version of Maple? The Linux server took more than 90 minutes to finish the job.  I was expecting that it would take less time to finish it. 

@Carl Love I think "many thanks" is a cliche but now.  I can't  thank you enough.  

  1. `#I-D:I``#I-D:J` have to do with all valid systems showing all indeterminates. If it is a four dimension system, I will need that x,y,z and w are in the i's and the j's.  I can't think of better names: Valid-I, Valid-J?  
  2. I am glad to finally sending something useful.  
  3. I am running the new symmetry right now.  As soon as some results are out, I will let you know. Puny machines are the macs I have on my desk! 
  4. Okay. 
  5. Okay. I am afraid to mess up such a fine piece of code but comments if needed I will add them for sure. 

PDFs attached.  Please use 3Dform

Best answer - I will.  Many thanks for reminding me.

Symmetry - You've already done - conds.  

Observation:

  1. In thinking of how to name the conditions and preparing the pdfs, I realized that NoPair does not cover all cases.  For nIs=4, I need to test triplets as well as pairs.  

Properties_Cubic_3Dforms.pdf

Properties_Quad_4Dforms.pdf

 

 

@Carl Love Many thanks again.

Re: Re: Homorbital - What I meant was that your definition makes sense to me. I wasn't aware of the term homorbital. 

Re: Re: counterparts - I wasn't thiking of what is removed but what wasn't part of the solution.  What you did was exactly what I have in mind when sending the post to the list.  Many many thanks. Without your solution I would never be able to further test the sets  (see answer to your question parms).  

Re: Re: arguments: Excellent! Many thanks.  

parms -  Yes, there will always be two indices. Yes, the first index is always $1..nIs. See if the piece of code given below can be of help.

nIs:=4;  # Number of indeterminates (coordinates,variables,states) 
deg:=2;  # degree 
nterms:=(i,j) -> combinat:-numbcomb(i+j,j): # Number of elements
n:=nterms(nIs,deg);
parms:={seq(seq([i,j], i= 1..nIs), j= 0..(n-1))}

Conditions - Please change the names if you want to (I am afraid I will have to use technical terms here)

Condition 1 - Always use all indeterminates (coordinates or system states) -> All

Condition 2 - Always Nonlinear -> Nonlinear

Condition 3 -  Two sets of coordinates cannot have the same equation  - Different 

Condiiton 4 - [i,j] - In an i,j, j cannot contain only indeterminates related to i - nIs-D form I

Condition 5- [i,j]  - j must cover all indeterminates - nIs-D form J

Condition 6 - [i,j] - no j's in pairs - No pairwise indeterminates

Condition 7 - Avoid symmetry - Symmetry

Tables of sets for conditions 4-6 - If you allow me I can send you a pdf that shows a table for the cubic system. Meanwhile I would have to work in another example.

 Symmetries.mw - Many thanks.  I will test it in the linux machine and let you know how it goes.  

Edit 1:  An error msg came out when running symmetries (linux).

@Carl Love Many thanks for the code with all 6 conditions.  I knew it that you would take my sloppy code and transform it into a single line.  Light years beyond my skills. 

Odd situation:  (Mac)  The first time I run the code, it did not finish up for n=4. That usually takes little time to finish.  I quitted Maple on my mac and. run the code again.  This time it worked for n=4, n=7, ...

Linux:  Please see the messages below.  

 

Question:

  1. nIs, the tables and their number in permutations_by_index, TS_5t, T6, parms and {0,1,4}, {0,2,7}, {0,3,9} (the numbers of set can also change)   are problem-dependent. Can they be made arguments as n

 

@Carl Love Thank you ever so much for the thorough explanation.   The permutation concept and ist implication are now much clear.   I wasn't aware of the homorbital definition.  I think my main problem is with computation aspects of it.  cache and remember are not "natural" to me.  I wouldn't know how to use them.  (As usual, I need time to go through it slowly).

Condition 6 - if by counterpart you mean the result of conds (symmetry), the answer is yes. If even the counterpart is no removed right way, Condition 6 will remove it later on.  (I would rather have it removed now than later).   

@Carl Love I am trying some ideas so I would say that it is no longer needed. 

Yes, condition 5  being false automatically disqualifies the counterpart of S.

Condition 6 (I think it encompasses Condition 1) 

TS:=table([0={},1={1},2={2},3={3},4={1},5={1,2},6={1,3},7={2},8={2,3},9={3}]),  # T

# valid 3d forms
	
valid3Dforms := proc(S::set,T::table,Is::set)
description "This functions returns true for a valid 3D form.";
local i,j,res,newTi,newTj;
if Is = op~(1,S) then  # Condition 1 
   i:=op~(1,convert(S,list));
   j:=op~(2,convert(S,list));
   newTi:=table([1={ListTools:-SearchAll(1,i)},2={ListTools:-SearchAll(2,i)},3={ListTools:-SearchAll(3,i)}]):
   newTj:=table([1={op(j[[op(newTi[1])]])},2={op(j[[op(newTi[2])]])},3={op(j[[op(newTi[3])]])}]):
   res:=((newTj[1] union newTj[2]) subset {0,1,2}) or ((newTj[1] union newTj[3]) subset {0,1,3}) or ((newTj[2] union newTj[3]) subset {0,2,3}):
   res:=not res:
else
   res:=false:
end if:
return(res):
end proc,

It only works for this example.  I need to make it work for a different TS.  

1 2 3 4 5 6 7 Last Page 1 of 12