Issue 1:
It appears that numpy.linalg.svd has different outputs between 1.15.4 and 1.16.3 -- and I don't see any hints that this should happen in the changelog.

Reproducing code example:

If you run numpy==1.15.4 with the following input, you get the following

In [20]: np.random.seed(0)

In [21]: X = np.random.randn(100, 100) * 10

In [22]: u, s, v = np.linalg.svd(X)

In [23]: s[:5]
Out[23]:
array([193.6995948 , 183.01489365, 180.94983595, 178.47342134,
174.07146491])

In [24]: u[:5, :5]
Out[24]:
array([[-0.12777193, 0.1473861 , -0.04626332, 0.09269663, 0.12149756],
[-0.23535239, 0.06543527, -0.02588301, -0.05401032, -0.02436388],
[ 0.09956489, -0.07108259, -0.10083294, 0.16710062, -0.0333519 ],
[-0.05718053, -0.11184903, -0.12280465, 0.04707958, 0.16647603],
[ 0.25422798, 0.01464547, -0.15071626, -0.03225463, -0.12620621]])

In [25]: np.mean(X - u @ np.diag(s) @ v)
Out[25]: 1.336599234069702e-16

In [26]: np.std(X - u @ np.diag(s) @ v)
Out[26]: 2.0947185697750298e-14

However, if you run svd with numpy==1.16.3, you get the following

In [13]: np.random.seed(0)

In [14]: X = np.random.randn(100, 100) * 10

In [15]: u, s, v = np.linalg.svd(X)

In [16]: s[:5]
Out[16]:
array([193.6995948 , 183.01489365, 180.94983595, 178.47342134,
174.07146491])

In [17]: u[:5, :5]
Out[17]:
array([[-0.07680886, 0.17809124, -0.41179481, 0.14073815, 0.14494919],
[ 0.46612298, -0.38573887, 0.34177276, -0.11314353, -0.03170648],
[-0.62584307, 0.10539512, 0.20991414, -0.24513665, -0.11505925],
[-0.43937521, -0.07100245, 0.2941617 , -0.03515797, 0.04093411],
[ 0.00359183, -0.64178218, 0.69484207, -0.09871542, 0.28272959]])

In [18]: np.mean(X - u @ np.diag(s) @ v)
Out[18]: 1.0356975839816995

In [19]: np.std(X - u @ np.diag(s) @ v)
Out[19]: 92.84521345330656

Numpy/Python version information:

numpy version 1.15

In [18]: np.__config__.show()
mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/include']
blas_mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/include']
blas_opt_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/include']
lapack_mkl_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/include']
lapack_opt_info:
libraries = ['mkl_rt', 'pthread']
library_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/lib']
define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]
include_dirs = ['/Users/jmorton/miniconda3/envs/qiime2-2019.1/include']
In [27]: import sys, numpy; print(numpy.__version__, sys.version)
1.15.4 3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:44:09)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]

numpy version 1.16

In [3]: np.__config__.show()
blas_mkl_info:
NOT AVAILABLE
blis_info:
NOT AVAILABLE
openblas_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
NOT AVAILABLE
openblas_lapack_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
libraries = ['openblas', 'openblas']
library_dirs = ['/usr/local/lib']
language = c
define_macros = [('HAVE_CBLAS', None)]

In [20]: import sys, numpy; print(numpy.__version__, sys.version)
1.16.3 3.6.7 | packaged by conda-forge | (default, Feb 28 2019, 02:16:08)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)]

As you can see, the output from 1.16.3 is broken, and the svd is no longer a true reconstruction.

Issue 2:
bash-5.0# gcc -v

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/opt/freeware/libexec/gcc/powerpc-ibm-aix6.1.0.0/6.3.0/lto-wrapper

Target: powerpc-ibm-aix6.1.0.0

Configured with: ../gcc-6.3.0/configure --prefix=/opt/freeware --mandir=/opt/freeware/man --infodir=/opt/freeware/info --with-local-prefix=/opt/freeware --with-as=/usr/bin/as --with-ld=/usr/bin/ld --enable-languages=c,c++,fortran,objc,obj-c++ --enable-version-specific-runtime-libs --disable-nls --enable-decimal-float=dpd --with-cloog=no --with-ppl=no --disable-libstdcxx-pch --enable-__cxa_atexit --host=powerpc-ibm-aix6.1.0.0

Thread model: aix

gcc version 6.3.0 (GCC)

bash-5.0# python -V

Python 3.6.6

bash-5.0# python

Python 3.6.6 (default, Jul 11 2018, 05:41:50)

[GCC 6.3.0] on aix6

Type "help", "copyright", "credits" or "license" for more information.

import numpy

Traceback (most recent call last):

File "/opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/init.py", line 16, in

from . import multiarray

File "/opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/multiarray.py", line 12, in

from . import overrides

File "/opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/overrides.py", line 9, in

from numpy.core._multiarray_umath import add_docstring, ndarray

ImportError: 0509-022 Cannot load module /opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/_multiarray_umath.so.

0509-026 System error: Cannot run a file that does not have a valid format.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):

File "", line 1, in

File "/opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/init.py", line 142, in

from . import core

File "/opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/init.py", line 47, in

raise ImportError(msg)

ImportError:

IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!

Importing the multiarray numpy extension module failed. Most

likely you are trying to import a failed build of numpy.

Here is how to proceed:

If you're working with a numpy git repository, try git clean -xdf

(removes all files not under version control) and rebuild numpy.

If you are simply trying to use the numpy version that you have installed:

your installation is broken - please reinstall numpy.

If you have already reinstalled and that did not fix the problem, then:

Check that you are using the Python you expect (you're using /usr/bin/python),

and that you have no directories in your PATH or PYTHONPATH that can

interfere with the Python and numpy versions you're trying to use.

If (1) looks fine, you can open a new issue at

https://github.com/numpy/numpy/issues. Please include details on:

how you installed Python

how you installed numpy

your operating system

whether or not you have multiple versions of Python installed

if you built from source, your compiler versions and ideally a build log

Note: this error has many possible causes, so please don't comment on

an existing issue about this - open a new one instead.

Original error was: 0509-022 Cannot load module /opt/freeware/lib64/python3.6/site-packages/numpy-1.16.0-py3.6-aix-6.1.egg/numpy/core/_multiarray_umath.so.

0509-026 System error: Cannot run a file that does not have a valid format.