Yes, at first, but I have fixed that and some other small issues
regarding this problem. Try running with [2] to see the error that I can
not fix.

Aslak

Den torsdag 24. juli 2014 skrev Nico Schlömer <[email protected]>
følgende:

> Ah, wait a minute; do you get
> ```
> AttributeError: 'list' object has no attribute 'dtype'
> ```
> ?
>
> --Nico
>
> On Thu, Jul 24, 2014 at 6:32 PM, Nico Schlömer <[email protected]
> <javascript:;>> wrote:
> > The test passes for me.
> >
> > --Nico
> >
> > On Thu, Jul 24, 2014 at 6:06 PM, Aslak Bergersen
> > <[email protected] <javascript:;>> wrote:
> >> I have added a test for 1D now, you can see it in [2].
> >>
> >> Yes, I was talking about [1].
> >>
> >> Aslak
> >>
> >> [2]
> >>
> https://bitbucket.org/aslakbergersen/fiat/branch/aslakbergersen/topic-prepare-py3
> >>
> >>
> >> 2014-07-24 17:31 GMT+02:00 Nico Schlömer <[email protected]
> <javascript:;>>:
> >>
> >>> > The code is a little opaque and the returned data structure is a mix
> of
> >>> > lists and tuples and
> >>> > numpy arrays that differ between 2D and 1D and is not documented
> well.
> >>>
> >>> Indeed! When I dived into the code it was hard to figure out what data
> >>> structure is needed since everything seems quite convoluted at first.
> >>> Cleanup and documentation is needed here.
> >>>
> >>> --Nico
> >>>
> >>> On Wed, Jul 23, 2014 at 3:28 PM, Martin Sandve Alnæs <
> [email protected] <javascript:;>>
> >>> wrote:
> >>> > Note: This is about 1D elements, not linear.
> >>> >
> >>> > Aslak, can you link to the bitbucket branch where you've fixed some
> of
> >>> > the
> >>> > other issues with Nicos branch, so others can download it and get to
> the
> >>> > issue?
> >>> >
> >>> > Basically the tabulate_derivative method doesn't return a data
> structure
> >>> > in
> >>> > the right format so indexing errors occur. The code is a little
> opaque
> >>> > and
> >>> > the returned data structure is a mix of lists and tuples and numpy
> >>> > arrays
> >>> > that differ between 2D and 1D and is not documented well.
> >>> >
> >>> > Martin
> >>> >
> >>> >
> >>> >
> >>> > On 23 July 2014 13:59, Aslak Bergersen <[email protected]
> <javascript:;>>
> >>> > wrote:
> >>> >>
> >>> >> Hi!
> >>> >>
> >>> >> I found an error in your implementation in fiat, Nico. And I'm
> having
> >>> >> some
> >>> >> trouble removing it. It is an error for all linear elements (which
> is
> >>> >> not
> >>> >> tested by fiat), and can be easy be reconstructed by running
> >>> >>
> >>> >> element = FiniteElement("Lagrange", interval, 1)
> >>> >>
> >>> >> The problem seems to be that tabulate_derivative in
> LineExpansionSet is
> >>> >> not changed to return the same as tabulate_derivative in
> >>> >> TriangleExpansionSet and TetrahedronExpansionSet. Is there an easy
> fix
> >>> >> for
> >>> >> this?
> >>> >>
> >>> >> Aslak
> >>> >>
> >>> >>
> >>> >> 2014-06-29 22:31 GMT+02:00 Nico Schlömer <[email protected]
> <javascript:;>>:
> >>> >>
> >>> >>> > Changing idioms
> >>> >>> > 2py3 changes idioms that are "outdated". When running the script
> it
> >>> >>> > changes
> >>> >>> > type(t) != type(q)  to not isinstance(t, type(q)). Is this this
> >>> >>> > something I
> >>> >>> > should do?
> >>> >>> >
> >>> >>> > Python syntax
> >>> >>> > The 2to3 scripts have the possibility to change the comma-syntax
> to
> >>> >>> > correct
> >>> >>> > python syntax. For example, it changes (a,b) to (a, b). Should I
> run
> >>> >>> > this on
> >>> >>> > the files as well?
> >>> >>>
> >>> >>> Those are things that Python2 linters like
> >>> >>>
> >>> >>> pep8
> >>> >>> pyflakes
> >>> >>> flake8
> >>> >>>
> >>> >>> usually bring up too. I would say that getting FEniCS clean w.r.t.
> to
> >>> >>> those three (largely overlapping) improves the code readability and
> >>> >>> quality.
> >>> >>>
> >>> >>> Cheers,
> >>> >>> Nico
> >>> >>>
> >>> >>>
> >>> >>> On Fri, Jun 27, 2014 at 9:21 AM, Aslak Bergersen
> >>> >>> <[email protected] <javascript:;>> wrote:
> >>> >>> > Hi!
> >>> >>> >
> >>> >>> > I have some questions about the supporting to python 3.x. You can
> >>> >>> > take
> >>> >>> > a
> >>> >>> > look at the changes I have done if you want (or need).
> >>> >>> >
> >>> >>> > Testing with python 3.3
> >>> >>> > I have installed python 3.3 such that I can use it when I want
> (e.g.
> >>> >>> > py3
> >>> >>> > script.py). However, when I'm running the tests all the
> dependencies
> >>> >>> > are
> >>> >>> > missing (For now I'm running python -3). So how do I build it
> with
> >>> >>> > python 3?
> >>> >>> >
> >>> >>> > Support python 3.1
> >>> >>> > callable() returned in python 3.2, so there is no need to change
> it,
> >>> >>> > unless
> >>> >>> > we want to support python 3.1?
> >>> >>> >
> >>> >>> > Changing idioms
> >>> >>> > 2py3 changes idioms that are "outdated". When running the script
> it
> >>> >>> > changes
> >>> >>> > type(t) != type(q)  to not isinstance(t, type(q)). Is this this
> >>> >>> > something I
> >>> >>> > should do?
> >>> >>> >
> >>> >>> > Python syntax
> >>> >>> > The 2to3 scripts have the possibility to change the comma-syntax
> to
> >>> >>> > correct
> >>> >>> > python syntax. For example, it changes (a,b) to (a, b). Should I
> run
> >>> >>> > this on
> >>> >>> > the files as well?
> >>> >>> >
> >>> >>> > Six module
> >>> >>> > I have used the six modules to make it compatible with 2.x and
> 3.x,
> >>> >>> > but
> >>> >>> > I'm
> >>> >>> > a bit unsure where to put it, or how to properly include it to
> the
> >>> >>> > project
> >>> >>> > such that all files have access.
> >>> >>> >
> >>> >>> > --
> >>> >>> > Mvh
> >>> >>> > Aslak Bergersen
> >>> >>> > 993 22 848
> >>> >>> >
> >>> >>> >
> >>> >>> > 2014-05-23 12:56 GMT+02:00 Martin Sandve Alnæs <
> [email protected] <javascript:;>>:
> >>> >>> >
> >>> >>> >> UFL doesn't use __metaclass__ but it uses __new__, is the
> behaviour
> >>> >>> >> of
> >>> >>> >> that the same? I'd like to clean up those parts at some point
> but I
> >>> >>> >> won't
> >>> >>> >> have time before the summer.
> >>> >>> >>
> >>> >>> >> If we have to change behaviour of Expression we should consider
> >>> >>> >> doing
> >>> >>> >> that
> >>> >>> >> simultaneously with the introduction of an Expression-like ufl
> type
> >>> >>> >> which
> >>> >>> >> will have several advantages.
> >>> >>> >>
> >>> >>> >> Martin
> >>> >>> >>
> >>> >>> >>
> >>> >>> >> On 23 May 2014 12:24, Johan Hake <[email protected]
> <javascript:;>> wrote:
> >>> >>> >>>
> >>> >>> >>> And then there is the change of syntax for metaclasses in
> >>> >>> >>> Python3...
> >>> >>> >>> Just
> >>> >>> >>> goggle metaclass python 3 and there are several pointers to the
> >>> >>> >>> different
> >>> >>> >>> syntax.
> >>> >>> >>>
> >>> >>> >>> Maybe this will be a good point to throw out the usage of
> >>> >>> >>> metaclasses
> >>> >>> >>> in
> >>> >>> >>> DOLFIN? What we need is to add a distinction between
> >>> >>> >>> CompiledExpression and
> >>> >>> >>> Expression. I have tried this before with no luck ;)
> >>> >>> >>>
> >>> >>> >>> Johan
> >>> >>> >>>
> >>> >>> >>>
> >>> >>> >>> On Thu, May 22, 2014 at 11:40 AM, Martin Sandve Alnæs
> >>> >>> >>> <[email protected] <javascript:;>> wrote:
> >>> >>> >>>>
> >>> >>> >>>> Yes, and if we're lucky we can get to that point without as
> much
> >>> >>> >>>> work as
> >>> >>> >>>> sympy, since we don't have as much code.
> >>> >>> >>>>
> >>> >>> >>>> The 2to3 tool can do selective changes like change print "" to
> >>> >>> >>>> print("")
> >>> >>> >>>> and fix exception syntax, which are compatible with 2.7.
> >>> >>> >>>>
> >>> >>> >>>> It can also do things like change "a = dict.iteritems()" into
> "a
> >>> >>> >>>> =
> >>> >>> >>>> dict.items()" which changes the memory usage when run on 2.7.
> >>> >>> >>>> These
> >>> >>> >>>> differences can instead be resolved by using the python module
> >>> >>> >>>> "six"
> >>> >>> >>>> which
> >>> >>> >>>> implements cross-compatible helper functions for a lot of
> things.
> >>> >>> >>>>
> >>> >>> >>>> Btw when we switch we should go straight to python 3.3-3.4.
> >>> >>> >>>> Supporting 3.0-3.2 side by side with 2.7 is apparently harder.
> >>> >>> >>>>
> >>> >>> >>>> (Note to Aslak: read the link from Jan!)
> >>> >>> >>>>
> >>> >>> >>>> Martin
> >>> >>> >>>>
> >>> >>> >>>>
> >>> >>> >>>> On 22 May 2014 11:22, Jan Blechta <[email protected]
> <javascript:;>>
> >>> >>> >>>> wrote:
> >>> >>> >>>>>
> >>> >>> >>>>> Note that there is also an approach of having simultaneously
> 2.x
> >>> >>> >>>>> and
> >>> >>> >>>>> 3.x
> >>> >>> >>>>> compatible codebase without a need of using 2to3. Allegedly,
> >>> >>> >>>>> this
> >>> >>> >>>>> is
> >>> >>> >>>>> used in SymPy, NumPy and SciPy projects. See
> >>> >>> >>>>>
> >>> >>> >>>>>
> >>> >>> >>>>>
> >>> >>> >>>>>
> http://ondrejcertik.blogspot.cz/2013/08/how-to-support-both-python-2-and-3.html
> >>> >>> >>>>>
> >>> >>> >>>>> Jan
> >>> >>> >>>>>
> >>> >>> >>>>>
> >>> >>> >>>>> On Thu, 22 May 2014 11:05:43 +0200
> >>> >>> >>>>> Martin Sandve Alnæs <[email protected] <javascript:;>>
> wrote:
> >>> >>> >>>>>
> >>> >>> >>>>> > The plan for the initial work here is to keep the code
> python
> >>> >>> >>>>> > 2.7
> >>> >>> >>>>> > compatible but ready for a later swift switch to 3 only. I
> >>> >>> >>>>> > suggest we
> >>> >>> >>>>> > release fenics 1.5 with python 2.7 compatibility intact but
> >>> >>> >>>>> > convertible to python 3 by just running py2to3. Otherwise
> >>> >>> >>>>> > there
> >>> >>> >>>>> > will
> >>> >>> >>>>> > be too much simultaneous breakage. Then we can discuss
> whether
> >>> >>> >>>>> > we
> >>> >>> >>>>> > leave python 2.7 behind in fenics 1.6 or not.
> >>> >>> >>>>> >
> >>> >>> >>>>> > However, I haven't thought about the swig side in dolfin,
> and
> >>> >>> >>>>> > as
> >>> >>> >>>>> > Johan
> >>> >>> >>>>> > mentions keeping the Python CAPI code compatible is not
> >>> >>> >>>>> > covered
> >>> >>> >>>>> > by
> >>> >>> >>>>> > py2to3. I'll discuss this with Johan and Aslak.
> >>> >>> >>>>> >
> >>> >>> >>>>> > Martin
> >>> >>> >>>>> >
> >>> >>> >>>>> >
> >>> >>> >>>>> > On 22 May 2014 10:49, Garth N. Wells <[email protected]
> <javascript:;>> wrote:
> >>> >>> >>>>> >
> >>> >>> >>>>> > > Nice. Do we want to support Python 2.7 and 3, or would
> it be
> >>> >>> >>>>> > > more
> >>> >>> >>>>> > > sustainable to go all Python 3? My preference is for
> >>> >>> >>>>> > > simplicity
> >>> >>> >>>>> > > and
> >>> >>> >>>>> > > low maintenance, which points to Python 3 only support.
> >>> >>> >>>>> > >
> >>> >>> >>>>> > > Garth
> >>> >>> >>>>> > > On Thu, 22 May, 2014 at 9:39 AM, Martin Sandve Alnæs
> >>> >>> >>>>> > > <[email protected] <javascript:;>> wrote:
> >>> >>> >>>>> > >
> >>> >>> >>>>> > >> We have a summer intern at Simula, Aslak Bergersen,
> >>> >>> >>>>> > >> who will work on preparations for python 3 support in
> >>> >>> >>>>> > >> FEniCS,
> >>> >>> >>>>> > >> as well as some other FEniCS tasks, from late June and
> >>> >>> >>>>> > >> throughout July.
> >>> >>> >>>>> > >>
> >>> >>> >>>>> > >> The preparations for python 3 involves mainly:
> >>> >>> >>>>> > >> - Replacing ScientificPython for AD in FIAT
> >>> >>> >>>>> > >> - Applying and committing backwards compatible parts of
> >>> >>> >>>>> > >> py2to3
> >>> >>> >>>>> > >> - Replacing several functions such as dict.iteritems
> with
> >>> >>> >>>>> > >> six.iteritems in UFL and possibly FFC to make sure we
> keep
> >>> >>> >>>>> > >> the
> >>> >>> >>>>> > >> same performance and memory behaviour with python 2 and
> 3.
> >>> >>> >>>>> > >>
> >>> >>> >>>>> > >> I will be on vacation part of his time here so please
> >>> >>> >>>>> > >> help him out if he has questions to the list.
> >>> >>> >>>>> > >>
> >>> >>> >>>>> > >> Martin
> >>> >>> >>>>> > >>
> >>> >>> >>>>> > >
> >>> >>> >>>>> > >
> >>> >>> >>>>>
> >>> >>> >>>>
> >>> >>> >>>>
> >>> >>> >>>> _______________________________________________
> >>> >>> >>>> fenics mailing list
> >>> >>> >>>> [email protected] <javascript:;>
> >>> >>> >>>> http://fenicsproject.org/mailman/listinfo/fenics
> >>> >>> >>>>
> >>> >>> >>>
> >>> >>> >>
> >>> >>> >
> >>> >>> >
> >>> >>> >
> >>> >>> > --
> >>> >>> > Mvh
> >>> >>> > Aslak Bergersen
> >>> >>> > 993 22 848
> >>> >>> >
> >>> >>> >
> >>> >>> > _______________________________________________
> >>> >>> > fenics mailing list
> >>> >>> > [email protected] <javascript:;>
> >>> >>> > http://fenicsproject.org/mailman/listinfo/fenics
> >>> >>> >
> >>> >>
> >>> >>
> >>> >>
> >>> >>
> >>> >> --
> >>> >> Mvh
> >>> >> Aslak Bergersen
> >>> >> 993 22 848
> >>> >>
> >>> >
> >>
> >>
> >>
> >>
> >> --
> >> Mvh
> >> Aslak Bergersen
> >> 993 22 848
> >>
>


-- 
Mvh
Aslak Bergersen
993 22 848
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to