Your message dated Mon, 27 Sep 2021 04:36:39 +0200
with message-id <[email protected]>
and subject line basix: Nedelec 2nd kind H(curl) test fails on 32-bit systems
has caused the Debian Bug report #981901,
regarding basix: Nedelec 2nd kind H(curl) test fails on 32-bit systems
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
981901: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=981901
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: basix
Version: 0.0.1~git20210122.4f10ef2-1
Severity: normal
Control: forwarded -1 https://github.com/FEniCS/basix/issues/111

Judging by the build errors at
https://buildd.debian.org/status/package.php?p=basix, looks like
Nedelec 2nd kind H(curl) is not compatible with 32 bit systems. e.g.

i386   
https://buildd.debian.org/status/fetch.php?pkg=basix&arch=i386&ver=0.0.1%7Egit20210122.4f10ef2-1&stamp=1612391676&raw=0
armel  
https://buildd.debian.org/status/fetch.php?pkg=basix&arch=armel&ver=0.0.1%7Egit20210122.4f10ef2-1&stamp=1612398463&raw=0
armhf  
https://buildd.debian.org/status/fetch.php?pkg=basix&arch=armhf&ver=0.0.1%7Egit20210122.4f10ef2-1&stamp=1612392128&raw=0

The error message is

__ test_permutation_of_tabulated_data_tetrahedron[5-Nedelec 2nd kind H(curl)] __

element_name = 'Nedelec 2nd kind H(curl)', order = 5

    @pytest.mark.parametrize("element_name", tetrahedron_elements)
    @pytest.mark.parametrize("order", range(1, 6))
    def test_permutation_of_tabulated_data_tetrahedron(element_name, order):
        if element_name == "Crouzeix-Raviart" and order != 1:
            pytest.xfail()
    
        e = basix.create_element(element_name, "tetrahedron", order)
    
        N = 4
        points = np.array([[i / N, j / N, k / N]
                           for i in range(N + 1) for j in range(N + 1 - i) for 
k in range(N + 1 - i - j)])
        values = e.tabulate(0, points)[0]
    
        start = sum(e.entity_dofs[0])
        ndofs = e.entity_dofs[1][0]
        if ndofs != 0:
            # Check that the 0th permutation undoes the effect of reflecting 
edge 0
            reflected_points = np.array([[p[0], p[2], p[1]] for p in points])
            reflected_values = e.tabulate(0, reflected_points)[0]
    
            if e.mapping_name == "affine":
                pass
            elif e.mapping_name == "covariant piola":
                for i, r in enumerate(reflected_values):
                    for j in range(e.dim):
                        reflected_values[i][j + e.dim::e.dim] = r[j + 
e.dim::e.dim][::-1]
            elif e.mapping_name == "contravariant piola":
                for i, r in enumerate(reflected_values):
                    for j in range(e.dim):
                        reflected_values[i][j] = -r[j]
                        reflected_values[i][j + e.dim::e.dim] = -r[j + 
e.dim::e.dim][::-1]
            elif e.mapping_name == "double covariant piola":
                pytest.skip()  # TODO: implement double covariant piola
            else:
                raise ValueError(f"Unknown mapping: {e.mapping_name}")
    
            for i, j in zip(values, reflected_values):
                for d in range(e.value_size):
                    i_slice = i[d * e.dim:(d + 1) * e.dim]
                    j_slice = j[d * e.dim:(d + 1) * e.dim]
>                   assert 
> np.allclose((e.base_permutations[0].dot(i_slice))[start: start + ndofs],
                                       j_slice[start: start + ndofs])
E                   assert False
E                    +  where False = <function allclose at 0xf6d2a658>(array([ 
0., -0., -0., -0., -0.,  0.]), array([-1.34, -1.12, -0.28,  0.68,  0.8 , -1.5 
]))
E                    +    where <function allclose at 0xf6d2a658> = np.allclose

test/test_permutations.py:227: AssertionError

Since only this one test fails (for only this one element), I'll just
skip this test in the 32-bit Debian builds.  This is a relatively rare
Finite Element, so the package is still useful for providing the others.

Once the test is skipped the error won't show in future builds (but
will still be there). So I'm filing this bug to keep track of the
problem.



-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.10.0-2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_OOT_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_AU:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

--- End Message ---
--- Begin Message --- test_permutations.py no longer exists. test_nedelec_second_kind.py always passed tests on i386. Hence closing this bug.
--- End Message ---
-- 
debian-science-maintainers mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-science-maintainers

Reply via email to