Alec Mihailovs

Dr. Aleksandrs Mihailovs

4495 Reputation

21 Badges

20 years, 341 days
Mihailovs, Inc.
Owner, President, and CEO
Tyngsboro, Massachusetts, United States

Social Networks and Content at Maplesoft.com

Maple Application Center

I received my Ph.D. from the University of Pennsylvania in 1998 and I have been teaching since then at SUNY Oneonta for 1 year, at Shepherd University for 5 years, at Tennessee Tech for 2 years, at Lane College for 1 year, and this year I taught at the University of Massachusetts Lowell. My research interests include Representation Theory and Combinatorics.

MaplePrimes Activity


These are replies submitted by Alec Mihailovs

I didn't take a deep look into this example. I just looked at the picture. On this picture, the theta can not return back, so the curve can not be closed from the right hand side. The only possibility for it to be closed is if turns to the left hand side and closes there. From the picture, it seems as if it reaches infinity soon, instead of turning to the left. In this particular example Maple's performance was not bad - it found a solution even with initial point being that close to a singularity and it plotted the solution that it found. I would rather call it 'very impressive' than unreliable (unless it is wrong, of course.) Did you see the ranges? Numerical calculations with real numbers (or integers, or integers mod p) of moderate ranges, using only elementary functions, are often correct in Maple (except, maybe, few specific algorithms.) That doesn't mean that they shouldn't be double or triple checked if possible, using various methods, but that is just a nature (or culture) of any mathematical work. In general, I think that Maple language is easy to use. It takes some time to learn it, but the same can be said about any other language. _________ Alec Mihailovs http://mihailovs.com/Alec/
I didn't take a deep look into this example. I just looked at the picture. On this picture, the theta can not return back, so the curve can not be closed from the right hand side. The only possibility for it to be closed is if turns to the left hand side and closes there. From the picture, it seems as if it reaches infinity soon, instead of turning to the left. In this particular example Maple's performance was not bad - it found a solution even with initial point being that close to a singularity and it plotted the solution that it found. I would rather call it 'very impressive' than unreliable (unless it is wrong, of course.) Did you see the ranges? Numerical calculations with real numbers (or integers, or integers mod p) of moderate ranges, using only elementary functions, are often correct in Maple (except, maybe, few specific algorithms.) That doesn't mean that they shouldn't be double or triple checked if possible, using various methods, but that is just a nature (or culture) of any mathematical work. In general, I think that Maple language is easy to use. It takes some time to learn it, but the same can be said about any other language. _________ Alec Mihailovs http://mihailovs.com/Alec/
'recent posts' link at the lhs is quite useful - if there is a new blog (or forum) post - it is usually there (except if the category is not specified.) __________ Alec Mihailovs http://mihailovs.com/Alec/
I found interesting that comp.soft-sys.matlab is listed there, but comp.soft-sys.math.maple - not. This site is also not listed. __________ Alec Mihailovs http://mihailovs.com/Alec/
soln(0.1);

Error, (in soln) cannot evaluate the solution further right of .59709089e-23, probably a singularity

soln(-0.1);

Error, (in soln) cannot evaluate the solution further left of -.59709089e-23, probably a singularity
Still, it can be plotted as
plot(R,-.59e-23..0.59e-23,coords=polar);
or
plots[polarplot](R,-.59e-23..0.59e-23);
__________ Alec Mihailovs http://mihailovs.com/Alec/
soln(0.1);

Error, (in soln) cannot evaluate the solution further right of .59709089e-23, probably a singularity

soln(-0.1);

Error, (in soln) cannot evaluate the solution further left of -.59709089e-23, probably a singularity
Still, it can be plotted as
plot(R,-.59e-23..0.59e-23,coords=polar);
or
plots[polarplot](R,-.59e-23..0.59e-23);
__________ Alec Mihailovs http://mihailovs.com/Alec/
If you provided a complete example, so that I could copy and paste it in Maple, I would post the right code (the same with animation - I am kinda busy at the moment). __________ Alec Mihailovs http://mihailovs.com/Alec/
If you provided a complete example, so that I could copy and paste it in Maple, I would post the right code (the same with animation - I am kinda busy at the moment). __________ Alec Mihailovs http://mihailovs.com/Alec/
Very similar,
_EnvAllSolutions:=true:
                     
_EnvExplicit:=true:

solve({seq(i,i=A.A-E),seq(i,i=B.B-E),seq(i,i=A.B+B.A)});

               2
         -1 + h                        2 h
  {g = - -------, b = 0, a = -1, c = - ---, h = h, d = 1, e = -h,
            f                           f

                                      2
                     2 h        -1 + h
        f = f}, {c = ---, g = - -------, b = 0, h = h, d = -1, a = 1,
                      f            f

        e = -h, f = f},

        {e = -1, h = 1, b = b, f = 0, g = 0, d = 0, c = 1/b, a = 0},

        {h = -1, b = b, e = 1, f = 0, g = 0, d = 0, c = 1/b, a = 0},

                                                    2 d
        {e = -1, h = 1, d = d, f = 0, a = -d, b = - ---,
                                                     g

                   2
            (-1 + d ) g
        c = -----------, g = g}, {h = -1, d = d, e = 1, f = 0, a = -d,
                2 d

                              2                          2
            2 d        (-1 + d ) g                 -1 + h
        b = ---, c = - -----------, g = g}, {g = - -------, b = b,
             g             2 d                        f

                                  b h + %1
        h = h, e = -h, f = f, d = --------,
                                     f

                                     2
            -2 (b h + %1) h - b + b h         b h + %1
        c = --------------------------, a = - --------}, {
                         2                       f
                        f

                    2
              -1 + h                                    b h - %1
        g = - -------, b = b, h = h, e = -h, f = f, d = --------,
                 f                                         f

                                     2
            -2 (b h - %1) h - b + b h         b h - %1
        c = --------------------------, a = - --------}
                         2                       f
                        f

          2    2 1/2
  %1 := (f  + b )

seq(eval(['A'=A,'B'=B],i),i=%);

       [ -1      0]                [ 1      0]
       [          ]                [         ]
  [A = [  2 h     ], B = %1], [A = [2 h      ], B = %1],
       [- ---    1]                [---    -1]
       [   f      ]                [ f       ]

             [ 0     b]      [-1    0]
        [A = [        ], B = [       ]],
             [1/b    0]      [ 0    1]

             [ 0     b]      [1     0]
        [A = [        ], B = [       ]],
             [1/b    0]      [0    -1]

             [                 2 d]
             [    -d         - ---]
             [                  g ]      [-1    0]
        [A = [                    ], B = [       ]],
             [       2            ]      [g     1]
             [(-1 + d ) g         ]
             [-----------      d  ]
             [    2 d             ]

             [                 2 d]
             [     -d          ---]
             [                  g ]      [1     0]
        [A = [                    ], B = [       ]],
             [         2          ]      [g    -1]
             [  (-1 + d ) g       ]
             [- -----------     d ]
             [      2 d           ]

             [          b h + %2                    ]
             [        - --------               b    ]
             [             f                        ]
             [                                      ]
        [A = [                         2            ], B = %1],
             [-2 (b h + %2) h - b + b h     b h + %2]
             [--------------------------    --------]
             [             2                   f    ]
             [            f                         ]

             [          b h - %2                    ]
             [        - --------               b    ]
             [             f                        ]
             [                                      ]
        [A = [                         2            ], B = %1]
             [-2 (b h - %2) h - b + b h     b h - %2]
             [--------------------------    --------]
             [             2                   f    ]
             [            f                         ]

        [   -h        f]
        [              ]
  %1 := [        2     ]
        [  -1 + h      ]
        [- -------    h]
        [     f        ]

          2    2 1/2
  %2 := (f  + b )
__________ Alec Mihailovs http://mihailovs.com/Alec/
Very similar,
_EnvAllSolutions:=true:
                     
_EnvExplicit:=true:

solve({seq(i,i=A.A-E),seq(i,i=B.B-E),seq(i,i=A.B+B.A)});

               2
         -1 + h                        2 h
  {g = - -------, b = 0, a = -1, c = - ---, h = h, d = 1, e = -h,
            f                           f

                                      2
                     2 h        -1 + h
        f = f}, {c = ---, g = - -------, b = 0, h = h, d = -1, a = 1,
                      f            f

        e = -h, f = f},

        {e = -1, h = 1, b = b, f = 0, g = 0, d = 0, c = 1/b, a = 0},

        {h = -1, b = b, e = 1, f = 0, g = 0, d = 0, c = 1/b, a = 0},

                                                    2 d
        {e = -1, h = 1, d = d, f = 0, a = -d, b = - ---,
                                                     g

                   2
            (-1 + d ) g
        c = -----------, g = g}, {h = -1, d = d, e = 1, f = 0, a = -d,
                2 d

                              2                          2
            2 d        (-1 + d ) g                 -1 + h
        b = ---, c = - -----------, g = g}, {g = - -------, b = b,
             g             2 d                        f

                                  b h + %1
        h = h, e = -h, f = f, d = --------,
                                     f

                                     2
            -2 (b h + %1) h - b + b h         b h + %1
        c = --------------------------, a = - --------}, {
                         2                       f
                        f

                    2
              -1 + h                                    b h - %1
        g = - -------, b = b, h = h, e = -h, f = f, d = --------,
                 f                                         f

                                     2
            -2 (b h - %1) h - b + b h         b h - %1
        c = --------------------------, a = - --------}
                         2                       f
                        f

          2    2 1/2
  %1 := (f  + b )

seq(eval(['A'=A,'B'=B],i),i=%);

       [ -1      0]                [ 1      0]
       [          ]                [         ]
  [A = [  2 h     ], B = %1], [A = [2 h      ], B = %1],
       [- ---    1]                [---    -1]
       [   f      ]                [ f       ]

             [ 0     b]      [-1    0]
        [A = [        ], B = [       ]],
             [1/b    0]      [ 0    1]

             [ 0     b]      [1     0]
        [A = [        ], B = [       ]],
             [1/b    0]      [0    -1]

             [                 2 d]
             [    -d         - ---]
             [                  g ]      [-1    0]
        [A = [                    ], B = [       ]],
             [       2            ]      [g     1]
             [(-1 + d ) g         ]
             [-----------      d  ]
             [    2 d             ]

             [                 2 d]
             [     -d          ---]
             [                  g ]      [1     0]
        [A = [                    ], B = [       ]],
             [         2          ]      [g    -1]
             [  (-1 + d ) g       ]
             [- -----------     d ]
             [      2 d           ]

             [          b h + %2                    ]
             [        - --------               b    ]
             [             f                        ]
             [                                      ]
        [A = [                         2            ], B = %1],
             [-2 (b h + %2) h - b + b h     b h + %2]
             [--------------------------    --------]
             [             2                   f    ]
             [            f                         ]

             [          b h - %2                    ]
             [        - --------               b    ]
             [             f                        ]
             [                                      ]
        [A = [                         2            ], B = %1]
             [-2 (b h - %2) h - b + b h     b h - %2]
             [--------------------------    --------]
             [             2                   f    ]
             [            f                         ]

        [   -h        f]
        [              ]
  %1 := [        2     ]
        [  -1 + h      ]
        [- -------    h]
        [     f        ]

          2    2 1/2
  %2 := (f  + b )
__________ Alec Mihailovs http://mihailovs.com/Alec/
Well, you can catch it using lasterror. Something like
try soln(100000) catch: lasterror[-1] end;
 
                              0.90133000
That should work well together with stop_cond, as Allan Wittkopf suggested. It should be written more carefully though. __________ Alec Mihailovs http://mihailovs.com/Alec/
Well, you can catch it using lasterror. Something like
try soln(100000) catch: lasterror[-1] end;
 
                              0.90133000
That should work well together with stop_cond, as Allan Wittkopf suggested. It should be written more carefully though. __________ Alec Mihailovs http://mihailovs.com/Alec/
I would choose the value of t where soln stops,
f(.90133);
                                             -5
                      0.727908994686135296 10
It is already close enough to 0 for the precision of your initial conditions. __________ Alec Mihailovs http://mihailovs.com/Alec/
First 141 142 143 144 145 146 147 Last Page 143 of 180