ecterrab

13431 Reputation

24 Badges

19 years, 362 days

MaplePrimes Activity


These are replies submitted by ecterrab

@J F Ogilvie 

Replacing assume by this new Physics:-Library:-Assume would not be appropriate at this point, after so many years of existence of assume. If we were to do that, worksheets or programs already developed by people and that rely on, or make use of the redefinition of variables performed by the old assume, might then require adjustements, because removing this inconvenient redefinition is actually the main feature of this new Physics:-Library:-Assume.

On the other hand, after a week using this new Physics:-Library:-Assume, the advantages are so obvious that Physics:-Library:-Assume could better be a user level command, instead of one somehow hidden two package-levels within Physics.

A similar situation happens with this new functionality, automaticsimplification, as well as the redefinesum and combinepowersofsamebase, all of them current computing-mode options of the Physics package, that introduce functionality very useful also outside the framework of Physics. 

Likewise, PDEtools:-declare, PDEtools:-Solve and PDEtools:-casesplit have highly regarded functionality useful beyond differential equations, as well as the commands for performing Union and Intersection of regions of the complex plane expressed algebraically, both currently within the MathematicalFunctions package.

But things also change with time. The originally internal solver of ODEtools, called `ODEtools/Solve` ended up as a useful addition to solve; the code under `ODEtools/first_integral` got renamed as int/homotopic and is nowadays an important part of int, the same way as internal DE code formerly developed to compute certain kind of elliptic integrals, and the current `int/parallel`, also former DE code for integration. In the same line, IntegrationTools:-Change is actually a wrapper around PDEtools:-dchange. Or more important, the internal DE code to manipulate assumptions related to DE parameters ended up as the skeleton of the current assuming command, the internal DE conversion routines for mathematical functions related to DE special function solutions are today the skeleton of the FunctionAdvisor, the routines for compacting DE solutions are now known as simplify(expresion, size), also now at the core of this new automaticsimplification of Physics, and etc. the list is large.

All this is to say that the PhysicsPDEtools and MathematicalFunction packages are also, somehow, small powerhouses for these developments. That is good, as opposed to "bad because of happening within packages". Let's see the filled part of the cup. And when the development is very good it often ends up available as a user-level command in one way or another.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Markiyan Hirnyk 

{1+I*y : y>=0} union {-1+I*y : y<=0} is not a branch cut of sqrt(1-z^2). Just clarifying. Having said that, yes, a command of the form is(..., branch_cut of ...) would be useful. All the tools for developing it are already in place; these are the hidden exports of MathematicalFunctions, `&Intersect`, `&Minus`, `&Union`, that I still need to document.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

The reference you are mentioning actually corresponds to the work of the U.Bath group previous to Maple 17. The actual reference describing the Maple 17 implementation is:

"England, M., Cheb-Terrab, E., Bradford, R., Davenport, J. and Wilson, D. (2013) Branch Cuts in Maple 17. ACM Communications in Computer Algebra, 48 (1). pp. 24-27. ISSN 1932-2232"

The main reference for computer algebra implementations of the computation of branch cuts is anyway 

"A. Dingle and R.J. Fateman. Branch cuts in computer algebra. In Proceedings of ISSAC ’94, pages 250–257, 1994."

The method used by the U.Bath group, that is the departure point for the Maple 17 implementation, is in fact mentioned in this paper from 1994.

In both papers, the one from 1994 and the one from 2014, it is pointed out that the difficult part is the detection of spurious cuts (in order to not return them as if they were actual cuts). Despite the terminology, spurious cuts are easy to understand: they basically happen when different sub-expressions of one expression have cuts that intersect over some segments but with opposite signs, cancelling each other over those intersecting segments. Ie over those segments there are no branch cut. All the computer algebra implementations of computation of branch cuts previous to Maple 18 have trouble in detecting these intersecting segments.

New in Maple 18, however, spurious cuts that are over the real axis are actually detected (ie are not returned). The algorithm implemented in Maple 18 is new, so not described in any of the two papers above. This algorithm was developed entirely at Maplesoft. Through rotations, this algorithm can be extended to cover straight segments anywhere over the complex plane, and there is a way (more complicated, but doable) to also cover non-straight segments.

I still need to find the time to do the writeup of the algorithm implemented in Maple 18, then present the resulting description for publication elsewhere, as well as to finish extending the implementation as said in the previous paragraph. Not so soon ... For now I'm rather busy with the Physics package, mainly new developments for general relativity and covering some gaps in functionality for particle physics.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Andriy 

 

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@nm 
Other people already requested the automation of the installation of Physics updates by means of a mini-installer. Tha would save having to unzip, read installation instructions, move files around etc. These requests were forwarded to the people who take care of that at Maplesoft.

Note anyway that there are two different things: having a mini-installer for the update and having a button to check for updates. The latter is more complicated in that it requires a change in the GUI ... perhaps in a future release. Also, currently, updates hare happening mostly everyday, so a button to 'check for updates' would be redundant. The relevant step ahead today, I think, would be to have a mini-installer for these updates.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Updates for Physics are available on the Maplesoft R&D Physics webpage around the clock, posted every week, and include bug fixes (e.g. those reported here in Mapleprimes) and also new developments, functionality.

Maple 18.02 includes all the changes that happened in the package till July/30, that are listed below in a linked PDF, as well as in a linked worksheet including examples for all the changes. 

Likewise all the changes that happened in the differential equation programs and the MathematicalFunctions package till July/30, made available for download along the year on the Maplesoft R&D DEs and Mathematical Functions webpage, are also included in Maple 18.02.

The update being distributed for Physics in its Maplesoft R&D webpage, however, includes a substantial number of further changes and new functionality not present in Maple 18.02. To mention but one, there is a new Tetrads subpackage for General Relativity. These further changes include all the fixes and new developments from August/1 till today, and run natively in the new Maple 18.02 just released.

NOTE: If you have been updating Physics till recently, installing Maple 18.02 will automatically reset the changes in Physics to July/30, which is not a problem: to activate all the changes from August/1 till today please update Physics again, as said downloading it from the Maplesoft R&D Physics webpage.

The links mentioned: a PDF describing the changes in Physics included in Maple 18.02 and Worksheet to reproduce the changes in Physics 18.02 described in the PDF.

 

  

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@NOh 

I cannot explain why the website suddenly loses contents. It happened other times with other people too. The contents is there for a while, after uploading, and then, sometimes, suddenly, it is not there anymore. It was reported. I thought it was fixed. Unfortunately it is still happening.

I uploaded the worksheet again.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@guyp 

Yes, it would be interesting to have these issues fixed directly in sum instead of having to redefine sum. Note anyway that the redefinition mentioned, is already a core Maple procedure, and the whole Physics package is too. This issue is pretty relevant in Physics, where we keep entering these sums and not understanding why these unexpected results.

But there are more things to take into account: some people would prefer to see multi-index summation directly in the add command, while others would prefer to not change the premature evaluation because they take advantage of that (sum is a command with more than 30 years around), etc.

The issue is then debatable, and I personally would also prefer to just fix the standard and old Maple sum command for everybody, and just be sorry if someone was taking advantage of this premature evaluation. But for now what we have is this redefinition provided, it concretely fixes the core sum command (it does exactly what we would do if we were to fix this problem in sum), is provided as an official approach to the problem, and tries to address all these different things mentioned at once.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi NOh

I'm pretty busy in this moment - will give a look at this and return some feedback hopefully by the end of tomorrow. Meantime, it would help concretely when revising/optimizing your code if you could explain, before that review, in few words (say a paragraph per routine), what is what you are trying to achieve with each of these routines you have programmed.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi Age

Sounds like a good idea to me. Regarding the problem you mentioned in this first post, it is more a GUI issue, where % and (2) are not exactly the same thing (they should). Independent of that I tweaked the Physics code to avoid this GUI subtlety. So the two results are the same, equal to 1, and in that sense the problem is fixed (not the underlying GUI issue though). The adjustment can be downloaded as an update to the Physics package from the usual place, the Maplesoft R&D Physics webpage.

Independent of that: note there is a distinction between `.` and `*`, and when you compute algebraically the operation is `*`. The code takes care of this duality in some places but using `.` to perform algebraic (non-matricial and non Bra, Ket stuff) you will not always get the operation performed.

There were other posts in Mapleprimes regarding how to implement the algebra of Pauli matrices using commutators and anticommutators. The plan is to have these algebras known by the system, so that nobody needs to enter them, but that is still not implemented. This week and perhaps the next one I will still be working on tetrads.

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Age 

I see now clearly the issue you are pointing at, and indeed your logic is perfect. The problem was as mentioned in the third bulled of my previous response here, I still need to make complete the implementation of tetrad indices, in this example, a routine that was only working with spacetime indices, detected a contravariant index and it lowered using the spacetime metric, but the index is a tetrad one, so the tetrad metric should have been used instead. This problem would turn visible if: a) you enter the right-hand side of the definition as a matrix and b) the tetrad index is contravariant, and if any of a) or b) wouldn't happen, the problem would not be visible. It is fixed now and the fix available at the usual place, the Maplesoft R&D Physics webpage.

This latest version of Physics also has an important step in the implementation of tetrads. Say you define a tensor giving its spacetime components, as in A[mu,nu] = (some tensorial expression or a Matrix, or an Array if there are more than 2 indices, etc.). What are the components of, say, A[~a, mu]? or A[a, ~b]? or any combination of covariant/contravariant/ and spacetime/tetrad indices? It is now implemented.

It follows an image showing the fix and this novelty illustrated with your example.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Age 

Thank for your feedback, it's been useful, very, and please, if this is not a burden for you, keep posting any problem you find, here in Mapleprimes or writing to physics@maplesoft.com (I prefer in Mapleprimes, because everybody interested in Physics learns something with the exchange. And the package grows more and more with yours and other's feedback.

Regarding the specific issue of tetrads, you know, it is a new development. What works already, works pretty well, I think, but not everything is implemented.

And what is and what is not yet there? Skipping the little details, the design is that now you can compute with the tensor A, as in A[mu] or A[a] in equal footing, and representing different objects: A[mu] are the components in the global coordinates (g_[mu,nu] metric) system while A[a] are the components in the local (tetrad eta_[a,b] metric) system.

This requires:

  • Ability to define a tensor with spacetime or tetrad indices: implemented.
  • Ability to compute the components when you raise any of these different indices: implemented - your example today actually works fine for me - please see below.
  • Ability to compute the tetrad (spacetime) components when the definition was in terms of spacetime (tetrad) components: not implemented yet. Eg you define a tensor giving its spacetime components, say as in A[mu,nu] = g_[mu,nu] and you ask A[mu, b, matrix].
  • Ability to perform operations (all Physics commands dedicated to general relativity) distinguishing the case (the index is spacetime or tetradic): not implemented yet, though a new Library routine for making this possible is already in place, called Library:-RewriteTypeOfIndices (see below). To mention but one example of things not implemented yet: d_[mu] and d_[nu] commute, of course, but d_[a] and d_[b] do not.

And in what is already implemented I still expect we will find things to adjust furthermore, here or there, the code is pretty new. But as said what is in place is already working very-very well, and I am happy to handle your next bug reports rapidly if there are any. Your suggestions (not necessarily bug reports) are also welcome.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Age 

It is great that you are providing this early feedback on tetrads/GR - many thanks - not many people in this forum work in the area.

The problem you mentioned is now fixed. The fix is available for download in the usual place, the Maplesoft R&D Physics webpage. The extension of the tensor machinery of the package to handle tetradic and spacetime indices at the same time, will probably require some more touches here or there, it is a large portion of code.

Attached is also revision of your worksheet with some comments; mainly: you indicate which repeated indices are contravariant (you can, but there is no need for that), and you explicitate the metric for performing the contractions (also you can but do not need), or you sum over repated indices before calling TensorArray - this too is not necessary. It is true however that, when we want to verify things, doing it the way you present may be helpful to identify where is that things are not as expected.

TensorArray_Tetrads(reviewed).mw

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

@Age 

It was not a problem in your machine. The package was under a reorganization, it is adjusted now, you'd need to updated Physics again, as usual from the Maplesoft R&D Physics webpage.

With the reorganization, Tetrads is now visible when you enter with(Physics); and all of the 8 related tensors, the four that have tetradic indices as well as the four spacetime null vectors of the NP formalism are all now part of the subpackage. I reorganized accordingly the NullVectors.mw temporary presentation.

The idea for this week is to have the Ricci rotation coefficients and the Weyl NP scalars implemented. Let's see. All these GR developments are really nice and it is exciting how these otherwise complicated matters become so accesible. 

Thanks also for your feedback, Age, both for the comments about the package and the pointing to this Physics:-Print issue.

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

Hi

I do not see the system of polynomial equations you mention, nor I see the metric or related line element of the problem. If you could please clarify your post?

Edgardo S. Cheb-Terrab 
Physics, Differential Equations and Mathematical Functions, Maplesoft

First 41 42 43 44 45 46 47 Last Page 43 of 60