{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "blas_mkl_info:\n",
      "  NOT AVAILABLE\n",
      "blis_info:\n",
      "  NOT AVAILABLE\n",
      "openblas_info:\n",
      "    library_dirs = ['C:\\\\projects\\\\numpy-wheels\\\\numpy\\\\build\\\\openblas']\n",
      "    libraries = ['openblas']\n",
      "    language = f77\n",
      "    define_macros = [('HAVE_CBLAS', None)]\n",
      "blas_opt_info:\n",
      "    library_dirs = ['C:\\\\projects\\\\numpy-wheels\\\\numpy\\\\build\\\\openblas']\n",
      "    libraries = ['openblas']\n",
      "    language = f77\n",
      "    define_macros = [('HAVE_CBLAS', None)]\n",
      "lapack_mkl_info:\n",
      "  NOT AVAILABLE\n",
      "openblas_lapack_info:\n",
      "    library_dirs = ['C:\\\\projects\\\\numpy-wheels\\\\numpy\\\\build\\\\openblas']\n",
      "    libraries = ['openblas']\n",
      "    language = f77\n",
      "    define_macros = [('HAVE_CBLAS', None)]\n",
      "lapack_opt_info:\n",
      "    library_dirs = ['C:\\\\projects\\\\numpy-wheels\\\\numpy\\\\build\\\\openblas']\n",
      "    libraries = ['openblas']\n",
      "    language = f77\n",
      "    define_macros = [('HAVE_CBLAS', None)]\n"
     ]
    }
   ],
   "source": [
    "#Check if mkl really is not used\n",
    "np.__config__.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "n = 20000\n",
    "A = np.random.randn(n,n).astype('float64')\n",
    "B = np.random.randn(n,n).astype('float64')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " took 83.82318067550659 seconds \n",
      " norm =  2828718.333170636\n"
     ]
    }
   ],
   "source": [
    "start_time = time.time()\n",
    "nrm = np.linalg.norm(A@B)\n",
    "print(\" took {} seconds \".format(time.time() - start_time))\n",
    "print(\" norm = \",nrm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "RDKit WARNING: [13:23:44] Enabling RDKit 2019.09.1 jupyter extensions\n"
     ]
    }
   ],
   "source": [
    "from rdkit import Chem\n",
    "from rdkit.Chem import AllChem\n",
    "from rdkit.Chem.Draw import IPythonConsole"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x1db00042440>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = Chem.MolFromSmiles('CC(C)Cc1ccc(cc1)C(C)C(=O)O')\n",
    "m"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<rdkit.Chem.rdchem.Mol at 0x1db0004df30>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m2 = Chem.AddHs(m)\n",
    "AllChem.EmbedMolecule(m2)\n",
    "m2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [conda env:rdkit_openblas]",
   "language": "python",
   "name": "conda-env-rdkit_openblas-py"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
