John Fredsted

2238 Reputation

15 Badges

20 years, 164 days

MaplePrimes Activity


These are Posts that have been published by John Fredsted

I am working on a new package, called "Spacetime", which I intend should be able to treat any physical field, either tensorial (integer-valued spin, like the photon) or spinorial (half-integer valued spin, like the electron) on any curved Riemannian manifold (gravity, according to Einstein). Anyway, for the Maple specific part: I have decided to implement these general fields as multi-dimensional Arrays, analogous to the older package "Gravitation", which "Spacetime" is intended to replace. They may have some symmetries and/or antisymmetries among their various indices. That part, that is, setting up the appropiate indexing functions, even in the general case, I have solved.
I have twelve 4x4 matrices with specific complex-valued entries. I would like to know if they are linear independent over the reals. Is there some feature of Maple that enables me to do that easily? I've tried adding together all the matrices, each separately multiplied by an unspecified algebraic number, and then to use solve(). But I don't trust the result, partly because it becomes rather tedious, partly because the package RealDomain, with which I've no experience, has to be invoked in order to avoid producing a false solution of linear dependence over the complex numbers. I've also tried defining a 12x12 matrix consisting of bilinear traces of the matrices, analogous to the Cartan matrix in Lie algebra theory, and then taking the determinant to test for degeneracy.
Why is something like
V := Vector(2,(i) -> Matrix(3,3));
not equivalent to
V := Vector([Matrix(3,3),Matrix(3,3)]);
which raises the error "Error, (in Vector) initializer list contains elements of width > 1 and depth > 1", but instead equivalent to
V := Vector([[Matrix(3,3)],[Matrix(3,3)]]);
Why the need for extra pairs of [...]?
Yesterday I was astonished to discover that the information in the fields "About Me" and "Contact and Profile Information" had vanished, or, more precisely, had been rolled back to some older version. Naturally, since then I've tried to remedy that by reentering the newest version (remembering, of course, to click the submit button), but to no avail, or, more precisely: it works fine as long as I do not log out; after logging in again the information have gone to the 'eternal cyberspace fields of lost bits and bytes'. Have anyone else experienced the same odd behaviour? I should say that I have also tried to hit the refresh button (F5) of my browser, and tried erasing all temporary- and offline files, but also to no avail.

In order to get better acquainted with the plotting facilities of Maple I thought I would try to plot the Möbius strip. In the proces I generalized the task so that I would be able to plot a ribbon twisted an arbitrary number of times. From these efforts the following code resulted:

with(plots):
radiusVector := (phi) -> Vector([cos(phi),sin(phi),0]):
ribbonVector := (phi) -> Vector([-sin(phi)*cos(phi),-sin(phi)*sin(phi),cos(phi)]):
p := (twist,theTitle,theOrientation) -> plot3d(
   radiusVector(phi) + t*ribbonVector(twist*phi),phi=0..2*Pi,t=-0.3..0.3,
   title=theTitle,orientation=theOrientation,grid=[100,10],scaling=constrained
):

Below follow two examples: 1. Ribbon with 1/2 twist: The Möbius strip:

display(p(1/2,"Ribbon with 1/2 twist: The Möbius strip",[200,70]));

 

2. Ribbon with 1/1 twist:

display(p(1/1,"Ribbon with 1/1 twist",[40,60]));

First 7 8 9 10 11 12 Page 9 of 12