text:
# 1. Introduction to Deep Learning¶

Deep learning is a category of machine learning. Machine learning is a category of artificial intelligence. These notes are mostly about deep learning, thus the name of the book. Deep learning is the use of neural networks to classify and regress data (this is too narrow, but a good starting definition). I am a chemical engineering professor though; please read more beyond this introduction because my perspective is biased towards chemistry and materials. I found the introduction the from Ian Goodfellow’s book to be a good intro. If you’re more visually oriented, Grant Sanderson has made a short video series specifically about neural networks that give an applied introduction to the topic. DeepMind has a high-level video showing what can be accomplished with deep learning & AI. When people write “deep learning is a powerful tool” in their research papers, they typically cite this Nature paper by Yann LeCun, Yoshua Bengio, and Geoffery Hinton. Zhang, Lipton, Li, and Smola have written a practical and example-driven online book that gives each example in Tensorflow, PyTorch, and MXNet. You can find many chemistry specific examples and information about deep learning in chemistry via the excellent DeepChem project.

The main advice I would give to beginners in deep learning are to focus less on the neurological inspired language (i.e., connections between neurons), and instead view deep learning as a series of linear algebra operations where many of the matrices are filled with adjustable parameters. There are of course a few non-linear functions (activations) here and there, but deep learning is essentially linear algebra operations specified via a “computation network” (aka computation graph) that vaguely looks like neurons connected in a brain.

## 1.1. Neural Networks¶

The deep in deep learning means we have many layers in our neural networks. What is a neural network? Without loss of generality, we can view neural networks as 2 components: (1) a non-linear function $$g(\cdot)$$ which operates on our input features $$\mathbf{X}$$ and outputs a new set of features $$\mathbf{H} = g(\mathbf{X})$$ and (2) a linear model like we saw in our Introduction to Machine Learning. Our model equation for deep learning regression is:

(1.20)$$$\hat{y} = \vec{w}g(\vec{x}) + b$$$

One of the main discussion points in our ML chapters was how arcane and difficult it is to choose features. Here, we have replaced our features with a set of trainable features $$g(\vec{x})$$ and then use the same linear model as before. So how do we design $$g(\vec{x})$$? That is the deep learning part. $$g(\vec{x})$$ is a differentiable function we design composed of layers, which are themselves differentiable functions each with trainable weights (free variables). Deep learning is a mature field and there is a set of standard layers, each with a different purpose. For example, convolution layers look at a fixed neighborhood around each element of an input tensor. Dropout layers randomly inactivate inputs as a form of regularization. The most commonly used and basic layer is the dense or fully-connected layer.

A dense layer is defined by two things: the desired output feature shape and the activation. The equation is:

(1.21)$$$\vec{h} = \sigma(\mathbf{W}\vec{x} + \vec{b})$$$

where $$\mathbf{W}$$ is a trainable $$D \times F$$ matrix, where $$D$$ is the input vector ($$\vec{x}$$) dimension and $$F$$ is the output vector ($$\vec{h}$$) dimension, $$\vec{b}$$ is a trainable $$F$$ dimensional vector, and $$\sigma(\cdot)$$ is the activation function. $$F$$ is an example of a hyperparameter, it is not trainable but is a problem dependent choice. $$\sigma(\cdot)$$ is another hyperparameter. In principle, any differentiable function that has a range of $$(-\infty, \infty)$$ can be used for activation. However, just a few activations have been empirically designed that balance computational cost and effectiveness. One example we’ve seen before is the sigmoid. Another is a hyperbolic tangent, which behaves similar (domain/range) to the sigmoid. The most commonly used activation is the rectified linear unit (ReLU), which is

(1.22)$$$\sigma(x) = \left\{\begin{array}{lr} x & x > 0\\ 0 & \textrm{otherwise}\\ \end{array}\right.$$$

### 1.1.1. Universal Approximation Theorem¶

One of the reasons that neural networks are a good choice at approximating unknown functions ($$f(\vec{x})$$) is that a neural network can approximate any function with a large enough network depth (number of layers) or width (size of hidden layers). To be more specific, any 1 dimensional function can be approximated by a depth 5 neural network with ReLU activation functions. The universal approximation theorem shows that neural networks are, in the limit of large depth or width, expressive enough to fit any function.

## 1.2. Frameworks¶

Deep learning has lots of “gotchas” – easy to make mistakes that make it difficult to implement things yourself. This is especially true with numerical stability, which only reveals itself when your model fails to learn. We will move to a bit of a more abstract software framework than JAX for some examples. We’ll use Keras, which is one of many possible choices for deep learning frameworks.

## 1.3. Discussion¶

When it comes to introducing deep learning, I will be as terse as possible. There are good learning resources out there. You should use some of the reading above and tutorials put out by Keras (or PyTorch) to get familiar with the concepts of neural networks and learning.

## 1.4. Revisiting Solubity Model¶

We’ll see our first example of deep learning by revisiting the solubility dataset with a two layer dense neural network.

## 1.5. Running This Notebook¶

The hidden cells below sets-up our imports and/or install necessary packages.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib as mpl
import tensorflow as tf
import numpy as np
np.random.seed(0)
import warnings
warnings.filterwarnings('ignore')
sns.set_context('notebook')
sns.set_style('dark',  {'xtick.bottom':True, 'ytick.left':True, 'xtick.color': '#666666', 'ytick.color': '#666666',
'axes.edgecolor': '#666666', 'axes.linewidth':     0.8 })
color_cycle = ['#1BBC9B', '#F06060', '#5C4B51', '#F3B562', '#6e5687']
mpl.rcParams['axes.prop_cycle'] = mpl.cycler(color=color_cycle)

We download the data and load it into a Pandas data frame and then standardize our features as before.

#soldata = pd.read_csv('https://dataverse.harvard.edu/api/access/datafile/3407241?format=original&gbrecs=true')
# had to rehost because dataverse isn't reliable
features_start_at = list(soldata.columns).index('MolWt')
feature_names = soldata.columns[features_start_at:]
# standardize the features
soldata[feature_names] -= soldata[feature_names].mean()
soldata[feature_names] /= soldata[feature_names].std()

## 1.6. Prepare Data for Keras¶

The deep learning libraries simplify many common tasks, like splitting data and building layers. This code below builds our dataset from numpy arrays.

full_data = tf.data.Dataset.from_tensor_slices((soldata[feature_names].values, soldata['Solubility'].values))
N = len(soldata)
test_N = int(0.1 * N)
test_data = full_data.take(test_N).batch(16)
train_data = full_data.skip(test_N).batch(16)

Notice that we used skip and take to split our dataset into two pieces and then created batches of data.

## 1.7. Neural Network¶

Now we build our neural network model. In this case, our $$g(\vec{x}) = \sigma\left(\mathbf{W^0}\vec{x} + \vec{b}\right)$$. We will call the fucntion $$g(\vec{x})$$ a hidden layer. This is because we do not observe its output. Remember, the solubility will be $$y = \vec{w}g(\vec{x}) + b$$. We’ll choose our activation, $$\sigma(\cdot)$$, to be tanh and the output dimension of the hidden-layer to be 32. You can read more about this API here, however you should be able to understand the process from the function names and comments.

# our hidden layer
# We only need to define the output dimension - 32.
hidden_layer =  tf.keras.layers.Dense(32, activation='tanh')
# Last layer - which we want to output one number
# the predicted solubility.
output_layer = tf.keras.layers.Dense(1)

# Now we put the layers into a sequential model
model = tf.keras.Sequential()

# our model is complete

# Try out our model on first few datapoints
model(soldata[feature_names].values[:3])

<tf.Tensor: shape=(3, 1), dtype=float32, numpy=
array([[ 1.0962793 ],
[-0.52531874],
[-0.35620636]], dtype=float32)>

We can see our model predicting the solubility for 3 molecules above. There is a warning about how our Pandas data is using float64 (double precision floating point numbers) but our model is using float32 (single precision), which doesn’t matter that much. It warns us because we are technically throwing out a little bit of precision, but our solubility has much more variance than the difference between 32 and 64 bit precision floating point numbers.

At this point, we’ve defined how our model structure should work and it can be called on data. Now we need to train it! We prepare the model for training by calling compile, which is where we define our optimization (flavor of stochastic gradient descent) and loss

model.compile(optimizer='SGD', loss='mean_squared_error')

Look back to the amount of work it took to previously set-up loss and optimization process! Now we can train our model

model.fit(train_data, epochs=50)

Epoch 1/50

  1/562 [..............................] - ETA: 2:25 - loss: 8.5425

73/562 [==>...........................] - ETA: 0s - loss: 4.7671

145/562 [======>.......................] - ETA: 0s - loss: 3.2008

217/562 [==========>...................] - ETA: 0s - loss: 3.3659

287/562 [==============>...............] - ETA: 0s - loss: 2.8851

360/562 [==================>...........] - ETA: 0s - loss: 2.5400

433/562 [======================>.......] - ETA: 0s - loss: 2.2783

506/562 [==========================>...] - ETA: 0s - loss: 2.1129

562/562 [==============================] - 1s 696us/step - loss: 2.0532

Epoch 2/50

1/562 [..............................] - ETA: 1s - loss: 1.0074

75/562 [===>..........................] - ETA: 0s - loss: 2.4247

148/562 [======>.......................] - ETA: 0s - loss: 2.0417

222/562 [==========>...................] - ETA: 0s - loss: 2.3897

295/562 [==============>...............] - ETA: 0s - loss: 2.0943

368/562 [==================>...........] - ETA: 0s - loss: 1.8728

440/562 [======================>.......] - ETA: 0s - loss: 1.7207

511/562 [==========================>...] - ETA: 0s - loss: 1.6286

562/562 [==============================] - 0s 693us/step - loss: 1.6122

Epoch 3/50

1/562 [..............................] - ETA: 1s - loss: 0.9545

73/562 [==>...........................] - ETA: 0s - loss: 2.2964

147/562 [======>.......................] - ETA: 0s - loss: 1.8812

220/562 [==========>...................] - ETA: 0s - loss: 2.2694

294/562 [==============>...............] - ETA: 0s - loss: 1.9829

366/562 [==================>...........] - ETA: 0s - loss: 1.7729

441/562 [======================>.......] - ETA: 0s - loss: 1.6199

513/562 [==========================>...] - ETA: 0s - loss: 1.5358

562/562 [==============================] - 0s 691us/step - loss: 1.5226

Epoch 4/50

1/562 [..............................] - ETA: 1s - loss: 0.9065

72/562 [==>...........................] - ETA: 0s - loss: 2.2308

142/562 [======>.......................] - ETA: 0s - loss: 1.7659

216/562 [==========>...................] - ETA: 0s - loss: 2.2109

290/562 [==============>...............] - ETA: 0s - loss: 1.9254

365/562 [==================>...........] - ETA: 0s - loss: 1.7069

438/562 [======================>.......] - ETA: 0s - loss: 1.5611

511/562 [==========================>...] - ETA: 0s - loss: 1.4775

562/562 [==============================] - 0s 692us/step - loss: 1.4638

Epoch 5/50

1/562 [..............................] - ETA: 1s - loss: 0.8456

72/562 [==>...........................] - ETA: 0s - loss: 2.1776

145/562 [======>.......................] - ETA: 0s - loss: 1.7529

217/562 [==========>...................] - ETA: 0s - loss: 2.1481

289/562 [==============>...............] - ETA: 0s - loss: 1.8754

362/562 [==================>...........] - ETA: 0s - loss: 1.6660

435/562 [======================>.......] - ETA: 0s - loss: 1.5215

509/562 [==========================>...] - ETA: 0s - loss: 1.4345

562/562 [==============================] - 0s 692us/step - loss: 1.4222

Epoch 6/50

1/562 [..............................] - ETA: 1s - loss: 0.8305

71/562 [==>...........................] - ETA: 0s - loss: 2.1587

144/562 [======>.......................] - ETA: 0s - loss: 1.7249

219/562 [==========>...................] - ETA: 0s - loss: 2.0973

291/562 [==============>...............] - ETA: 0s - loss: 1.8308

365/562 [==================>...........] - ETA: 0s - loss: 1.6216

439/562 [======================>.......] - ETA: 0s - loss: 1.4841

513/562 [==========================>...] - ETA: 0s - loss: 1.4053

562/562 [==============================] - 0s 690us/step - loss: 1.3948

Epoch 7/50

1/562 [..............................] - ETA: 1s - loss: 0.8239

75/562 [===>..........................] - ETA: 0s - loss: 2.0581

147/562 [======>.......................] - ETA: 0s - loss: 1.7391

220/562 [==========>...................] - ETA: 0s - loss: 2.0631

295/562 [==============>...............] - ETA: 0s - loss: 1.7910

370/562 [==================>...........] - ETA: 0s - loss: 1.5814

443/562 [======================>.......] - ETA: 0s - loss: 1.4561

517/562 [==========================>...] - ETA: 0s - loss: 1.3823

562/562 [==============================] - 0s 681us/step - loss: 1.3739

Epoch 8/50

1/562 [..............................] - ETA: 1s - loss: 0.8218

57/562 [==>...........................] - ETA: 0s - loss: 2.3734

129/562 [=====>........................] - ETA: 0s - loss: 1.6409

200/562 [=========>....................] - ETA: 0s - loss: 2.1096

263/562 [=============>................] - ETA: 0s - loss: 1.8746

336/562 [================>.............] - ETA: 0s - loss: 1.6569

409/562 [====================>.........] - ETA: 0s - loss: 1.4869

483/562 [========================>.....] - ETA: 0s - loss: 1.3996

557/562 [============================>.] - ETA: 0s - loss: 1.3632

562/562 [==============================] - 0s 725us/step - loss: 1.3577

Epoch 9/50

1/562 [..............................] - ETA: 0s - loss: 0.8209

73/562 [==>...........................] - ETA: 0s - loss: 2.0620

147/562 [======>.......................] - ETA: 0s - loss: 1.7168

221/562 [==========>...................] - ETA: 0s - loss: 2.0148

294/562 [==============>...............] - ETA: 0s - loss: 1.7546

361/562 [==================>...........] - ETA: 0s - loss: 1.5761

434/562 [======================>.......] - ETA: 0s - loss: 1.4392

507/562 [==========================>...] - ETA: 0s - loss: 1.3554

562/562 [==============================] - 0s 696us/step - loss: 1.3459

Epoch 10/50

1/562 [..............................] - ETA: 1s - loss: 0.8160

74/562 [==>...........................] - ETA: 0s - loss: 2.0278

148/562 [======>.......................] - ETA: 0s - loss: 1.7426

223/562 [==========>...................] - ETA: 0s - loss: 1.9887

297/562 [==============>...............] - ETA: 0s - loss: 1.7325

369/562 [==================>...........] - ETA: 0s - loss: 1.5376

442/562 [======================>.......] - ETA: 0s - loss: 1.4166

515/562 [==========================>...] - ETA: 0s - loss: 1.3449

562/562 [==============================] - 0s 686us/step - loss: 1.3362

Epoch 11/50

1/562 [..............................] - ETA: 1s - loss: 0.8096

74/562 [==>...........................] - ETA: 0s - loss: 2.0152

148/562 [======>.......................] - ETA: 0s - loss: 1.7342

222/562 [==========>...................] - ETA: 0s - loss: 1.9821

297/562 [==============>...............] - ETA: 0s - loss: 1.7213

372/562 [==================>...........] - ETA: 0s - loss: 1.5243

447/562 [======================>.......] - ETA: 0s - loss: 1.4036

520/562 [==========================>...] - ETA: 0s - loss: 1.3311

562/562 [==============================] - 0s 679us/step - loss: 1.3283

Epoch 12/50

1/562 [..............................] - ETA: 1s - loss: 0.8026

74/562 [==>...........................] - ETA: 0s - loss: 2.0043

146/562 [======>.......................] - ETA: 0s - loss: 1.6705

216/562 [==========>...................] - ETA: 0s - loss: 2.0015

289/562 [==============>...............] - ETA: 0s - loss: 1.7381

363/562 [==================>...........] - ETA: 0s - loss: 1.5391

436/562 [======================>.......] - ETA: 0s - loss: 1.4106

508/562 [==========================>...] - ETA: 0s - loss: 1.3301

562/562 [==============================] - 0s 693us/step - loss: 1.3215

Epoch 13/50

1/562 [..............................] - ETA: 0s - loss: 0.7971

75/562 [===>..........................] - ETA: 0s - loss: 1.9757

148/562 [======>.......................] - ETA: 0s - loss: 1.7214

223/562 [==========>...................] - ETA: 0s - loss: 1.9550

297/562 [==============>...............] - ETA: 0s - loss: 1.7033

371/562 [==================>...........] - ETA: 0s - loss: 1.5087

444/562 [======================>.......] - ETA: 0s - loss: 1.3944

518/562 [==========================>...] - ETA: 0s - loss: 1.3222

562/562 [==============================] - 0s 682us/step - loss: 1.3158

Epoch 14/50

1/562 [..............................] - ETA: 1s - loss: 0.7940

74/562 [==>...........................] - ETA: 0s - loss: 1.9835

148/562 [======>.......................] - ETA: 0s - loss: 1.7143

222/562 [==========>...................] - ETA: 0s - loss: 1.9520

289/562 [==============>...............] - ETA: 0s - loss: 1.7215

361/562 [==================>...........] - ETA: 0s - loss: 1.5318

432/562 [======================>.......] - ETA: 0s - loss: 1.4040

505/562 [=========================>....] - ETA: 0s - loss: 1.3208

562/562 [==============================] - 0s 698us/step - loss: 1.3102

Epoch 15/50

1/562 [..............................] - ETA: 1s - loss: 0.7927

73/562 [==>...........................] - ETA: 0s - loss: 1.9913

145/562 [======>.......................] - ETA: 0s - loss: 1.6359

213/562 [==========>...................] - ETA: 0s - loss: 1.9791

283/562 [==============>...............] - ETA: 0s - loss: 1.7347

355/562 [=================>............] - ETA: 0s - loss: 1.5429

427/562 [=====================>........] - ETA: 0s - loss: 1.4018

500/562 [=========================>....] - ETA: 0s - loss: 1.3194

562/562 [==============================] - 0s 702us/step - loss: 1.3049

Epoch 16/50

  1/562 [..............................] - ETA: 1s - loss: 0.7925

71/562 [==>...........................] - ETA: 0s - loss: 2.0171

143/562 [======>.......................] - ETA: 0s - loss: 1.6019

214/562 [==========>...................] - ETA: 0s - loss: 1.9684

288/562 [==============>...............] - ETA: 0s - loss: 1.7095

361/562 [==================>...........] - ETA: 0s - loss: 1.5181

433/562 [======================>.......] - ETA: 0s - loss: 1.3904

505/562 [=========================>....] - ETA: 0s - loss: 1.3099

562/562 [==============================] - 0s 699us/step - loss: 1.2996

Epoch 17/50

1/562 [..............................] - ETA: 1s - loss: 0.7940

73/562 [==>...........................] - ETA: 0s - loss: 1.9745

142/562 [======>.......................] - ETA: 0s - loss: 1.5979

210/562 [==========>...................] - ETA: 0s - loss: 1.9725

284/562 [==============>...............] - ETA: 0s - loss: 1.7175

357/562 [==================>...........] - ETA: 0s - loss: 1.5249

432/562 [======================>.......] - ETA: 0s - loss: 1.3865

505/562 [=========================>....] - ETA: 0s - loss: 1.3051

562/562 [==============================] - 0s 702us/step - loss: 1.2948

Epoch 18/50

1/562 [..............................] - ETA: 1s - loss: 0.8000

74/562 [==>...........................] - ETA: 0s - loss: 1.9498

148/562 [======>.......................] - ETA: 0s - loss: 1.6889

222/562 [==========>...................] - ETA: 0s - loss: 1.9183

296/562 [==============>...............] - ETA: 0s - loss: 1.6696

370/562 [==================>...........] - ETA: 0s - loss: 1.4798

445/562 [======================>.......] - ETA: 0s - loss: 1.3642

517/562 [==========================>...] - ETA: 0s - loss: 1.2972

562/562 [==============================] - 0s 686us/step - loss: 1.2903

Epoch 19/50

1/562 [..............................] - ETA: 1s - loss: 0.8043

72/562 [==>...........................] - ETA: 0s - loss: 1.9806

141/562 [======>.......................] - ETA: 0s - loss: 1.5936

211/562 [==========>...................] - ETA: 0s - loss: 1.9573

282/562 [==============>...............] - ETA: 0s - loss: 1.7044

353/562 [=================>............] - ETA: 0s - loss: 1.5251

425/562 [=====================>........] - ETA: 0s - loss: 1.3836

497/562 [=========================>....] - ETA: 0s - loss: 1.3028

562/562 [==============================] - 0s 708us/step - loss: 1.2861

Epoch 20/50

1/562 [..............................] - ETA: 0s - loss: 0.8075

73/562 [==>...........................] - ETA: 0s - loss: 1.9563

145/562 [======>.......................] - ETA: 0s - loss: 1.6100

215/562 [==========>...................] - ETA: 0s - loss: 1.9380

286/562 [==============>...............] - ETA: 0s - loss: 1.6930

359/562 [==================>...........] - ETA: 0s - loss: 1.5026

433/562 [======================>.......] - ETA: 0s - loss: 1.3712

505/562 [=========================>....] - ETA: 0s - loss: 1.2926

562/562 [==============================] - 0s 699us/step - loss: 1.2823

Epoch 21/50

1/562 [..............................] - ETA: 1s - loss: 0.8093

72/562 [==>...........................] - ETA: 0s - loss: 1.9697

144/562 [======>.......................] - ETA: 0s - loss: 1.6074

213/562 [==========>...................] - ETA: 0s - loss: 1.9361

281/562 [==============>...............] - ETA: 0s - loss: 1.6941

353/562 [=================>............] - ETA: 0s - loss: 1.5159

425/562 [=====================>........] - ETA: 0s - loss: 1.3755

497/562 [=========================>....] - ETA: 0s - loss: 1.2955

562/562 [==============================] - 0s 709us/step - loss: 1.2789

Epoch 22/50

1/562 [..............................] - ETA: 1s - loss: 0.8097

74/562 [==>...........................] - ETA: 0s - loss: 1.9279

145/562 [======>.......................] - ETA: 0s - loss: 1.6016

217/562 [==========>...................] - ETA: 0s - loss: 1.9205

289/562 [==============>...............] - ETA: 0s - loss: 1.6702

359/562 [==================>...........] - ETA: 0s - loss: 1.4942

431/562 [======================>.......] - ETA: 0s - loss: 1.3674

502/562 [=========================>....] - ETA: 0s - loss: 1.2899

562/562 [==============================] - 0s 701us/step - loss: 1.2756

Epoch 23/50

  1/562 [..............................] - ETA: 1s - loss: 0.8086

74/562 [==>...........................] - ETA: 0s - loss: 1.9220

146/562 [======>.......................] - ETA: 0s - loss: 1.6124

220/562 [==========>...................] - ETA: 0s - loss: 1.8987

293/562 [==============>...............] - ETA: 0s - loss: 1.6512

365/562 [==================>...........] - ETA: 0s - loss: 1.4708

438/562 [======================>.......] - ETA: 0s - loss: 1.3525

510/562 [==========================>...] - ETA: 0s - loss: 1.2815

562/562 [==============================] - 0s 695us/step - loss: 1.2725

Epoch 24/50

1/562 [..............................] - ETA: 0s - loss: 0.8062

70/562 [==>...........................] - ETA: 0s - loss: 1.9823

136/562 [======>.......................] - ETA: 0s - loss: 1.5865

207/562 [==========>...................] - ETA: 0s - loss: 1.9391

279/562 [=============>................] - ETA: 0s - loss: 1.6848

351/562 [=================>............] - ETA: 0s - loss: 1.5100

425/562 [=====================>........] - ETA: 0s - loss: 1.3647

498/562 [=========================>....] - ETA: 0s - loss: 1.2844

562/562 [==============================] - 0s 709us/step - loss: 1.2693

Epoch 25/50

1/562 [..............................] - ETA: 1s - loss: 0.8031

73/562 [==>...........................] - ETA: 0s - loss: 1.9253

146/562 [======>.......................] - ETA: 0s - loss: 1.6032

218/562 [==========>...................] - ETA: 0s - loss: 1.8976

289/562 [==============>...............] - ETA: 0s - loss: 1.6559

362/562 [==================>...........] - ETA: 0s - loss: 1.4720

434/562 [======================>.......] - ETA: 0s - loss: 1.3512

506/562 [==========================>...] - ETA: 0s - loss: 1.2763

562/562 [==============================] - 0s 696us/step - loss: 1.2661

Epoch 26/50

1/562 [..............................] - ETA: 0s - loss: 0.8016

73/562 [==>...........................] - ETA: 0s - loss: 1.9189

147/562 [======>.......................] - ETA: 0s - loss: 1.6230

212/562 [==========>...................] - ETA: 0s - loss: 1.9110

285/562 [==============>...............] - ETA: 0s - loss: 1.6680

357/562 [==================>...........] - ETA: 0s - loss: 1.4845

430/562 [=====================>........] - ETA: 0s - loss: 1.3527

502/562 [=========================>....] - ETA: 0s - loss: 1.2771

562/562 [==============================] - 0s 703us/step - loss: 1.2631

Epoch 27/50

  1/562 [..............................] - ETA: 1s - loss: 0.8004

71/562 [==>...........................] - ETA: 0s - loss: 1.9476

141/562 [======>.......................] - ETA: 0s - loss: 1.5621

213/562 [==========>...................] - ETA: 0s - loss: 1.9027

283/562 [==============>...............] - ETA: 0s - loss: 1.6680

351/562 [=================>............] - ETA: 0s - loss: 1.4979

420/562 [=====================>........] - ETA: 0s - loss: 1.3623

492/562 [=========================>....] - ETA: 0s - loss: 1.2826

562/562 [==============================] - 0s 715us/step - loss: 1.2602

Epoch 28/50

1/562 [..............................] - ETA: 1s - loss: 0.7990

68/562 [==>...........................] - ETA: 0s - loss: 2.0022

140/562 [======>.......................] - ETA: 0s - loss: 1.5631

211/562 [==========>...................] - ETA: 0s - loss: 1.9066

280/562 [=============>................] - ETA: 0s - loss: 1.6638

353/562 [=================>............] - ETA: 0s - loss: 1.4880

425/562 [=====================>........] - ETA: 0s - loss: 1.3513

493/562 [=========================>....] - ETA: 0s - loss: 1.2788

562/562 [==============================] - 0s 715us/step - loss: 1.2575

Epoch 29/50

1/562 [..............................] - ETA: 1s - loss: 0.7976

73/562 [==>...........................] - ETA: 0s - loss: 1.9054

145/562 [======>.......................] - ETA: 0s - loss: 1.5741

216/562 [==========>...................] - ETA: 0s - loss: 1.8880

288/562 [==============>...............] - ETA: 0s - loss: 1.6434

360/562 [==================>...........] - ETA: 0s - loss: 1.4644

428/562 [=====================>........] - ETA: 0s - loss: 1.3457

499/562 [=========================>....] - ETA: 0s - loss: 1.2699

562/562 [==============================] - 0s 710us/step - loss: 1.2548

Epoch 30/50

1/562 [..............................] - ETA: 1s - loss: 0.7962

70/562 [==>...........................] - ETA: 0s - loss: 1.9499

142/562 [======>.......................] - ETA: 0s - loss: 1.5494

214/562 [==========>...................] - ETA: 0s - loss: 1.8866

286/562 [==============>...............] - ETA: 0s - loss: 1.6481

358/562 [==================>...........] - ETA: 0s - loss: 1.4674

430/562 [=====================>........] - ETA: 0s - loss: 1.3404

486/562 [========================>.....] - ETA: 0s - loss: 1.2839

557/562 [============================>.] - ETA: 0s - loss: 1.2571

562/562 [==============================] - 0s 729us/step - loss: 1.2521

Epoch 31/50

1/562 [..............................] - ETA: 1s - loss: 0.7949

57/562 [==>...........................] - ETA: 0s - loss: 2.1785

126/562 [=====>........................] - ETA: 0s - loss: 1.4532

185/562 [========>.....................] - ETA: 0s - loss: 1.9581

256/562 [============>.................] - ETA: 0s - loss: 1.7252

325/562 [================>.............] - ETA: 0s - loss: 1.5422

396/562 [====================>.........] - ETA: 0s - loss: 1.3834

468/562 [=======================>......] - ETA: 0s - loss: 1.3036

538/562 [===========================>..] - ETA: 0s - loss: 1.2609

562/562 [==============================] - 0s 748us/step - loss: 1.2495

Epoch 32/50

1/562 [..............................] - ETA: 1s - loss: 0.7936

72/562 [==>...........................] - ETA: 0s - loss: 1.9105

145/562 [======>.......................] - ETA: 0s - loss: 1.5651

217/562 [==========>...................] - ETA: 0s - loss: 1.8699

289/562 [==============>...............] - ETA: 0s - loss: 1.6277

363/562 [==================>...........] - ETA: 0s - loss: 1.4450

435/562 [======================>.......] - ETA: 0s - loss: 1.3291

508/562 [==========================>...] - ETA: 0s - loss: 1.2550

562/562 [==============================] - 0s 699us/step - loss: 1.2469

Epoch 33/50

1/562 [..............................] - ETA: 1s - loss: 0.7924

51/562 [=>............................] - ETA: 0s - loss: 2.1768

120/562 [=====>........................] - ETA: 0s - loss: 1.4615

192/562 [=========>....................] - ETA: 0s - loss: 1.9243

263/562 [=============>................] - ETA: 0s - loss: 1.7009

337/562 [================>.............] - ETA: 0s - loss: 1.5059

409/562 [====================>.........] - ETA: 0s - loss: 1.3559

481/562 [========================>.....] - ETA: 0s - loss: 1.2846

554/562 [============================>.] - ETA: 0s - loss: 1.2470

562/562 [==============================] - 0s 731us/step - loss: 1.2443

Epoch 34/50

1/562 [..............................] - ETA: 0s - loss: 0.7913

73/562 [==>...........................] - ETA: 0s - loss: 1.8839

145/562 [======>.......................] - ETA: 0s - loss: 1.5588

218/562 [==========>...................] - ETA: 0s - loss: 1.8550

290/562 [==============>...............] - ETA: 0s - loss: 1.6165

359/562 [==================>...........] - ETA: 0s - loss: 1.4509

433/562 [======================>.......] - ETA: 0s - loss: 1.3256

505/562 [=========================>....] - ETA: 0s - loss: 1.2515

562/562 [==============================] - 0s 699us/step - loss: 1.2417

Epoch 35/50

1/562 [..............................] - ETA: 1s - loss: 0.7905

74/562 [==>...........................] - ETA: 0s - loss: 1.8630

147/562 [======>.......................] - ETA: 0s - loss: 1.5918

220/562 [==========>...................] - ETA: 0s - loss: 1.8404

293/562 [==============>...............] - ETA: 0s - loss: 1.6022

367/562 [==================>...........] - ETA: 0s - loss: 1.4223

438/562 [======================>.......] - ETA: 0s - loss: 1.3151

510/562 [==========================>...] - ETA: 0s - loss: 1.2478

562/562 [==============================] - 0s 693us/step - loss: 1.2392

Epoch 36/50

1/562 [..............................] - ETA: 1s - loss: 0.7899

73/562 [==>...........................] - ETA: 0s - loss: 1.8753

146/562 [======>.......................] - ETA: 0s - loss: 1.5671

215/562 [==========>...................] - ETA: 0s - loss: 1.8568

289/562 [==============>...............] - ETA: 0s - loss: 1.6126

360/562 [==================>...........] - ETA: 0s - loss: 1.4416

434/562 [======================>.......] - ETA: 0s - loss: 1.3184

506/562 [==========================>...] - ETA: 0s - loss: 1.2465

562/562 [==============================] - 0s 699us/step - loss: 1.2368

Epoch 37/50

1/562 [..............................] - ETA: 0s - loss: 0.7896

72/562 [==>...........................] - ETA: 0s - loss: 1.8884

144/562 [======>.......................] - ETA: 0s - loss: 1.5524

216/562 [==========>...................] - ETA: 0s - loss: 1.8517

288/562 [==============>...............] - ETA: 0s - loss: 1.6130

361/562 [==================>...........] - ETA: 0s - loss: 1.4355

435/562 [======================>.......] - ETA: 0s - loss: 1.3151

507/562 [==========================>...] - ETA: 0s - loss: 1.2425

562/562 [==============================] - 0s 699us/step - loss: 1.2343

Epoch 38/50

1/562 [..............................] - ETA: 1s - loss: 0.7896

60/562 [==>...........................] - ETA: 0s - loss: 2.0894

120/562 [=====>........................] - ETA: 0s - loss: 1.4489

190/562 [=========>....................] - ETA: 0s - loss: 1.9085

262/562 [============>.................] - ETA: 0s - loss: 1.6826

334/562 [================>.............] - ETA: 0s - loss: 1.4962

406/562 [====================>.........] - ETA: 0s - loss: 1.3451

480/562 [========================>.....] - ETA: 0s - loss: 1.2734

554/562 [============================>.] - ETA: 0s - loss: 1.2343

562/562 [==============================] - 0s 731us/step - loss: 1.2318

Epoch 39/50

1/562 [..............................] - ETA: 1s - loss: 0.7897

70/562 [==>...........................] - ETA: 0s - loss: 1.9099

141/562 [======>.......................] - ETA: 0s - loss: 1.5276

215/562 [==========>...................] - ETA: 0s - loss: 1.8433

287/562 [==============>...............] - ETA: 0s - loss: 1.6099

360/562 [==================>...........] - ETA: 0s - loss: 1.4320

432/562 [======================>.......] - ETA: 0s - loss: 1.3133

503/562 [=========================>....] - ETA: 0s - loss: 1.2408

562/562 [==============================] - 0s 705us/step - loss: 1.2292

Epoch 40/50

  1/562 [..............................] - ETA: 1s - loss: 0.7891

73/562 [==>...........................] - ETA: 0s - loss: 1.8569

146/562 [======>.......................] - ETA: 0s - loss: 1.5533

218/562 [==========>...................] - ETA: 0s - loss: 1.8284

277/562 [=============>................] - ETA: 0s - loss: 1.6257

346/562 [=================>............] - ETA: 0s - loss: 1.4698

417/562 [=====================>........] - ETA: 0s - loss: 1.3297

488/562 [=========================>....] - ETA: 0s - loss: 1.2533

562/562 [==============================] - ETA: 0s - loss: 1.2264

562/562 [==============================] - 0s 720us/step - loss: 1.2264

Epoch 41/50

1/562 [..............................] - ETA: 1s - loss: 0.7895

67/562 [==>...........................] - ETA: 0s - loss: 1.9619

140/562 [======>.......................] - ETA: 0s - loss: 1.5246

215/562 [==========>...................] - ETA: 0s - loss: 1.8339

288/562 [==============>...............] - ETA: 0s - loss: 1.5974

362/562 [==================>...........] - ETA: 0s - loss: 1.4186

435/562 [======================>.......] - ETA: 0s - loss: 1.3034

505/562 [=========================>....] - ETA: 0s - loss: 1.2327

562/562 [==============================] - 0s 703us/step - loss: 1.2238

Epoch 42/50

  1/562 [..............................] - ETA: 1s - loss: 0.7933

72/562 [==>...........................] - ETA: 0s - loss: 1.8648

144/562 [======>.......................] - ETA: 0s - loss: 1.5366

216/562 [==========>...................] - ETA: 0s - loss: 1.8297

288/562 [==============>...............] - ETA: 0s - loss: 1.5939

360/562 [==================>...........] - ETA: 0s - loss: 1.4221

433/562 [======================>.......] - ETA: 0s - loss: 1.3031

505/562 [=========================>....] - ETA: 0s - loss: 1.2303

562/562 [==============================] - 0s 698us/step - loss: 1.2215

Epoch 43/50

1/562 [..............................] - ETA: 1s - loss: 0.7979

74/562 [==>...........................] - ETA: 0s - loss: 1.8301

147/562 [======>.......................] - ETA: 0s - loss: 1.5642

217/562 [==========>...................] - ETA: 0s - loss: 1.8223

292/562 [==============>...............] - ETA: 0s - loss: 1.5745

365/562 [==================>...........] - ETA: 0s - loss: 1.4035

439/562 [======================>.......] - ETA: 0s - loss: 1.2912

511/562 [==========================>...] - ETA: 0s - loss: 1.2270

562/562 [==============================] - 0s 693us/step - loss: 1.2193

Epoch 44/50

1/562 [..............................] - ETA: 1s - loss: 0.8015

74/562 [==>...........................] - ETA: 0s - loss: 1.8275

145/562 [======>.......................] - ETA: 0s - loss: 1.5297

217/562 [==========>...................] - ETA: 0s - loss: 1.8186

291/562 [==============>...............] - ETA: 0s - loss: 1.5755

365/562 [==================>...........] - ETA: 0s - loss: 1.4007

437/562 [======================>.......] - ETA: 0s - loss: 1.2926

508/562 [==========================>...] - ETA: 0s - loss: 1.2242

562/562 [==============================] - 0s 698us/step - loss: 1.2172

Epoch 45/50

1/562 [..............................] - ETA: 1s - loss: 0.8043

73/562 [==>...........................] - ETA: 0s - loss: 1.8406

146/562 [======>.......................] - ETA: 0s - loss: 1.5397

220/562 [==========>...................] - ETA: 0s - loss: 1.7993

294/562 [==============>...............] - ETA: 0s - loss: 1.5636

367/562 [==================>...........] - ETA: 0s - loss: 1.3916

441/562 [======================>.......] - ETA: 0s - loss: 1.2835

510/562 [==========================>...] - ETA: 0s - loss: 1.2226

562/562 [==============================] - 0s 701us/step - loss: 1.2151

Epoch 46/50

  1/562 [..............................] - ETA: 1s - loss: 0.8068

66/562 [==>...........................] - ETA: 0s - loss: 1.9660

139/562 [======>.......................] - ETA: 0s - loss: 1.5198

208/562 [==========>...................] - ETA: 0s - loss: 1.8355

274/562 [=============>................] - ETA: 0s - loss: 1.6144

345/562 [=================>............] - ETA: 0s - loss: 1.4529

417/562 [=====================>........] - ETA: 0s - loss: 1.3142

488/562 [=========================>....] - ETA: 0s - loss: 1.2390

560/562 [============================>.] - ETA: 0s - loss: 1.2138

562/562 [==============================] - 0s 724us/step - loss: 1.2129

Epoch 47/50

1/562 [..............................] - ETA: 0s - loss: 0.8089

68/562 [==>...........................] - ETA: 0s - loss: 1.9223

140/562 [======>.......................] - ETA: 0s - loss: 1.5107

212/562 [==========>...................] - ETA: 0s - loss: 1.8180

283/562 [==============>...............] - ETA: 0s - loss: 1.5937

354/562 [=================>............] - ETA: 0s - loss: 1.4241

428/562 [=====================>........] - ETA: 0s - loss: 1.2969

500/562 [=========================>....] - ETA: 0s - loss: 1.2234

562/562 [==============================] - 0s 705us/step - loss: 1.2108

Epoch 48/50

  1/562 [..............................] - ETA: 1s - loss: 0.8109

72/562 [==>...........................] - ETA: 0s - loss: 1.8480

146/562 [======>.......................] - ETA: 0s - loss: 1.5321

219/562 [==========>...................] - ETA: 0s - loss: 1.7913

291/562 [==============>...............] - ETA: 0s - loss: 1.5624

361/562 [==================>...........] - ETA: 0s - loss: 1.4021

433/562 [======================>.......] - ETA: 0s - loss: 1.2887

504/562 [=========================>....] - ETA: 0s - loss: 1.2178

562/562 [==============================] - 0s 704us/step - loss: 1.2087

Epoch 49/50

  1/562 [..............................] - ETA: 1s - loss: 0.8126

69/562 [==>...........................] - ETA: 0s - loss: 1.8916

140/562 [======>.......................] - ETA: 0s - loss: 1.5058

212/562 [==========>...................] - ETA: 0s - loss: 1.8100

284/562 [==============>...............] - ETA: 0s - loss: 1.5846

356/562 [==================>...........] - ETA: 0s - loss: 1.4126

427/562 [=====================>........] - ETA: 0s - loss: 1.2915

499/562 [=========================>....] - ETA: 0s - loss: 1.2196

562/562 [==============================] - 0s 709us/step - loss: 1.2065

Epoch 50/50

1/562 [..............................] - ETA: 1s - loss: 0.8142

72/562 [==>...........................] - ETA: 0s - loss: 1.8424

145/562 [======>.......................] - ETA: 0s - loss: 1.5155

216/562 [==========>...................] - ETA: 0s - loss: 1.7989

285/562 [==============>...............] - ETA: 0s - loss: 1.5792

355/562 [=================>............] - ETA: 0s - loss: 1.4129

425/562 [=====================>........] - ETA: 0s - loss: 1.2916

491/562 [=========================>....] - ETA: 0s - loss: 1.2252

557/562 [============================>.] - ETA: 0s - loss: 1.2088

562/562 [==============================] - 0s 727us/step - loss: 1.2043

<tensorflow.python.keras.callbacks.History at 0x7f14b6622350>

That was quite simple!

For reference, we got a loss about as low as 3 in our previous work. It was also much faster, thanks to the optimizations. Now let’s see how our model did on the test data

# get model predictions on test data and get labels
# squeeze to remove extra dimensions
yhat = np.squeeze(model.predict(test_data))
test_y = soldata['Solubility'].values[:test_N]

plt.plot(test_y, yhat, '.')
plt.plot(test_y, test_y, '-')
plt.xlabel('Measured Solubility $y$')
plt.ylabel('Predicted Solubility $\hat{y}$')
plt.text(min(test_y) + 1, max(test_y) - 2, f'correlation = {np.corrcoef(test_y, yhat)[0,1]:.3f}')
plt.text(min(test_y) + 1, max(test_y) - 3, f'loss = {np.sqrt(np.mean((test_y - yhat)**2)):.3f}')
plt.show()

This performance is better than our simple linear model.

## 1.8. Exercises¶

1. Make a plot of the ReLU function. Prove it is non-linear

2. Try increasing the number of layers in the neural network. Discuss what you see in context of the bias-variance trade off

3. Show that a neural network would be equivalent to linear regression if $$\sigma(\cdot)$$ was the identity function

4. What are the advantages and disadvantages of using deep learning instead of non-linear regression for fitting data? When might you choose non-linear regression over deep learning?

## 1.9. Chapter Summary¶

• Deep learning is a category of machine learning that utilizes neural networks for classification and regression of data.

• Neural networks are a series of operations with matrices of adjustable parameters.

• A neural network transforms input features into a new set of features that can be subsequently used for regression or classification.

• The most common layer is the dense layer. Each input element affects each output element. It is defined by the desired output feature shape and the activation function.

• With enough layers or wide enough hidden layers, neural networks can approximate unknown functions.

• Hidden layers are called such because we do not observe the output from one.

• Using libraries such as TensorFlow, it becomes easy to split data into training and testing, but also to build layers in the neural network.

• Building a neural network allows us to predict various properties of molecules, such as solubility.


text:
# How do I wrap an image around a sphere?

Ideally I'd like a reference of the math involved, so I can start breaking down the problem.

The simplest thing I can deduce about this problem is that the part of the sphere that the user is currently seeing is a circle on the image that is located somewhere on the image, and the rest of the coordinates on the image are somehow mapped to 3D with a linear transformation.

Consider the following example:

If I rotate the sphere theta degrees on the Y axis (up/down) to the left, the sun will come close to the center of the sphere and the tree that is currently positioned in the center will be shifted to the left as the three on the left currently is. You can consider that the volume of the image is exactly enough to have the image completely wrap the sphere.

• Could you add an image of what you're trying to achieve? Is quite unclear to me for now... Apr 8, 2015 at 15:50
• @AlexandreVaillancourt edited, if still unclear I'll try to have a better drawing :D Apr 8, 2015 at 16:06
• Yes, this is just basic UV mapping. Apr 8, 2015 at 16:09
• Just googled it , exactly what I was looking for. What's the best way to learn about it? Apr 8, 2015 at 16:10
• Code it :P Find yourself a rendering engine, program it and render it, you'll see how it all works together! Apr 8, 2015 at 17:05

Part of what you are looking for is an understanding of map or sphere projections.

http://en.wikipedia.org/wiki/Map_projection

A rectangle is not a sphere. (I know it's obvious, but useful to state.) To map a rectangle onto a sphere, you have some choices about how to do it. Your picture looks like it's an "equirectangular" mapping, which maps vertical position to latitude and horizontal position to longitude, like a classic wall map.

And this format is pretty standard for sphere pictures and sky environments, and is what @Dudeson's shader is doing.

But! It's valuable to know that it's a choice, and there are other projections. For example, "fisheye" projections like the one below are created by some cameras and are standard for planetarium projection images.

Expressed as a GLSL fragment shader (untested):

const float M_1_PI = 1.0 / 3.1415926535897932384626433832795;
const float M_1_2PI = 1.0 / 6.283185307179586476925286766559;

uniform sampler2D texture1;

varying vec3 v_normal;

void main(void)
{
vec3 n_normal = normalize(v_normal);

vec2 texture_coordinate;
texture_coordinate.x = 0.5 - atan(n_normal.z, n_normal.x) * M_1_2PI;
texture_coordinate.y = 0.5 - asin(-n_normal.y) * M_1_PI;

gl_FragColor = texture2D(texture1, texture_coordinate);
}

• thanks for the answer I appreciate it, but I prefer words for an answer since the function over the coordinates is hard to understand like that Apr 28, 2015 at 8:29

format: plain


text:
# Eliminate the Arbitrary Constants

1 post / 0 new
mburn
Eliminate the Arbitrary Constants

Please do leave a solution so I can study it, thank you!

Obtain the differential equation by eliminating the arbitrary constants.
1. Cxsiny+x^(2)y=Cy
2. y=Ae^(-3x)-Be^(2x)+Cx^3
3. Ay=e^(Bx^2)

• Mathematics inside the configured delimiters is rendered by MathJax. The default math delimiters are $$...$$ and $...$ for displayed mathematics, and $...$ and $...$ for in-line mathematics.


text:
# Solve

• Apr 13th 2010, 09:07 PM
EliteCore
Solve
I cant seem to find a way to actually find any solutions to this....any suggestions?

$3/(x^2+x)-1/(x+5)=0$
• Apr 13th 2010, 09:15 PM
harish21
Quote:

Originally Posted by EliteCore
I cant seem to find a way to actually solve this....any suggestions?

$3/(x^2+x)-1/(x+5)=0$

Where are you stuck at? its easy.

$\frac{a}{b} - \frac{c}{d} = \frac{(a\times d) - (b \times c)}{b \times d}$

• Apr 13th 2010, 09:28 PM
EliteCore
Quote:

Originally Posted by harish21
Where are you stuck at? its easy.

$\frac{a}{b} - \frac{c}{d} = \frac{(a\times d) - (b \times c)}{b \times d}$

Then I get this:

$(3(x+5)-x(x+1))/((x^2+x)(x+5))$

can I go any further?
• Apr 13th 2010, 09:31 PM
pickslides
Now expand the numerator and group like terms. (Rofl)
• Apr 13th 2010, 09:31 PM
harish21
Quote:

Originally Posted by EliteCore
Then I get this:

$(3(x+5)-x(x+1))/((x^2+x)(x+5))$

can I go any further?

now expand the numerator by multiplying the terms
• Apr 13th 2010, 09:36 PM
Wilmer
If numerator / denominator = 0, then numerator = 0
• Apr 13th 2010, 09:44 PM
EliteCore
is $(-(x-5))/(x(x+2))$

• Apr 13th 2010, 09:48 PM
harish21
Quote:

Originally Posted by EliteCore
is $(-(x-5))/(x(x+2))$

NO.

$\frac{3(x+5)-x(x+1)}{(x^2+x)(x+5)}$ is what you had gotten.

according to your question, this term = 0, so you have,

$\frac{3(x+5)-x(x+1)}{(x^2+x)(x+5)} = 0$

Look at what Wilmer has said in the post above. That gives you:

$3(x+5)-x(x+1) = 0$

$3x+15-x^2-x=0$

$2x+15-x^2=0$

$x^2-2x-15=0$

Solve this quadratic equation for the value of x!


text:
# nLab N=4 D=3 super Yang-Mills theory

supersymmetry

## Applications

### Ingredients

• quantum field theory

• effective background QFT

• ### Critical string models

• heterotic string theory

• type II string theory

• string field theory

• duality in string theory

• brane

• D-brane

• NS-brane

• M-brane

• ### Topological strings

• topological M-theory

• ## Backgrounds

• twisted smooth cohomology in string theory

• landscape of string theory vacua

• ## Phenomenology

• string phenomenology

• # Contents

## Idea

The special case of super Yang-Mills theory over a spacetime of dimension 3 and with $N = 4$ supersymmetry.

## Properties

### Reduction from $N = 2$, $D = 4$

The $N = 4$, $D = 3$ SYM theory can be obtained by dimensional reduction from N=2 D=4 super Yang-Mills theory (Seiberg-Witten 96)

### Mirror symmetry

A version of mirror symmetry acts on the $N = 4$, $D = 3$ SYM moduli space of vacua and exchanges the Coulomb branch with the Higgs branch. (Intriligator-Seiberg 96)


text:
Want to ask us a question? Click here
Browse Questions
 Ad
0 votes

# Three numbers are given whose sum is $180$ and the ratio between first two of them is $1: 2$.If the product of the number is greatest,find the numbers.

Can you answer this question?

0 votes
0 answers

0 votes
0 answers

+1 vote
1 answer

0 votes
0 answers

0 votes
0 answers

0 votes
0 answers

0 votes
0 answers


text:
International Association for Cryptologic Research

# IACR News Central

Get an update on changes of the IACR web-page here. For questions, contact newsletter (at) iacr.org. You can also receive updates via:

To receive your credentials via mail again, please click here.

You can also access the full news archive.

Further sources to find out about changes are CryptoDB, ePrint RSS, ePrint Web, Event calender (iCal).

2015-04-29
15:17 [Pub][ePrint]

In October 2012, the American National Institute of Standards and Technology (NIST) announced the selection of Keccak as the winner of the SHA-3 Cryptographic Hash Algorithm Competition [10,11]. This concluded an open competition that was remarkable both for its magnitude and the involvement of the cryptographic community. Public review is of paramount importance to increase the confidence in the new standard and to favor its quick adoption. The SHA-3 competition explicitly took this into account by giving open access to the candidate algorithms and everyone in the cryptographic community could try to break them, compare their performance, or simply give comments.

15:17 [Pub][ePrint]

We propose a new generic framework for achieving fully secure attribute based encryption (ABE) in prime-order bilinear groups. It is generic in the sense that it can be applied to ABE for arbitrary predicate. All previously available frameworks that are generic in this sense are given only in composite-order bilinear groups. These consist of the frameworks proposed by Wee (TCC\'14) and Attrapadung (Eurocrypt\'14). Both frameworks provide abstractions of dual-system encryption techniques introduced by Waters (Crypto\'09). Our framework can be considered as a prime-order version of Attrapadung\'s framework and works in a similar manner: it relies on a main component called pair encodings, and it generically compiles any secure pair encoding scheme for a predicate in consideration to a fully secure ABE scheme for that predicate. One feature of our new compiler is that although the resulting ABE schemes will be newly defined in prime-order groups, we require essentially the same security notions of pair encodings as before. Beside the security of pair encodings, our framework assumes only the Matrix Diffie-Hellman assumption, introduced by Escala et al. (Crypto\'13), which is a weak assumption that includes the Decisional Linear assumption as a special case.

As for its applications, we can plug in available pair encoding schemes and automatically obtain the first fully secure ABE realizations in prime-order groups for predicates of which only fully secure schemes in composite-order groups were known. These include ABE for regular languages, ABE for monotone span programs (and hence Boolean formulae) with short ciphertexts or keys, and completely unbounded ABE for monotone span programs.

As a side result, we establish the first generic implication from ABE for monotone span programs to ABE for branching programs. Consequently, we obtain fully-secure ABE for branching programs in some new variants, namely, unbounded, short-ciphertext, and short-key variants. Previous ABE schemes for branching programs are bounded and require linear-size ciphertexts and keys.

15:17 [Pub][ePrint]

Information theoretically secure multi-party computation (MPC) is a central

primitive of modern cryptography. However, relatively little

is known about the communication complexity of this primitive.

In this work, we develop powerful information theoretic tools to prove lower

bounds on the communication complexity of MPC. We restrict ourselves to a

concrete setting involving 3-parties, in order to bring out the power of

these tools without introducing too many complications. Our techniques

include the use of a data processing inequality for {\\em residual

information} --- i.e., the gap between mutual information and

G\\\'acs-K\\\"orner common information, a new {\\em information inequality} for

3-party protocols, and the idea of {\\em distribution switching} by which

lower bounds computed under certain worst-case scenarios can be shown to

apply for the general case.

Using these techniques we obtain tight bounds on communication complexity by

MPC protocols for various interesting functions. In particular, we show

concrete functions that have communication-ideal\'\' protocols, which

achieve the minimum communication simultaneously on all links in the

network. Also, we obtain the first {\\em explicit} example of a function that

incurs a higher communication cost than the input length in the secure

computation model of Feige, Kilian and Naor \\cite{FeigeKiNa94}, who had

shown that such functions exist. We also show that our communication bounds

imply tight lower bounds on the amount of randomness required by MPC

protocols for many interesting functions.

15:17 [Pub][ePrint]

ICEPOLE is a family of authenticated encryptions schemes submitted to the ongoing CAESAR competition and in addition presented at CHES 2014. To justify the use of ICEPOLE, or to point out potential weaknesses, third-party cryptanalysis is needed. In this work, we evaluate the resistance of ICEPOLE-128 against forgery attacks. By using differential cryptanalysis, we are able to create forgeries from a known ciphertext-tag pair with a probability of $2^{-60.3}$ for a round-reduced version of ICEPOLE-128, where the last permutation is reduced to 4 (out of 6) rounds. This is a noticeable advantage compared to simply guessing the right tag, which works with a probability of $2^{-128}$. As far as we know, this is the first published attack in a nonce-respecting setting on round-reduced versions of ICEPOLE-128.

15:17 [Pub][ePrint]

In this paper we present the first biclique cryptanalysis of MIBS block cipher

and a new biclique cryptanalysis of PRESENT block cipher. These attacks are

performed on full-round MIBS-80 and full-round PRESENT-80. Attack on MIBS-

80 uses matching without matrix method and has a data complexity upper bounded

by $2^{52}$ chosen plaintext where it reduced security of this cipher about 1 bit. Attack

on PRESENT-80 has a data complexity of at most $2^{22}$ chosen plaintexts and computational

complexity of $2^{79.37}$ encryptions that both complexities are lower than other

cryptanalyses of PRESENT-80 so far.

00:17 [Pub][ePrint]

The general concept of Physically Unclonable Functions (PUFs) has been nowadays widely accepted and adopted to meet the requirements of secure identification and key generation/storage for cryptographic ciphers. However, shattered by different kinds of attacks, it has been proved that the promised security features of arbiter PUFs, including unclonability and unpredictability do not hold unconditionally. It has been stated in the literature that arbiter PUFs can be broken by launching modeling attacks, i.e., applying machine learning methods. In this case, a large set of Challenge-Response Pairs (CRP) is collected by an attacker, aiming at mathematically modeling the Challenge-Response behavior for a given arbiter PUF. However, the success of all existing modeling attacks rests so far on pure trial and error estimates. This means that neither the probability of obtaining a useful model (confidence), nor the maximum number of required CRPs, nor the correct prediction of an unknown challenge (accuracy) is guaranteed at all. To address these issues, this work will present a Probably Approximately Correct (PAC) learning algorithm. This proves that learning of any arbiter PUF for prescribed levels of accuracy and confidence can be done in polynomial time. Based on some crucial discretization process, we are able to define a Deterministic Finite Automaton (of polynomial size), which exactly accepts that regular language that corresponds to the challenges mapped by the given PUF to one responses. We also prove that the maximum required number of CRPs is polynomial in the number of arbiter stages. A further analysis reveals that this maximum number of CRPs is also polynomial in the maximum deviation of the arbiter delays as well as the pre-defined levels of accuracy and confidence. To the best of our knowledge this is the first algorithm which can provably learn an arbitrary arbiter PUF. Moreover, our proof of the PAC learnability of arbiter PUFs gives many new insights into the correct construction of secure arbiter PUFs in general.

00:17 [Pub][ePrint]

Cloud brokers have been recently introduced as an additional computational layer to facilitate cloud selection and service

management tasks for cloud consumers. However, existing brokerage schemes on cloud service selection typically assume that

brokers are completely trusted, and do not provide any guarantee over the correctness of the service recommendations. It is then

possible for a compromised or dishonest broker to easily take advantage of the limited capabilities of the clients and provide incorrect

or incomplete responses. To address this problem, we propose an innovative Cloud Service Selection Verification (CSSV) scheme and

index structures (MMBcloud-tree) to enable cloud clients to detect misbehavior of the cloud brokers during the service selection

process. We demonstrate correctness and efficiency of our approaches both theoretically and empirically.

00:17 [Pub][ePrint]

The decorrelation theory provides a different point of view on the security of

block cipher primitives. Results on some statistical attacks obtained in

this context can support or provide new insight on the security of symmetric

cryptographic primitives.

In this paper, we study, for the first time, the

multidimensional linear attacks as well as the truncated differential

attacks in this context. We show that the cipher should be decorrelated of

order two to be resistant against some multidimensional linear and

truncated differential attacks. Previous results obtained with this theory

for linear, differential, differential-linear and boomerang attacks

are also resumed and improved in this paper.

00:17 [Pub][ePrint]

A (or a group of) selling agent wants to allocate and sell a (or a set of) parcel of land optimally and fairly to a buying agent within the capacity constraint of the selling agent and budget constraint of the buying agent. This problem has been solved by combining the concept of algorithmic cooperative game theory and financial cryptography. This is an approach for a group of decision-making agents to reach a mutually beneficial agreement through compromise and stable matching of preference. The work presents a cooperative game and a set of algorithmic coordination mechanisms: SBSS, SBMS (for collective and non-collective bargaining in holdout problem) and MBSS. The game is characterized by a set of agents, inputs, strategic moves, revelation principle, payment function and outputs. The coordination mechanisms are designed based on domain planning, rational fair data exchange and compensation negotiation. These mechanisms preserve the privacy of strategic data through secure multi-party computation (SMC), more specifically solving Yao\'s millionaire problem. The mechanisms are analyzed from the perspectives of revelation principle, computational intelligence and communication complexity. The communication complexity depends on the time constraint of the negotiating agents, their information state and the number of negotiation issues. The computational complexity depends on the valuation of pricing plan, compensation estimation and private comparison. It is a mixed strategy game; both sequential and simultaneous moves can be applied intelligently to search a neighborhood space of core solutions.

00:17 [Pub][ePrint]

Over the last years lattice-based cryptography has received much attention due to versatile average-case problems like Ring-LWE or Ring-SIS that appear to be intractable by quantum computers. But despite of promising constructions, only few results have been published on implementation issues on very constrained platforms. In this work we therefore study and compare implementations of Ring-LWE encryption and the Bimodal Lattice Signature Scheme (BLISS) on an 8-bit Atmel ATxmega128 microcontroller. Since the number theoretic transform (NTT) is one of the core components in implementations of lattice-based cryptosystems, we review the application of the NTT in previous implementations and present an improved approach that significantly lowers the runtime for polynomial multiplication. Our implementation of Ring-LWE encryption takes 41 ms for encryption and 12 ms for decryption. To compute a BLISS signature, our software takes 316 ms and 111 ms for verification. These results outperform implementations on similar platforms and underline the feasibility of lattice-based cryptography on constrained devices.

00:17 [Pub][ePrint]

A celebrated result by Barak et al (JACM\'12) shows the impossibility of general-purpose virtual black-box (VBB) obfuscation in the plain model. A recent work by Canetti, Kalai, and Paneth (TCC\'15) extends this result also to the random oracle model (assuming trapdoor per- mutations).

In contrast, Brakerski-Rothblum (TCC\'15) and Barak et al (EuroCrypt\'14) show that in idealized graded encoding models, general-purpose VBB obfuscation indeed is possible; these construction require graded encoding schemes that enable evaluating high-degree (polynomial in the size of the circuit to be obfuscated) polynomials on encodings.

We show a complementary impossibility of general-purpose VBB obfuscation in idealized graded encoding models that enable only evaluation of constant-degree polynomials (assuming trapdoor permutations).


text:
# Point) Solve the separable differential equationIx - 4yVz+7 dy = 0. dxSubject to the initial condition: Y(0) = 6_

###### Question:

point) Solve the separable differential equation Ix - 4yVz+7 dy = 0. dx Subject to the initial condition: Y(0) = 6_

#### Similar Solved Questions

##### Find all intervals on which the function flx) = 8*x^3 - 2*x^4 is concave downward. Give the answer in interval notation. Show your work2 pointsYour answer
Find all intervals on which the function flx) = 8*x^3 - 2*x^4 is concave downward. Give the answer in interval notation. Show your work 2 points Your answer...
##### We roll two dice. Assume all 36 possibilities are equally likely. Let X1 and X2 be...
We roll two dice. Assume all 36 possibilities are equally likely. Let X1 and X2 be the result of the first and second die, respectively. Let S be the sum of the scores, that is S = X1 + X2. Calculate the following: (a) P(S = k), for k 2,3,... 12. (b) P(X1 = 2 S = k) for k = 2,3,... 12. (c) P(X1 = 6|...
##### (crtet %1AtrhlIn IAnuuOOs AmadcAssumc that te schoo girls averge 25 {ext mcssages daily; bigh 02874244 cala According t0 cccnt tnve} rndom sampl: of 1001 high : school gidls. The eatc72 populadon mtin suIvc} was bascd on conudence intcrval 0f te tcxt mes9zge5 daily. What is the %9/ comzuted 2 TExs Tthatal high schocl girls scnd daily?
(crtet %1 Atrhl In IAnuu OOs Amadc Assumc that te schoo girls averge 25 {ext mcssages daily; bigh 02874244 cala According t0 cccnt tnve} rndom sampl: of 1001 high : school gidls. The eatc72 populadon mtin suIvc} was bascd on conudence intcrval 0f te tcxt mes9zge5 daily. What is the %9/ comzuted 2 T...
##### 1 Consider the graph below.Determine the following:a) the domain and range(b) the â‚¬ and y-intercepts (where they exist)(c) if it has an inverse function. Explain your answer_
1 Consider the graph below. Determine the following: a) the domain and range (b) the â‚¬ and y-intercepts (where they exist) (c) if it has an inverse function. Explain your answer_...
##### The Gini index; given by 2 f(z))dz; is a measure of a country's income equality on & scale of 0 (perfectly equal) to 1 (perfectly unequal) If a country has f(z) 263 which expression represents the value of their Gini Index:5.3)
The Gini index; given by 2 f(z))dz; is a measure of a country's income equality on & scale of 0 (perfectly equal) to 1 (perfectly unequal) If a country has f(z) 263 which expression represents the value of their Gini Index: 5.3)...
##### Multiple Choice Question 180 If a worksheet is used to facilitate the preparation of the statement...
Multiple Choice Question 180 If a worksheet is used to facilitate the preparation of the statement of cash flows, noncash transactions should O not be included because they are for investing and financing activities. O be marked with asterisks. O be omitted because the worksheet is only for cash tra...
##### 1.) Find all solutions to trignometric equations below: 4 sin^2 Î¸ - 3 = 0 âˆš3 tan (3 Î¸) + 1 = 0 Prove the identity: sin x/1-cos x - cot x = csc x
1.) Find all solutions to trignometric equations below: 4 sin^2 Î¸ - 3 = 0 âˆš3 tan (3 Î¸) + 1 = 0 Prove the identity: sin x/1-cos x - cot x = csc x...
##### LneniniHedoecnlMeMo @eUse differentiation find power senes representationMI-4Whatthe radius convergence; R?(b) Use part (0) find . power senes totWhat i5 the diusconvergence(c) Use pSTpowier senes for4, 4JWhat=Talongconvergence, R?BI Deacee DecaeDlnMkatAeen TtenDoncr :enc' reprcecntabontuncbon;Dcicrminc Inc radiusconvcrorneepeoinuJEs CalcEn 0e025 ULUkateur TerontEvaluate the indefinite integral as poner 5enesWhat = the rdius convergence R?RencHnlpiPieahut
Lnenini Hedoecnl Me Mo @e Use differentiation find power senes representation MI-4 What the radius convergence; R? (b) Use part (0) find . power senes tot What i5 the dius convergence (c) Use pST powier senes for 4, 4J What= Talong convergence, R? BI Deace e DecaeDln Mkat Aeen Tten Doncr :enc' ...
##### An artificial cell containing an aqueous solution of 0.1 M glucose and 0.6 M starch enclosed in a selectively permeable membrane has been immersed in a beaker containing an aqueous solution of 0.3 M glucose and 0.1 M starch"Cell""Environment" (beaker solution)0.1 % glucose0.3 % glucose 0.1 % starch0.6 % starchIn which direction will there be a net osmotic movement of water?After the cell is placed into the beaker for 30 minutes, do you expect that the artificial cell would sh
An artificial cell containing an aqueous solution of 0.1 M glucose and 0.6 M starch enclosed in a selectively permeable membrane has been immersed in a beaker containing an aqueous solution of 0.3 M glucose and 0.1 M starch "Cell" "Environment" (beaker solution) 0.1 % glucose 0.3...
##### How do you solve \frac { 3} { 5} = \frac { x } { 22}?
How do you solve \frac { 3} { 5} = \frac { x } { 22}?...
##### Find the minimum sample siz0 required in order t0 te population tonm mean [ 95* confidence interval about where the error is within 3 inches of the populaton mean Assume the populaton standard deviation iS 18. inches (6 points)Use a significance level of a = 0.05 t0 test the claim that p < 0.74. The sample data consists Of x = 52 successes out of 65 trialsState the hypotheses and label the claim: (2 points)State the significance level (a). (2 points)Is the test left-tailed, right-tailed, or t
Find the minimum sample siz0 required in order t0 te population tonm mean [ 95* confidence interval about where the error is within 3 inches of the populaton mean Assume the populaton standard deviation iS 18. inches (6 points) Use a significance level of a = 0.05 t0 test the claim that p < 0.74....
##### Consider the following information: Rate of Return if State Occurs State of Probability of State Economy of Economy Stoc...
Consider the following information: Rate of Return if State Occurs State of Probability of State Economy of Economy Stock A Stock B Stock C Boom .75 .07 .01 .27 Bust .25 .12 .19 –.05 Required: (a) What is the expected return on an equally weighted portfolio of these three stocks? (Do not round...
##### Which of the following series converges for all real numbers x ?23n2Vnenznnicn
Which of the following series converges for all real numbers x ? 23 n2 Vn enzn nicn...
##### 3. Ehrenfest's Theorem states that dA i for an observable A and a time-independent Hamiltonian H....
3. Ehrenfest's Theorem states that dA i for an observable A and a time-independent Hamiltonian H. Consider a QM system in 1D with time-independent Hamiltonian H 2 V(x). Use Ehrenfest's Theorem to determine Jlx) and p). What is 듦(z)? 4. A projection operator Pn is defined by where ther...
##### Do men score lower on average compared to women on their statistics finals? Final exam scores...
Do men score lower on average compared to women on their statistics finals? Final exam scores of twelve randomly selected male statistics students and twelve randomly selected female statistics students are shown below. Male: 74 62 81 68 82 77 85 61 67 87 66 83 Female: 959973 78 92 84 82 78 81 90 78...
##### Name the type of opinion indicated by each of the following situations: a. There is a...
Name the type of opinion indicated by each of the following situations: a. There is a material uncertainty. b. There was a change in accounting principle. c. There is no material scope limitation or material departure from GAAP. d. The financial statements do not present fairly the financial positio...
##### Find 6x(1,1) if f(x,y) 2xy +x26x(1,1) = (Type an integer or & simplified fraction )
Find 6x(1,1) if f(x,y) 2xy +x2 6x(1,1) = (Type an integer or & simplified fraction )...
##### Indicative Of two bonded atoms whete both nuclel Attrct Which figure in Model _ the electrons stroncly?Question 5pESMatch the cortect ngure an Model with the comect set B of borded atoms from 04[CncosciChogt|ACIDOSC
indicative Of two bonded atoms whete both nuclel Attrct Which figure in Model _ the electrons stroncly? Question 5 pES Match the cortect ngure an Model with the comect set B of borded atoms from 04 [Cncosc iChogt| ACIDOSC...
##### Question 6. [Marks: 12] Explain nuclear binding energy. Describe beta decays with examples. oahac ? halae Faik ~90t[1+3] Tean
Question 6. [Marks: 12] Explain nuclear binding energy. Describe beta decays with examples. oahac ? halae Faik ~90t [1+3] Tean...
##### Cheapler 2 Seriam / ) Qretily 14Sne ur Uutul L Lur Notin dnann w(I)Equlloa Bdtter
cheapler 2 Seriam / ) Qretily 14 Sne ur Uutul L Lur Notin dnann w(I) Equlloa Bdtter...
##### In the figure; if R = 12 0,the equivalent resistance (in Q) between points a and dis (1Lz 2)RR282024
In the figure; if R = 12 0,the equivalent resistance (in Q) between points a and dis (1Lz 2) R R 28 20 24...
##### StylesComplete the table below.0.00200 M 0.00200 Fc(Os MKSCN Pipette final reading (mL) 6.13 349 Pipette initial reading (mL) 1.2 1.8 Vinitial 5.04 2.04Hzo 3.22 0.26 2.96Solution total Viusl 9.98Abs_ 0.338Calculate the [Fes-] from the dilution, using M,V, = M;Vrwhere M; is 0.00200 M.Calculate the [SCN' ] from the dilution, using MV, = MAVcwhere M; is 0.00200 M:The Absorbance value for the Standard was 0.625 and the [FeSCN?-Jad is 2.00E4M. Calculate the [FeSCN? ]eq for your solution: See Equ
Styles Complete the table below. 0.00200 M 0.00200 Fc(Os MKSCN Pipette final reading (mL) 6.13 349 Pipette initial reading (mL) 1.2 1.8 Vinitial 5.04 2.04 Hzo 3.22 0.26 2.96 Solution total Viusl 9.98 Abs_ 0.338 Calculate the [Fes-] from the dilution, using M,V, = M;Vrwhere M; is 0.00200 M. Calculate...
##### 7064 U 1 2 panal proesut Olmultdun 1 lqutuli 1 ol wal Hz I6 collcctod U L 2 myolcjan 04- 111
7064 U 1 2 panal proesut Olmultdun 1 lqutuli 1 ol wal Hz I6 collcctod U L 2 myolcjan 04- 1 1 1...


text:
# The formal definition of a polygon states that a polygon is a closed plane figure formed by or more

The formal definition of a polygon states that a polygon is a closed plane figure formed by or more segments called sides. each side intersects exactly two other noncollinear sides, one at each endpoint.

a. four
b. one
c. zero
d. two
e. three

## This Post Has 4 Comments

1. lakiyalundy57 says:

No

Step-by-step explanation:

Collinear is if points are on the same line.

2 points are not collinear, as they form a line.

If 3 points were on the same line, then it would be considered collinear.

2. memeE15 says:

1. Two points coplanar with the point D are the points A and B which are on the same plane, K, as the point D

2. Another name for the line P is a straight straight angle AEB

3. The intersection of line r and plane K is the point X

4. A point non-coplanar to the plane K is the point W

Step-by-step explanation:

3. junkmailemail42 says:

Two non co-linear segments with a slope of 3 in a coordinate plane would mean that the two segments are parallel to each other and not attached to each other. Having the same slope is the definition of being parallel in the same plane.

4. shyra94 says:

The answer would be three. The reasons are clear. You can't form a closed figure when you just have two sides. All they would do is just intersect each other. Also, one side must intersect with two other noncollinear sides. This means that a polygon has to have at least three sides.


text:
Quantum Computation Preliminaries- More Linear Algebra (Part 3)

Page 1 of 1

0 Replies - 10197 Views - Last Post: 08 January 2019 - 03:29 PMRate Topic: //<![CDATA[ rating = new ipb.rating( 'topic_rate_', { url: 'https://www.dreamincode.net/forums/index.php?app=forums&module=ajax&section=topics&do=rateTopic&t=414380&s=bcaa4de404bbf246e09ae5f272d4afe9&md5check=' + ipb.vars['secure_hash'], cur_rating: 0, rated: 0, allow_rate: 0, multi_rate: 1, show_rate_text: true } ); //]]>

#1 macosxnerd101

• Games, Graphs, and Auctions

Reputation: 12680
• Posts: 45,860
• Joined: 27-December 08

Quantum Computation Preliminaries- More Linear Algebra (Part 3)

Posted 08 January 2019 - 03:29 PM

Quantum Computation Preliminaries- More Linear Algebra (Part 3)

Here is a LaTeX version of this tutorial, which will be easier to read.
Linear_Algebra_Part3.pdf (200.17K)

In this tutorial, we continue introducing mathematical preliminaries necessary to discuss quantum computation. The goal of this tutorial is to introduce additional notions from linear algebra, including unitary and Hermitean operators, projectors, and tensor products. This tutorial assumes knowledge of abstract linear algebra at the undergraduate level, such as outlined in the linear algebra tutorials here or in the text of Friedberg, Insel, and Spence, as well as the previous tutorial. Some familiarity with basic group theory will also be helpful.

Linear Algebra

Introduction

In the last Linear Algebra tutorial, we introduced the setting for quantum computation; namely, Hilbert spaces. Here, we introduce key tools necessary for implementing quantum computation. Recall from the previous tutorial that quantum states are represented as unit vectors on the three dimensional unit sphere S3. Any operation that evolves the quantum system must map quantum states to other quantum states. The group of unitary operators precisely satisfies this condition. Quantum computation is also inherently probabilistic; physically, quantum states exist in a superposition of pure states. In order to determine the quantum state, we must measure it. However, any measurement interacts with and affects the quantum system, forcing a pure state. Quantum measurement operators are implemented as projectors, where each outcome has a corresponding projector. The projector operators are, in particular, Hermitean. We conclude with Dirac's bra-ket notation, as well as tensor products. Quantum systems with multiple qubits are modeled using tensor products of the underlying Hilbert spaces.

Unitary and Hermitean Operators

We begin with a couple definitions.

Definition (Adjoint.) Let A be an m x n matrix over C. The adjoint of A, denoted A*, is the m x n matrix obtained by taking the transpose of A and then taking the complex conjugate of each entry. So:

[A*]ij = [A_{ji}]*.

Remark: Recall that the * operator is used to denote the conjugate of a complex number. It is helpful to think of a complex number z as a 1 x 1 matrix. So z* is obtained by taking the transpose of z and then taking the complex conjugate. So the notation for the adjoint of A, A*, is a generalization of taking the conjugate of a complex number rather than an abuse of notation.

Definition. Let H and J be Hilbert spaces. The set of linear operators from H \to J is denoted L(H, J). The set L(H, H) is denoted L(H).

Remark: We note that L(H, J) is in fact a Hilbert space over C. Recall that linear operators over finite dimensional vector spaces can be represented as matrices. That is, if \text{dim}(H) = n, \text{dim}(J) = m, and T \in L(H, J), then T can be represented as an m x n matrix. Addition and scalar multiplication of the matrices is componentwise. So \text{dim}( L(H, J) ) = mn. For A, B \in L(H, J), the inner product < A, B > = \text{Tr}(A*B), where \text{Tr} is the trace operator.

The adjoint satisfies several properties for every A, B \in L(H, J) and every k \in C:
• (A*)*.
• (A+ kB)* = A* + k*B*
• (AB)* = B*A*.

There is an equivalent formulation of the adjoint, that is particularly useful in quantum computation. Let H and J be Hilbert spaces. For every T \in L(H, J), there exists a unique T* \in L(J, H) satisfying < v | Tu> = < T*v | u> for all u \in H and all v \in J. Again, we refer to T* as the adjoint. While we omit a proof that these definitions are equivalent, we can provide some intuition. We note that:

< v | Tu> = v*(Tu) = (v*T)u.

Now by our properties of adjoints, we note that (v*T) = (T*v)*. So:

(v*T)u = (T*v)*u = < T*v | u >.

With the notion of the adjoint in tow, we can now define unitary and Hermitean operators.

Definition (Unitary Operator). Let A be an n x n matrix over C. We say that A is \textit{unitary} if AA* = I. That is, A-1 = A*.

Remark: The above definition immediately implies that unitary operators are closed under inverses. That is, (A*)-1 = A. Now we note that I* = I, so the identity matrix is unitary. We next observe that the product of two unitary operators is unitary. Suppose that A and B are unitary operators of dimension n. We note that:

(AB)(AB)* = (AB)B*A* = A(BB*)A* = AA* = I.

So (AB)* = (AB)-1, and we conclude that AB is unitary. As matrix multiplication is associative, we have that the unitary operators of dimension n form a group, which we denote U(n). The subgroup \text{SU}(n) \leq U(n) of unitary matrices with determinant 1 is referred to as the \textit{special unitary group}. \text{SU}(2) of particular interest for quantum computation, as it provides a linear representation of the unit quaternions.

Definition (Hermitean Operator). Let A be an n x n matrix over C. We say that A is \textit{Hermitean} if A = A*.

Remark: We note that if A is Hermitean, then so is A*. Namely, (A*)* = A* = A.

Example: The identity matrix I is both Hermitean and unitary.

Example: The Pauli spin matrices are also Hermitean and unitary. The three Pauli spin matrices are given by:

The Pauli spin matrices, together with the identity matrix, provide a linear representation of the quaternions. They are also key tools in designing quantum algorithms using quantum circuits. We will explore these notions more in later tutorials.

Example: The matrix 2I is Hermitean, but not unitary. Observe that (2I)* = 2*I* = 2I, so 2I is Hermitean. However, (2I)^{2} = 4I, so (2I) is not unitary.

Example: Consider the following matrix:

Observe that:

So A is unitary. We also note that A \neq A*, so A is not Hermitean.

We conclude this section by examining some basic properties of Hermitean and unitary operators.

Lemma 2.1. Let H be a Hilbert space, and let A \in L(H) be Hermitean. We have that < Av | u > = < u | Av >, for all u, v \in H.

Proof. Fix u, v \in H. By the definition of the adjoint, we have that < u | Av > = < A*u | v >. As A is Hermitean, A = A*. So < A*u | v > = < Au | v >, as desired. QED.

Lemma 2.2. Let A be a Hermitean operator, and let k \in R. Then kA is Hermitean.

Proof. As k \in R, k = k*. So (kA)* = k*A* = kA* = kA, where the last equality follows from the fact that A is Hermitean. QED.

We next show that unitary operators preserve the inner product. This is particularly important, as it implies that unitary operators act on the three-dimensional unit sphere S3 by rotating it.

Lemma 2.3. Let H be a Hilbert space, and let A \in L(H) be unitary. For any u, v \in H, we have that < Au | Av > = < u | v >.

Proof. Fix u, v \in H. By definition of the adjoint, we have that < Au | Av > = < AA*u | v >. As A is unitary, AA* = 1. So < AA* u | v > = < u | v >, as desired. QED.

Remark: Let H be a Hilbert space, and let u \in H. Let A \in L(H) be unitary. By Lemma 2.3, ||Au||2 = < Au | Au > = < u | u > = ||u||2. In particular, if u is a unit vector (i.e., a quantum state), A maps u to another unit vector. So any unitary operator acts on S3 by rotating the sphere. For this reason, we assume that quantum systems evolve unitarily. A consequence of this is that quantum computation is reversible. Namely, we can apply the inverse of any unitary operator to undo a given transformation. As a result, the geometry of S3 is closely related to quantum computation.

Projectors
In order leverage a quantum system, we need a way to obtain information about its state. Quantum mechanics puts severe limitations on the amount of information that can be extracted and the manner in which it may be extracted. In particular, information may not be retrieved in a passive manner. In order to obtain information about the system, it is necessary to make an observation or measurement. A standard quantum measurement is a projective measurement, which includes a set of possible outcomes and a projection operator (or projector) associated with each outcome. In this section, we introduce the notion of a projector and examine a number of relevant properties.

Definition (Projector). Let H be a Hilbert space. An orthogonal projection operator or projector on H is a linear operator P \in L(H) satisfying:
• P is Hermitean; that is, P = P*, and:
• P2 = P; that is, P is idempotent.

Remark: There are a number of projectors for a given Hilbert space H. The identity map I and the zero-map 0 (which sends every element to the 0 vector) are the two trivial projectors. Note as well that for any unit vector x \in H (which we view as a column vector), P_{x} := xx* is the orthogonal projector onto the span of x. This fact will be proven later. There are numerous other projectors, as well. We note that the subspaces of H are in bijection with the projectors of H.

We prove a number of useful facts about projects.

Lemma 2.4. Let H be a Hilbert space. An operator P \in L(H) is a projector if and only if P = P*P.

Proof. Suppose first that P is a projector. So P2 = P. As P is a projector, P = P*. So P2 = P*P = P, as desired. Conversely, suppose P = P*P. We first show that P is Hermitean. Observe that P* = (P*P)* = P*P = P, as desired. Next, we show that P is idempotent. By assumption, P = P*P. As P is Hermitean, P* = P. So P = P2. Thus, P is a projector.

The next lemma provides that if two projectors P and Q are orthogonal (i.e., the subspaces corresponding to P and Q respectively are orthogonal), then P + Q is also a projector. This is particularly useful, as it allows us to construct new projectors from existing projectors.

Lemma 2.5. Let H be a Hilbert space, and let P, Q \in L(H) be projectors such that PQ = 0. Then QP = 0 and P + Q is a projector.

Proof. We first show that PQ = 0. We note that 0* = 0 = (PQ)* = Q*P* = QP, where the last equality follows from the fact that Q and P are projectors. We now show that P+Q is a projector. As P, Q are Hermitean, so is P + Q. It suffices to show that P+Q is idempotent. We note that:

(P+Q)2 = P2 + PQ + QP + Q2
= P2 + Q2
= P + Q.

Here, the second line follows from the fact that PQ = QP = 0. Now the third line follows from the fact that P, Q are projectors, so P2 = P and Q2 = Q. We conclude that P is a projector, as desired. QED.

We next establish the bijection between projectors and subspaces of a Hilbert space. This proof is somewhat involved, but it provides insight into key properties. Namely, if P is a projector corresponding to the subspace W, then Tr(P) = dim(W). Before doing so, we first introduce a helper lemma. Namely, we verify that projectors indeed do project orthogonally.

Lemma 2.6. Let H be a Hilbert space, and let P \in L(H) be a projector. We have that Pu = u for every u \in Im(P). Furthermore, P projects orthogonally onto Im(P); that is, for any v \not \in Im(P), < u | Pv - v > = 0.

Proof. We note that Im(P) = { Pv : v \in H }. Let u \in Im(P). So u = Pv for some v \in H. We have that Pu = P(Pv) = P2v = Pv. As P is a projector, we have that P2 = P, which yields the last equality. As Pv = u by assumption, we have that Pu = u.

We next verify that P projects orthogonally onto Im(P). That is, for any w \not \in Im(P), Pv = 0. Fix such a w \not \in Im(P), and let u \in Im(P) be arbitrary. We show that < u | Pw - w > = 0. As u \in Im(P), we may write u = Px for some x \in H. So:

< u | Pw - w > = < Px | Pw - w >
= < Px | Pw > - < Px | w >
= < P*Px | w > - < Px | w >
= < Px | w > - < Px | w >
= 0.

Here, the second line follows from the fact that the inner product is linear in the second argument. We note that the third line follows from the definition of the adjoint, and the fourth line follows from the fact that P is a projector (so P*P = P2 = P). The result follows. QED.

Theorem 2.1. Let H be a Hilbert space. Let S by the set of subspaces of H, and let P be the set of projectors corresponding to H. Let \varphi : P \to S be given by \varphi(P) = Im(P). We have that \varphi is a bijection.

Proof: We recall that for any P \in L(H), Im(P) is a subspace of H. So \varphi is well-defined. We first show that \varphi is injective. Fix projectors P, Q and suppose P and Q both project onto the subspace V \leq H. So for any u, v \in H, we have the following:

< Pu | Pv > = < P*Pu | v > = < Pu | v >, and
< Pu | Qv > = < Q*Pu | v > = < QPu | v > = < Pu | v >.

The last equality follows from Lemma 2.6, which provides that Q fixes every element in V. So in particular, Q fixes Pu. Thus:

< Pu | Pv - Qv > = < Pu |Pv > - < Pu | Qv > = < Pu | v > - < Pu | v > = 0.

In particular, it follows that: ||Pv - Qv||2 = < Pv - Qv | Pv - Qv > = 0, which implies that Pv - Qv = 0. As v was arbitrary, it follows that P = Q. So we have that \varphi is indeed injective.

We now show that \varphi is surjective. Let W is a subspace of H be an arbitrary subspace. Let { b1, ..., b_{k}} be an orthonormal basis for W, and let \beta = { b1, ..., bn} be the extension of { b1, ..., b_{k} } to an orthonormal basis for H. We construct a projector P \in L(H) which projects onto W. As H is finite-dimensional, we can represent P as a matrix with respect to \beta. We set:
• Pii = 1 for i \in {1, ..., k}.
• Pii = 0 for i \in {k+1, ..., n}.
• Pij = 0 otherwise.

Observe that P = P* and P2 = P. Furthermore, note that P fixes the basis vectors of W and annihilates the remaining basis vectors of H. So Pv = v for all v \in W. It follows that P projects orthogonally onto W. So \varphi is surjective. QED.

Remark: Theorem 2.1 has a nice corollary. Namely, if P projects onto the subspace V, then Tr(P) = dim(V). To see this, we take the projector P constructed in the proof of Theorem 2.1. The only non-zero entries are the 1's along the diagonal which correspond to the basis vectors of V. We also note that the trace and determinant of a matrix are preserved under conjugation. So Tr(P) is independent of our choice of basis.

We conclude this section by proving that for any unit vector x, xx* is a projector.

Lemma 2.7. Let x be a unit vector. Then xx* is a projector.

Proof. Observe that (xx*)* = (x*)*x* = xx*. So xx* is Hermitean. We now show that (xx*)2 = xx*. We have that:

(xx*)2 = xx*(xx*)
= x(x*x)x*
= xx*
= xx*.

Here, (the second line follows from the fact that matrix multiplication is associative. Now as x is a unit vector, < x|x > = x*x = 1, which yields the third line. The result follows. QED.

Dirac Notation and Tensor Products

We begin this section by briefly introducing Dirac notation, which is commonly used in quantum computation and by the physics community. The real advantage of Dirac notation is providing a visually compact description of quantum systems involving multiple qubits. Suppose we have a Hilbert space H. Let u, v \in H, and recall that < u | v > = u*v. Here, we refer to < u| = u* as a bra vector, and |v > as a ket vector. The inner product < u | v > is often referred to as a bracket ("bra-ket").

Remark: As a word of caution, vectors in Dirac notation are usually represented using labels. Often times, these labels are numbers. We emphasize that in such cases, the numbers have little mathematical significance and are just names. We illustrate with the following example.

Example: Let H = C2. Let |0> := e1 = (1, 0) be the first standard basis vector, and |1> := e2 = (0, 1) be the second standard basis vector. In the vectors |0>, |1>, the 0 and 1 are simply labels and do not have any mathematical significance. We also remark that the standard basis { |0>, |1>} is referred to as the computational basis in quantum computation.

We next introduce tensor products. The motivation to study tensor products is as follows. Recall that quantum systems are represented using Hilbert spaces. Suppose we have two quantum systems S and T, modeled by H_{S} and H_{T}. In order to consider these two systems together as a single system, we need to construct a new Hilbert space from H_{S} and H_{T}. The particular construction is referred to as a tensor product, which is also known as the outer product or Kronecker product.

Definition (Tensor Product). Let A be an m x n matrix, and let B be an r x s matrix. The \textit{tensor product} A \otimes B is an mr x ns matrix given in block form by:

Example. Consider the Pauli spin matrices X and Y. We have that:

Similarly, we have that:

In particular, observe that X \otimes Y != Y \otimes X. So the tensor product is not commutative.

Remark: Let |a>, |b> be vectors. We note that the tensor product |a > \otimes b > is frequently written as |a> |b> or |a, b>. Similarly, we may write the tensor product of two bra vectors as < a| < b| or < a, b| when the meaning is clear. Note that this shorthand notation only applies when using Dirac notation.

We next examine some of the algebraic properties of the tensor product. First, observe that if a, b \in C, a \otimes b = ab. Here, we treat a, b as 1 x 1 matrices. More generally, suppose that x is an m x 1 (column) vector and y is a 1 x n (row) vector. Then x \otimes y = xy. Both of these observations follow immediately by applying the definition of the tensor product. The tensor also satisfies a number of algebraic properties listed below, which we will not prove. Let A, B, C, D be matrices, and let a, b \in C. Provided the operations involved are well-defined, we have:
• The tensor product is associative. That is, (A \otimes B) \otimes C = A \otimes (B \otimes C).
• (A \otimes B)(C \otimes D) = (AC \otimes BD).
• (A \otimes B)* = A* \otimes B*.
• Tr(A \otimes B) = Tr(A) \cdot Tr(B).

We will, however, prove that the tensor product is bilinear; that is, the tensor product is linear in both arguments.

Lemma 2.8. Let A, B, C be matrices, and let k \in C. Then A \otimes (B + kC) = A \otimes B + k(A \otimes C) and (A + kB) \otimes C = A \otimes C + k(B \otimes C).

Proof. Consider the matrix A \otimes (B + kC) in block form. Observe that the ij block of A \otimes (B + kC) is aij(B + kC) = aijB + k(aijC). Therefore, we may write A \otimes (B + kC) = X + Y, where the ij block of X is aijB, and the ij block of Y is k(aijC). So X = A \otimes B and Y = k(A \otimes C), as desired.

Similarly, consider (A + kB) \otimes C in block form. We note that the ij block of (A + kB) \otimes C is (aij + kbij)C = aijC + kbijC. Therefore, we may write (A + kB) \otimes C = X + Y, where the ij block of X is aijC, and the ij block of Y is kbijC. So X = A \otimes C and Y = k(B \otimes C), as desired. QED.

Our next goal is to make some sense of what it means to take the tensor product of two vector spaces. We begin with a motivating example. Suppose that x = (x1, ..., xm) \in Cm, y = (y1, ..., yn) \in Cn are column vectors. We have that:

So x \otimes y is a column vector in Cmn. This suggests that Cm \otimes Cn \cong Cmn. This is in fact the case. In order to prove this, we show that if \beta = { \beta1, ..., \betam} is an orthonormal basis of C^{m} and \gamma = { \gamma1, ... , \gamman} is an orthonormal basis of C^{n}, then:

\beta \otimes \gamma = { \betai \otimes \gammaj : 1 <= i <= m, 1 <= j <= n }

is an orthonormal basis of C^{mn}. We begin with the following lemma.

Lemma 2.9. Let H, J be Hilbert spaces. Let u, w \in H, and let v, x \in J. Then: < u \otimes v | w \otimes x > = < u|w > < v|x >.

Proof. By our properties of tensor products, we have that:

< u \otimes v | w \otimes x > = (u \otimes v)*(w \otimes x)
= (u*w) \otimes (v*x).

We note that u*w = < u|w > \in C. Similarly, v*x = < v | x > \in C. The result follows. QED.

Corollary 2.0.1. Let \beta = { \beta1 ,..., \betam} be an orthonormal basis of C^{m}, and let \gamma = { \gamma1, ..., \gamman} be an orthonormal basis of C^{n}, then:

\beta \otimes \gamma = { \betai \otimes \gammaj : 1 \leq i \leq m, 1 \leq j \leq n }

is an orthonormal basis of C^{mn}.

Proof: Let a, b \in {1, ..., m} and c, d \in { 1, ..., m}. By Lemma 2.9, we have that:

< \beta_{a} \otimes \beta_{b} | \gamma_{c} \otimes \gamma_{d} > = < \beta_{a} | \beta_{b} > < \gamma_{c} | \gamma_{d} >.

As \beta, \gamma are orthonormal bases, < \beta_{a} | \beta_{b} > < \gamma_{c} | \gamma_{d} > = 1 if and only if a = b and c = d, and < \beta_{a} | \beta_{b} > < \gamma_{c} | \gamma_{d} > = 0 otherwise. We note that |\beta \otimes \gamma| = mn. So \beta \otimes \gamma forms a basis of C^{mn}. QED.

So for vector spaces V and W, we define V \otimes W = { v \otimes w : v \in V, w \in W }. Notice that this definition is independent of the choice of basis. If we want to compute explicitly the tensor product of two vectors or or matrices, then it is necessary for us to identify a choice of basis. We also remark, in light of Corollary 2.0.1, that if H = C^{m} and J = C^{n} are Hilbert spaces, then H \otimes J is isomorphic to C^{mn}.

Conclusion

In this tutorial, we introduced the remaining tools from Linear Algebra necessary to discuss quantum computation. In the next tutorial, we will finish introducing the preliminaries for quantum computation, including the ring of quaternions and their representations, rotational symmetries of the three-dimensional unit sphere S3, and the relationships between these objects.

Is This A Good Question/Topic? 0

Page 1 of 1

 .related ul { list-style-type: circle; font-size: 12px; font-weight: bold; } .related li { margin-bottom: 5px; background-position: left 7px !important; margin-left: -35px; } .related h2 { font-size: 18px; font-weight: bold; } .related a { color: blue; }