BUG: DataFrame[SparseArray] coerces to dense after np.sqrt
#### Code Sample, a copy-pastable example if possible

```python
import numpy as np
import pandas as pd
X = np.array([[0, 1, 0], [4, 0, 0]])
X = pd.DataFrame(X).astype(pd.SparseDtype(float, fill_value=0.0))
X
X.sparse
np.sqrt(X).sparse
```
#### Problem description

The data shouldn't be coerced to dense. Here is the output for the above.

```python
>>> import numpy as np
>>> import pandas as pd
>>> X = np.array([[0, 1, 0], [4, 0, 0]])
>>> X = pd.DataFrame(X).astype(pd.SparseDtype(float, fill_value=0.0))
>>> X
     0    1    2
0  0.0  1.0  0.0
1  4.0  0.0  0.0
>>> X.sparse
<pandas.core.arrays.sparse.SparseFrameAccessor object at 0x7fdd8d38f0f0>
>>> np.sqrt(X).sparse
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/scottgigante/sandbox/lib/python3.7/site-packages/pandas/core/generic.py", line 5179, in __getattr__
    return object.__getattribute__(self, name)
  File "/home/scottgigante/sandbox/lib/python3.7/site-packages/pandas/core/accessor.py", line 175, in __get__
    accessor_obj = self._accessor(obj)
  File "/home/scottgigante/sandbox/lib/python3.7/site-packages/pandas/core/arrays/sparse.py", line 1957, in __init__
    self._validate(data)
  File "/home/scottgigante/sandbox/lib/python3.7/site-packages/pandas/core/arrays/sparse.py", line 2134, in _validate
    raise AttributeError(self._validation_msg)
AttributeError: Can only use the '.sparse' accessor with Sparse data.
```

#### Expected Output

I would expect the resulting array to have the same sparsity structure as previously, given that the ufunc has not changed the zeros.

```python
>>> import numpy as np
>>> import pandas as pd
>>> X = np.array([[0, 1, 0], [4, 0, 0]])
>>> X = pd.DataFrame(X).astype(pd.SparseDtype(float, fill_value=0.0))
>>> X
     0    1    2
0  0.0  1.0  0.0
1  4.0  0.0  0.0
>>> X.sparse
<pandas.core.arrays.sparse.SparseFrameAccessor object at 0x7fdd8d38f0f0>
>>> np.sqrt(X).sparse
<pandas.core.arrays.sparse.SparseFrameAccessor object at 0x7fdd8d38f0f0>
```

#### Output of ``pd.show_versions()``

<details>

```
INSTALLED VERSIONS
------------------
commit           : None
python           : 3.7.3.final.0
python-bits      : 64
OS               : Linux
OS-release       : 5.0.10-arch1-1-ARCH
machine          : x86_64
processor        : 
byteorder        : little
LC_ALL           : None
LANG             : en_US.UTF-8
LOCALE           : en_US.UTF-8

pandas           : 0.25.1
numpy            : 1.17.0
pytz             : 2019.2
dateutil         : 2.8.0
pip              : 19.2.3
setuptools       : 41.0.1
Cython           : None
pytest           : 5.1.2
hypothesis       : None
sphinx           : None
blosc            : None
feather          : None
xlsxwriter       : None
lxml.etree       : None
html5lib         : None
pymysql          : None
psycopg2         : None
jinja2           : 2.10.1
IPython          : None
pandas_datareader: None
bs4              : None
bottleneck       : None
fastparquet      : None
gcsfs            : None
lxml.etree       : None
matplotlib       : 3.1.1
numexpr          : 2.7.0
odfpy            : None
openpyxl         : None
pandas_gbq       : None
pyarrow          : None
pytables         : None
s3fs             : None
scipy            : 1.3.1
sqlalchemy       : None
tables           : 3.5.2
xarray           : None
xlrd             : None
xlwt             : None
xlsxwriter       : None
```

</details>
