text:
# [SOLVED] How can U + W be S-invariant even if U and W aren't?

I don't understand how if U and W are subspaces of V such that $S\left ( \vec{u} \right ) \epsilon W,\forall \vec{u}\epsilon U$ and $S\left ( \vec{w} \right ) \epsilon U,\forall \vec{w}\epsilon W$ then U + W will be S-invariant even if U and W aren't. Can someone explain this to me? I need to understand this to make an operator S for 2x2 matrices.
Well if $u+w \in U+W$, then $S(u+w)=S(u)+S(w) \in W+U = U+W$.

format: plain


text:
# Predicting cloud movements

In this notebook we will attempt to predict or forecast the movement of rain/clouds over the area of North America!

Of course the weather is a known chaotic system, therefore we will try to create an initial benchmark by throwing a deep learning model at the problem.

## Import some libraries

import os
from os import listdir
from PIL import Image as PImage
import matplotlib.pyplot as plt
import keras
import numpy as np
from keras.models import Sequential
from keras.layers import Conv2D, MaxPooling2D
from keras.layers.convolutional_recurrent import ConvLSTM2D
from keras.layers.normalization import BatchNormalization
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
import matplotlib.image as img
import PIL as Image
from keras.preprocessing.image import ImageDataGenerator
import sys
from keras.callbacks import TensorBoard
print(sys.version)

3.6.2 |Continuum Analytics, Inc.| (default, Jul 20 2017, 12:30:02) [MSC v.1900 64 bit (AMD64)]

## Example input

path = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data/"
path_out = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data_cleaned/"

im = PImage.open(path+'20120830.gif').convert('RGB')
im

### Observations

• Static images not animated even though they are .gif
• CSV file containing the lag between the date of shown image and the date the image was taken. Not always consistent!
• For image data deeplearning is almost surely the solution for the moment. Also we are dealing with stochastic datapoints so probably need to use a recurrent network.
• These images have metadata in them we dont want. The index on the left and the text at the bottom might change and lead to false signal in the model
• User of our model wants to provide images to it and get predictions. We need to have clear modules for processing input data for our model
• Color channel of image input could be useful actually… We could remove anything that isnt moving from these images. Our predictions will only be clouds but whatever, should be easier to train and easy enough to put ontop of a geospatial shape file layer
• Images are 400 by 320. We may want to reduce the size with our data import module
• Since we will be predicting images not labels or scores we are building something similar to an autoencoder

Based on a 2 second google search my assumptions were somewhat validated over here: http://blog.kaggle.com/2016/01/04/how-much-did-it-rain-ii-winners-interview-1st-place-pupa-aka-aaron-sim/

Possible insights

• We could use dropin to perturb the input images beyond just data generators in keras. Instead of rotating the images we can duplicate certain sub frames to teach the network that time could have moved at different rates and still achieved same output image.
• With images flowing in we could achieve this by duplicating images at random before creating our lagged prediction images

I will have to edit these images so I need to remember how to use the PILLOW library: https://www.youtube.com/watch?v=6Qs3wObeWwc

## Clean images before we start

This function will load all images in a folder and then clean all the pixels we aren’t interested in

def cleanImages(path,new_path):
# return array of images

imagesList = listdir(path)
for image in imagesList:
if(image.endswith('.gif')):
fname,fext = os.path.splitext(image)
im = PImage.open(path + image).convert('RGB')
width, _ = im.size
for i, px in enumerate(im.getdata()):
y = i / width
x = i % width
if (px == (0,0,0)):
im.putpixel((x, y), (255,255,255))
if ((x<4*400/100)or(_*0.88<y)):
im.putpixel((x, y), (255,255,255))
im.save(new_path+image)

The function is very simple. The function will remove all black pixels from the image (the shapefiles) and also crop away the legend and sub title of the images that we are not interested in.

This is what the output images will look like:

im = PImage.open(path_out+'20120830.gif')
im

Since we are going to use a deep learning model to do the predictions we don’t need to do too much feature engineering. For now this will be enough to server our purposes.

Now it’s time to get the data ready for a deep learning model.

## Deep learning model

### Choice of model

For our final model we will almost surely need to use a recurrent neural network. The reason is simply that we are trying to predict using stochastic data. We also need to consider that we are dealing with image data. One of the best network architectures for images convolutional network layers.

For our initial test we can simply build a convolutional network to train on the data. This help formalize the data preparation process

### Convolutional network

For a convolutional network we need to provide a 3 dimensional tensor where our shape is defined (samples,width,height,channels), where channels depict the RGB color value of each pixel.

Matplotlib.img has a useful tool for reading in images as unmpy arrays. Each of these imported images will be of shape (width,height,channels). To prepare for our convolutional network we need to have another dimension for the samples.

Note that the convention is to use img_to_array(load_img(new_path+image)) using the keras library. This is just a bit more vebose than what I used. This workflow can be more powerful if we intend to use generators to apply transformations to the immages.

We produce the data using a simple list comprehension:

%%time
new_path = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data_cleaned_jpeg/"
path_orig = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data/"
path_cleaned = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data_cleaned/"

imagesList = os.listdir(new_path)

training_data = np.array( [img.imread(new_path+image) for image in imagesList])

Wall time: 5.35 s

This takes about 5 seconds because we have quite a few images in here:

len(imagesList)

2383

Let’s make sure we have the right shape for our 4D tensor:

training_data.shape

(2383, 320, 400, 3)

Before we throw these numpy arrays at our deep learning model it is important to scale our inputs between [0,1]. The obvious reason is that standard convention to scale inputs helps against exploding model weights. In our case it is also important because we will use a crossentropy method to measure the accuracy of our model. This wouldn’t make sense if our values weren’t between [0,1].

It’s also a good idea to make sure your values are float32 (or float16 when working with a GPU that has tensorcores)

Let’s scale this 4D tensor:

training_data = np.divide(training_data,255)

The time interval that we have images for is Jan 2012 to 10 July 2018 (the time I downloaded the images):

print(imagesList[0],imagesList[-1])

20120101.jpg 20180710.jpg

We can also see that we have one image for each day:

imagesList[0:5]

['20120101.jpg',
'20120102.jpg',
'20120103.jpg',
'20120104.jpg',
'20120105.jpg']

For our first network we will simply predict the next day’s satellite image. To do this we set the input X to be the 1 day lagged images:

train_len = int(np.floor(len(training_data)*0.75))
test_len = int(np.floor((len(training_data)-train_len) * 0.5))
val_len = int(len(training_data)-test_len-train_len)

print(train_len,test_len,val_len)

1787 298 298

train_split = training_data[0:train_len]
test_split = training_data[train_len:train_len+test_len]
val_split = training_data[train_len+test_len:len(training_data)]

print(len(train_split),len(test_split),len(val_split))

1787 298 298

X = train_split[0:len(train_split)-1,:,:,:]
Y = train_split[1:len(train_split),:,:,:]

X_val = val_split[0:len(val_split)-1,:,:,:]
y_val = val_split[1:len(val_split),:,:,:]

print(len(X),len(Y),len(X_val),len(y_val))

1786 1786 297 297

We split off some data for validating our training and we also split off some data to validate our model after we have tuned the parameters. The test data is important if we intend to tune the model often to maximise our validation accuracy. After a few iterations we are leaking some knowledge about the preformance of the model on the validation data.

### Define model

For our initial model I define a simple stacked network of 3 convolutional layers. Normally we would use layers like max pooling to reduce the complexity of our model. This won’t be needed because we are not going to use all too many layers and we are predicting images of the same size; max pooling will extract and combine local features but then we would need to widen our units in the layers to get back to the predicted image.

To use max_pooling we would use MaxPooling2D((2,2)) and UpSampling2D((2,2)) to return to the same dimensions

conv_model = Sequential()

conv_model.summary()

_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
conv2d_10 (Conv2D)           (None, 320, 400, 3)       84
_________________________________________________________________
conv2d_11 (Conv2D)           (None, 320, 400, 3)       84
_________________________________________________________________
conv2d_12 (Conv2D)           (None, 320, 400, 3)       84
=================================================================
Total params: 252
Trainable params: 252
Non-trainable params: 0
_________________________________________________________________

For this kind of prediction I will use an optimizer very similar to the optimizers used for auto encoding. Since each pixel in our model is now scaled between [0,1] instead of [0,255] we can use a binary_crossentropy to optimize our fit:

conv_model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
#               metrics=['accuracy']
)

history = conv_model.fit(X, Y,
epochs=10,
validation_data=(X_val, y_val)
#                 callbacks=[TensorBoard(log_dir='C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/tensorboard')]
)

Train on 1786 samples, validate on 297 samples
Epoch 1/10
1786/1786 [==============================] - 15s - loss: 2.2330 - val_loss: 0.5243
Epoch 2/10
1786/1786 [==============================] - 15s - loss: 0.3955 - val_loss: 0.3257
Epoch 3/10
1786/1786 [==============================] - 15s - loss: 0.3392 - val_loss: 0.3122
Epoch 4/10
1786/1786 [==============================] - 15s - loss: 0.3324 - val_loss: 0.3040
Epoch 5/10
1786/1786 [==============================] - 15s - loss: 0.3267 - val_loss: 0.3057
Epoch 6/10
1786/1786 [==============================] - 15s - loss: 0.3213 - val_loss: 0.2986
Epoch 7/10
1786/1786 [==============================] - 15s - loss: 0.3129 - val_loss: 0.2949
Epoch 8/10
1786/1786 [==============================] - 15s - loss: 0.3121 - val_loss: 0.2893
Epoch 9/10
1786/1786 [==============================] - 15s - loss: 0.3126 - val_loss: 0.2838
Epoch 10/10
1786/1786 [==============================] - 15s - loss: 0.3157 - val_loss: 0.2892

Plot the loss:

plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
# plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
# plt.legend(['train', 'test'], loc='upper left')
plt.show()

So we can see the we don’t seem to have issues of over fitting the data. This isn’t really my concern right now since we first need to achieve a model able to predict future movements of clouds. So on that note, let’s investigate the output of the model more closely:

#### Example input

imgplot = plt.imshow(X[0])
plt.show()

#### Example predicted next image:

predict_img = conv_model.predict(X[0:5])

imgplot = plt.imshow(predict_img[0])
plt.show()

#### What really happened

real_img = Y[0:5]
imgplot = plt.imshow(real_img[0])
plt.show()

So our naive model hasn’t really learned anything impressive

### Convolutional LSTM network

new_path = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data_cleaned_jpeg/"
path_orig = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data/"
path_cleaned = "C:/Users/User-pc/Desktop/Work/Git_Repositories/Precipitation_Forecast/Data/precipitation_data/data_cleaned/"

imagesList = os.listdir(new_path)

# training_data = np.array( [img.imread(new_path+image) for image in imagesList])
training_data = np.array([img_to_array(load_img(new_path+image)) for image in imagesList])

training_data = np.divide(training_data,255)

For this recurrent structure I want to go up from a 4D tensor input to a 5D tensor. The new dimension is the time index.

Theoretically that means having observations where each observation is a sequence of images. In our case an observation should be a week of images, such that we are in fact predicting the next week of images.

train_split = training_data[0:train_len]
test_split = training_data[train_len:train_len+test_len]
val_split = training_data[train_len+test_len:len(training_data)]

len(train_split)%7

2

Currently we will have 2 days that do not fit into a full week. For now we will simply remove these images:

train_split = np.delete(train_split,[i for i in range(len(train_split)%7)],axis=0)
test_split = np.delete(test_split,[i for i in range(len(test_split)%7)],axis=0)
val_split = np.delete(val_split,[i for i in range(len(val_split)%7)],axis=0)

Now that we have full weeks in our data we need to stack these 4D tensors for our sequence dimension:

%%time
week_data_train = []
while(len(train_split)>6):
week = np.array([train_split[k] for k in range(7)])
week_data_train.append(week)
train_split = np.delete(train_split,[i for i in range(7)],axis=0)

week_data_train = np.array(week_data_train)

%%time
week_data_test = []
while(len(test_split)>6):
week = np.array([test_split[k] for k in range(7)])
week_data_test.append(week)
test_split = np.delete(test_split,[i for i in range(7)],axis=0)

week_data_test = np.array(week_data_test)

Wall time: 4.56 s

We can verify that we now have a 5D tensor to train on:

week_data_train.shape

(255, 7, 320, 400, 3)

So we can train on 255 full weeks worth of data

X = week_data_train[0:len(week_data_train)-1]
Y = week_data_train[1:len(week_data_train)]

X_val = week_data_test[0:len(week_data_test)-1]
y_val = week_data_test[1:len(week_data_test)]

#### Define network

For this recurrent network we still want to use convolutional layers so I will use the handy keras layer called ConvLSTM2D. It will train a long short term memory network using convolutions. We will also specify go_backwards=True in order to use a bidirectional recurrent layout.

conv_model = Sequential()

conv_model.summary()

_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
conv_lst_m2d_5 (ConvLSTM2D)  (None, 7, 320, 400, 3)    660
_________________________________________________________________
conv_lst_m2d_6 (ConvLSTM2D)  (None, 7, 320, 400, 3)    660
=================================================================
Total params: 1,320
Trainable params: 1,320
Non-trainable params: 0
_________________________________________________________________

conv_model.compile(loss='binary_crossentropy',
optimizer='rmsprop',
#               metrics=['accuracy']
)

Here I use a batch_size of 8 because any larger gave me out of memory errors.

%%time
history = conv_model.fit(X, Y,
epochs=10,
batch_size = 8,
shuffle = False
,validation_data=(X_val, y_val)
)

Train on 254 samples, validate on 41 samples
Epoch 1/10
254/254 [==============================] - 46s - loss: 5.5493 - val_loss: 4.9973
Epoch 2/10
254/254 [==============================] - 44s - loss: 3.3088 - val_loss: 1.3253
Epoch 3/10
254/254 [==============================] - 44s - loss: 0.9746 - val_loss: 0.5314
Epoch 4/10
254/254 [==============================] - 44s - loss: 0.4552 - val_loss: 0.4045
Epoch 5/10
254/254 [==============================] - 44s - loss: 0.3732 - val_loss: 0.3543
Epoch 6/10
254/254 [==============================] - 44s - loss: 0.3412 - val_loss: 0.3352
Epoch 7/10
254/254 [==============================] - 43s - loss: 0.3291 - val_loss: 0.3270
Epoch 8/10
254/254 [==============================] - 43s - loss: 0.3241 - val_loss: 0.3221
Epoch 9/10
254/254 [==============================] - 43s - loss: 0.3208 - val_loss: 0.3268
Epoch 10/10
254/254 [==============================] - 43s - loss: 0.3190 - val_loss: 0.3192
Wall time: 7min 24s

Note that we specify Shuffle = False since the sequence is important

conv_model.save('CNN_LSTM_bidirectional_10epochs.h5')

plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
# plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
# plt.legend(['train', 'test'], loc='upper left')
plt.show()

predict_img = conv_model.predict(X[0:1])
real_img = Y[0:1]

So our first week of images were:

fig=plt.figure(figsize=(320, 400))
for i in range(1, 7 +1):
#     img = plt.imshow()
plt.imshow(X[0,i-1])
plt.show()

And we predicted this would happen:

fig=plt.figure(figsize=(320, 400))
for i in range(1, 7 +1):
#     img = plt.imshow()
plt.imshow(predict_img[0,i-1])
plt.show()

This is actually very promising… Our model is starting to make some novel predictions in new areas.

This is what we were suppose to see:

fig=plt.figure(figsize=(320, 400))
for i in range(1, 7 +1):
#     img = plt.imshow()
plt.imshow(real_img[0,i-1])
plt.show()

#### Zoom in on final image:

Input

imgplot = plt.imshow(X[0,6])
plt.show()

Predicted

imgplot = plt.imshow(predict_img[0,6])
plt.show()

Actual future

imgplot = plt.imshow(real_img[0,6])
plt.show()

## Conclusions

My initial impression is that the current model really struggles to predict anything other than what it sees right now. Even so with our reccurrent network we started seeing some novel predictions.

All in all I’m not too surprised! The data we gave the model is only 1 image per day. Perhaps if we had access to 24 images per day the hour on hour move of pixels would be more informative.

The model does not yet have any context for what the color of the pixels may be in the future either.

Perhaps with a scaled up version of the model and more training we will see a better prediction. But more likely we need to start creating our own network graphs and loss functions. Currently we are optimizing mean binary crossentropy over all the pixels - a better loss function will measure binary crossentropy over a max_pooling of the output. Perhaps we can even define a pooling of pixels that uses a MAX instead of an average to help against all the empty space.


text:
[FRAM71] Pre-Production Batch
11-30-2014, 12:03 PM (This post was last modified: 10-04-2015 09:13 AM by Hans Brueggemann.)
Post: #1
 Hans Brueggemann Member Posts: 200 Joined: Dec 2013
[FRAM71] Pre-Production Batch
all,
i'm glad to announce that the pre-production batch of FRAM71 finally made it into the "wild". there's a bunch of early adopters out there now who expressed their wish to publicly pool their findings. so, here is the thread where all info should go about experiences / bugs / updates around FRAM71, and let me start it off by attaching the latest version of the manual.

best regards,
hans

2015-10-04: Firmware update V511 "NASHVILLE"
Release Note:
V511 finally fixes a spurious bug where configuration would not be properly reset when configuring more than 8 modules.
Highly recommended, this is the last update before the upcoming V600.
Applicable User's Manual: FRAM71_V511_HW104 "NASHVILLE"
My sincere thanks go to Bob Rosperi for his excellent presentation in Nashville, and to Dave Frederikson for his invaluable support.

2015-07-19: Understanding the HP-71B memory allocation routine

2015-07-19: FRAM71 Configuration Sheet
Configuration sheet from manual in *.doc format. (thx to Bob Prosperi for the suggestion)

2015-07-05: FlashPro_Cable document update
graphics added to clarify cable connections. (thx to Michael Lopez for the hint)

2015-06-11: How to setup FlashPro4/5 in case of warnings
This Post tells you how.

2015-05-16: Firmware update V510
Release Note:
V510 fixes a bug where the internal configuration latches wouldn't get properly reset when multiple chips where removed from the configuration area at the same time. in V510, all internal configuration latches get reset during the first DIN phase after either [ON], INIT:1, INIT:3, or a configuration request [++] by the DIAGNOSTIC module. the reset is indicated by a brief flash of the LED.
Applicable User's Manual: FRAM71_V501/2_HW104

2015-05-16: Firmware update V502
Release Note:
V502 removes a limitation of V501 where CHIP_0 has to be configured LCIM in order to make it visible to the HP-71B (this limitation exists with V501 only, V43x does not have this limitation).
Applicable User's Manual: FRAM71_HW104_SW502_b.PDF
Users should only upgrade to V502 if they need CHIP_0 to be configurable as part of a multi-chip module.
All V5xx firmwares now allow for on-the-fly change of F-base addresses (i.e., under program control, without power cycling the HP-71B)

2015-03-06: Firmware update V430
Release Note:
NEW: support bank-switching of multiple FRAM memory blocks into same HP-71B address space
NEW: Firmware support for upgrading FRAM71 to 1 MByte of FRAM
CHANGED: now, 15 out of 16 x 32kB F-Blocks available (up from 13 in V421)
CHANGED: automatic F-Block assignment removed to improve configuration flexibility
REMOVED: REDEYE-support, due to lack of public interest ;o)
(note that this is a major firmware upgrade. read the fine updated manual for details. highly recommended for all users who do not plan to use REDEYE support.)

2014-12-21: Firmware update V421
Release Note:
in V420, FRAM71's write-protect flags of soft-ROM-declared RAM modules have no effect. POKE from the POKELEX lexfile can change contents of those ROMs.
in V421, write-protect flags now block all write-attempts to soft-ROM areas. POKE from the POKELEX lexfile executes "silently", but does not alter contents.
(note that this is a minor fix which does not affect/enhance "standard" use cases. users who have no means to update their FRAM71 should contact me through e-mail for options.)

Attached File(s)
FRAM71_V511_HW104.zip (Size: 153.69 KB / Downloads: 95)
FRAM71_HW104_SW511_Nashville.pdf (Size: 1.71 MB / Downloads: 256)
FRAM71_FlashPro_Cable.pdf (Size: 152.47 KB / Downloads: 132)
FRAM71_CONF_TABLE.doc (Size: 108 KB / Downloads: 70)
12-10-2014, 03:51 AM
Post: #2
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
ROM Images
So you have a bunch of ROM images for the 71 that you'd like to load into your FRAM71, but you don't have an RS-232 to HP-IL interface and your '98 machine is in the garage. How to copy those ROM images to a LIF image so that they can be loaded with a PIL-Box?

1. Copy all the ROM.bin and IRAM.rom images you want in a LIF image, HPDir, and the below batch file into a subdirectory.

Code:
@echo off HPDir -initialize -lif -9122 ROMS.lif if exist *.bin copy *.bin *.#E21C > nul if exist *.rom copy *.rom *.#E21C > nul echo. for %%f in (*.#E21C) do (         echo %%~nf :         HPDir -add ROMS.lif %%f         echo.         if %%~zf == 16384 HPDir -attrib -aux 800100800000 ROMS.lif %%~nf         if %%~zf == 32768 HPDir -attrib -aux 800100000100 ROMS.lif %%~nf         if %%~zf == 65536 HPDir -attrib -aux 800100000200 ROMS.lif %%~nf ) del *.#E21C

2. Double-click the batch file. A 9114 compatible LIF image will be created containing all of the ROM images.
3. Verify with HPDir:

Code:
>hpdir roms.lif                            SYS  FILE   NUMBER   RECORD     MODIFIED    PUB OPEN FILE NAME             LEV TYPE  TYPE  RECORDS   LENGTH DATE       TIME ACC STAT ===================== === ==== ===== ======== ======== =============== === ==== 71DIAG                  1 98X6 #e21c      256      256 00-<?>-00 00:00 HPILROM-1A              1 98X6 #e21c       64      256 00-<?>-00 00:00 HPILROM-1B              1 98X6 #e21c       64      256 00-<?>-00 00:00 JPC-1E                  1 98X6 #e21c      128      256 00-<?>-00 00:00 SURVEY                  1 98X6 #e21c       64      256 00-<?>-00 00:00 WB71                    1 98X6 #e21c      128      256 00-<?>-00 00:00 JPC-D                   1 98X6 #e21c      128      256 00-<?>-00 00:00 AMPISTAT                1 98X6 #e21c      128      256 00-<?>-00 00:00 CIRCUIT                 1 98X6 #e21c       64      256 00-<?>-00 00:00 CURVEFIT                1 98X6 #e21c      128      256 00-<?>-00 00:00 DATAACQ                 1 98X6 #e21c      256      256 00-<?>-00 00:00 DATACOMM                1 98X6 #e21c       64      256 00-<?>-00 00:00 DATAMNGT                1 98X6 #e21c      128      256 00-<?>-00 00:00 FORTHROM                1 98X6 #e21c       64      256 00-<?>-00 00:00 FORTH41                 1 98X6 #e21c       64      256 00-<?>-00 00:00 HP71DEMO                1 98X6 #e21c       64      256 00-<?>-00 00:00 MATHROM                 1 98X6 #e21c      128      256 00-<?>-00 00:00 TEXTEDIT                1 98X6 #e21c       64      256 00-<?>-00 00:00 ZENWAND                 1 98X6 #e21c       64      256 00-<?>-00 00:00 JPC-F01                 1 98X6 #e21c      128      256 00-<?>-00 00:00 FINANCE                 1 98X6 #e21c       64      256 00-<?>-00 00:00 53248 of 626688 bytes free.

or ILPer:

Code:
   NAME    S TYPE   LEN    DATE    TIME  71DIAG       ROM   65536 01/00/00 00:00  HPILROM-1A   ROM   16384 01/00/00 00:00  HPILROM-1B   ROM   16384 01/00/00 00:00  JPC-1E       ROM   32768 01/00/00 00:00  SURVEY       ROM   16384 01/00/00 00:00  WB71         ROM   32768 01/00/00 00:00  JPC-D        ROM   32768 01/00/00 00:00  AMPISTAT     ROM   32768 01/00/00 00:00  CIRCUIT      ROM   16384 01/00/00 00:00  CURVEFIT     ROM   32768 01/00/00 00:00  DATAACQ      ROM   65536 01/00/00 00:00  DATACOMM     ROM   16384 01/00/00 00:00  DATAMNGT     ROM   32768 01/00/00 00:00  FORTHROM     ROM   16384 01/00/00 00:00  FORTH41      ROM   16384 01/00/00 00:00  HP71DEMO     ROM   16384 01/00/00 00:00  MATHROM      ROM   32768 01/00/00 00:00  TEXTEDIT     ROM   16384 01/00/00 00:00  ZENWAND      ROM   16384 01/00/00 00:00  JPC-F01      ROM   32768 01/00/00 00:00  FINANCE      ROM   16384 01/00/00 00:00

If you don't have a FRAM71 you can try out the ROM images with Emu71.

Dave
12-13-2014, 06:36 PM
Post: #3
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
IRAM vs ROM
After a ROM image is copied to a FRAM71 IRAM, is there any reason to reconfigure the IRAM to ROM? That is, other than Diag ROM behavior. Either will survive a Memory Lost.
12-13-2014, 09:55 PM
Post: #4
 Paul Berger (Canada) Senior Member Posts: 504 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
I have the soft part of FORTH and the Math "ROM" in IRAM and I see no reason to change that that way if I want to "swap" ROMs I can just delete the contents and copy in the new one. Its easy to have the contents on a diskette and have a little BASIC program to do the copying.
12-13-2014, 11:01 PM (This post was last modified: 12-13-2014 11:02 PM by Dave Frederickson.)
Post: #5
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
Once you've copied an image to IRAM in FRAM71 you can reconfigure the IRAM to be ROM. This better mimics the real hardware, but is there any reason to do this? Perhaps some tidbit of code checks to see if the module is indeed a ROM?
12-14-2014, 12:40 AM
Post: #6
 rprosperi Senior Member Posts: 4,556 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-13-2014 11:01 PM)Dave Frederickson Wrote:  Once you've copied an image to IRAM in FRAM71 you can reconfigure the IRAM to be ROM. This better mimics the real hardware, but is there any reason to do this? Perhaps some tidbit of code checks to see if the module is indeed a ROM?

Reconfiguring the IRAMs to ROM will protect the port contents from errant code romping thru memory. For example when playing with Forth (or even some unknown LEX files) I've trashed the contents of IRAM ports, but the "ROM" ports are preserved as-is. Basically this really just saves the time needed to ROMCOPY the port's content back to what it was, but it takes a lot less time to just POKE the revised FRAM config string to make them ROM one time, than rebuilding the IRAMs each time it gets destroyed.

--Bob Prosperi
12-14-2014, 12:30 PM (This post was last modified: 12-14-2014 12:32 PM by Hans Brueggemann.)
Post: #7
 Hans Brueggemann Member Posts: 200 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-14-2014 12:40 AM)rprosperi Wrote:  Reconfiguring the IRAMs to ROM will protect the port contents from errant code romping thru memory. For example when playing with Forth (or even some unknown LEX files) I've trashed the contents of IRAM ports, but the "ROM" ports are preserved as-is. Basically this really just saves the time needed to ROMCOPY the port's content back to what it was, but it takes a lot less time to just POKE the revised FRAM config string to make them ROM one time, than rebuilding the IRAMs each time it gets destroyed.

exactly this. while FREE PORT (5.xy) mimics the freed RAM portion into soft configured ROM and hence protects its contents from a MEMORY LOST, it can't protect its contents against alterations that result from POKE operations. using FRAM71s configuration area to re-define portions of RAM to soft configured ROM sets FRAM71s internal read-only flag on that area which gives a better protection against overwrites, albeit not perfect, as the configuration area itself remains unprotected. also, doing POKE into an IRAM area will work without notice, while trying to POKE into a ROM-declared RAM area will result in "ILLEGAL ACCESS".

hans
12-20-2014, 07:15 PM (This post was last modified: 12-21-2014 08:47 AM by J-F Garnier.)
Post: #8
 J-F Garnier Senior Member Posts: 484 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
Although I missed the first batch of FRAM71, Sylvain Côté was so kind to lend me his module for some time, so since today I have a new toy to play with!

My first comments and observations:

(12-14-2014 12:40 AM)rprosperi Wrote:  Reconfiguring the IRAMs to ROM will protect the port contents from errant code romping thru memory.
Changing the module type from IRAM to ROM without precautions can produce several side effects and strange errors, especially if there are Basic programs inside. The right, secure way to create a ROM module is to use ROMCOPY.
It is also possible to manually compile each Basic program by hand by running each.

(12-14-2014 12:30 PM)Hans Brueggemann Wrote:  ... using FRAM71s configuration area to re-define portions of RAM to soft configured ROM sets FRAM71s internal read-only flag on that area which gives a better protection against overwrites
Is really this internal read-only flag implemented? I tried to POKE (with the special, unrestricted POKE function from JPC ROM) into a ROM-declared area, and the memory was actually changed.

J-F
(Edited: changed 'unprotected' to 'unrestricted' for clarification)
12-20-2014, 08:34 PM
Post: #9
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-20-2014 07:15 PM)J-F Garnier Wrote:
(12-14-2014 12:40 AM)rprosperi Wrote:  Reconfiguring the IRAMs to ROM will protect the port contents from errant code romping thru memory.
Changing the module type from IRAM to ROM without precautions can produce several side effects and strange errors, especially if there are Basic programs inside. The right, secure way to create a ROM module is to use ROMCOPY.
It is also possible to manually compile each Basic program by hand by running each.

I believe we're looking at two different situations here. The first has to do with copying ROM images to a FRAM71 IRAM and the difference between leaving the memory configured as IRAM or reconfiguring it as ROM. The second situation is what you describe which is to create a ROM image. In that case ROMCOPY is the correct method as it creates an image with the proper checksums.

Note the caveat in Note 6 on p.12 of the manual. Soft-configured ROMs should be configured the same as the physical module. So while I'm unaware of any undesired side-affects, that means that a 32K ROM, which is physically two 16K ROMs, should be configured in FRAM71 as two 16K Chips. The image can be copied to a single 32K Chip, however the ROM test in the Diag ROM will fail calculating the checksums.

Dave
12-20-2014, 08:59 PM (This post was last modified: 12-20-2014 09:04 PM by Dave Frederickson.)
Post: #10
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
ROMCOPY
(12-20-2014 07:15 PM)J-F Garnier Wrote:  The right, secure way to create a ROM module is to use ROMCOPY.

For those not familiar with ROMCOPY here're a couple of reference documents: Use of ROMCOPY comes with warnings so understand what you're doing and take the proper precautions.

Thanks to Joe Horn for the above documents.

Dave
12-20-2014, 09:41 PM
Post: #11
 J-F Garnier Senior Member Posts: 484 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-20-2014 08:34 PM)Dave Frederickson Wrote:
(12-20-2014 07:15 PM)J-F Garnier Wrote:  Changing the module type from IRAM to ROM without precautions can produce several side effects and strange errors...

I believe we're looking at two different situations here. The first has to do with copying ROM images to a FRAM71 IRAM and the difference between leaving the memory configured as IRAM or reconfiguring it as ROM. The second situation is what you describe which is to create a ROM image. In that case ROMCOPY is the correct method as it creates an image with the proper checksums.

Yes, you're right, my comment was unclear. It is perfectly correct to load a ROM image (with ROMCOPY) in IRAM then change the module type to ROM. This is what I'm used to do also in Emu71.
My comment was about using the ROM type to protect a IRAM built manually by program entry or normal COPY.
Note that this has to do not only with wrong checksum (that will not harm in normal use), but with Basic programs 'compiling' - actually the right term here is 'chaining', meaning the calculations of the GOTO/GOSUB targets.
12-21-2014, 06:28 PM (This post was last modified: 12-21-2014 06:30 PM by Hans Brueggemann.)
Post: #12
 Hans Brueggemann Member Posts: 200 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-20-2014 07:15 PM)J-F Garnier Wrote:  Is really this internal read-only flag implemented? I tried to POKE (with the special, unrestricted POKE function from JPC ROM) into a ROM-declared area, and the memory was actually changed.

J-F

thanks for digging this up, J-F!
i tested the write protection flags against the standard POKE only. ouch.
there is a firmware update to V421 available at the start of this thread which fixes this issue.

hans
12-22-2014, 12:56 AM (This post was last modified: 12-22-2014 01:34 AM by Dave Frederickson.)
Post: #13
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(12-21-2014 06:28 PM)Hans Brueggemann Wrote:  2014-12-21: Firmware update V421
Release Note:
in V420, FRAM71's write-protect flags of soft-ROM-declared RAM modules have no effect. POKE from the POKELEX lexfile can change contents of those ROMs.
in V421, write-protect flags now block all write-attempts to soft-ROM areas. POKE from the POKELEX lexfile executes "silently", but does not alter contents.
(note that this is a minor fix which does not affect/enhance "standard" use cases. users who have no means to update their FRAM71 should contact me through e-mail for options.)

I found two NIB FlashPro4 programmers on eBay for \$25 ea.

What's In the Box

With a few cable parts an adapter can be made, or the included cable can be modified.

Let's rock and roll!

Dave
02-07-2015, 06:55 PM (This post was last modified: 02-07-2015 06:56 PM by Hans Brueggemann.)
Post: #14
 Hans Brueggemann Member Posts: 200 Joined: Dec 2013
[FRAM71] Bankswitching?
In a recent e-mail, Dave Frederickson pointed out to me that it would be nice to be able to access all 512kB of FRAM, by using some sort of bank switching scheme. i find this idea quite intriguing and FRAM71's FPGA still has ample amount of free logic available (as per V.421) to handle such a task. alas... i'm short on ideas of how to implement that to gain maximum use from such a feature. when looking at the used FRAM address space (nibble addresses),
00000-1FFFF is reserved for diagnostic/alternate O/S,
20000-2BFFF is unused,
2C000-2C01F is reserved for Memory Configuration,
2C020-2FFFF is unused,
30000-FFFFF is reserved for the 0..12 configurable Memory Chips.
that gives basically the range 20000-2BFFFF as a possible candidate for bankswitching.
so, what can we do with that? is it worth a try in the light of the amount of FRAM already available?
what's your take on this, valued users?

hans
02-07-2015, 11:50 PM
Post: #15
 rprosperi Senior Member Posts: 4,556 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(02-07-2015 06:55 PM)Hans Brueggemann Wrote:  In a recent e-mail, Dave Frederickson pointed out to me that it would be nice to be able to access all 512kB of FRAM, by using some sort of bank switching scheme. i find this idea quite intriguing and FRAM71's FPGA still has ample amount of free logic available (as per V.421) to handle such a task. alas... i'm short on ideas of how to implement that to gain maximum use from such a feature. when looking at the used FRAM address space (nibble addresses),
00000-1FFFF is reserved for diagnostic/alternate O/S,
20000-2BFFF is unused,
2C000-2C01F is reserved for Memory Configuration,
2C020-2FFFF is unused,
30000-FFFFF is reserved for the 0..12 configurable Memory Chips.
that gives basically the range 20000-2BFFFF as a possible candidate for bankswitching.
so, what can we do with that? is it worth a try in the light of the amount of FRAM already available?
what's your take on this, valued users?

hans

Dave and I have been discussing this for a while... and it grew out of wondering why the full 512KB wasn't accessible. Clearly FRAM71 has the means to do it, so why doesn't it do so? There had to be a reason, we reasoned. And I guess that lead to your discussion.

I have yet to find anything serious that exceeds FRAM71's current abilities, but also haven't tried yet. Still, I would say that yes, it's worth it. I've never owned any calculator* with which I haven't run into a memory limit, whether doing "serious" work, or just experimenting/playing. Before Clonix/NOV and the CL were made, who would have ever guessed that a 41 could ever need more that 4 modules? Now, 4, 5, or 6 are just the basic OS/system build, before adding-in app roms.

From your notes above, it appears one could create a bank-switched scheme with a 16KB window in the available address space, and while a 32KB window would be more convenient to, for example, swap-in/out ROM images or IRAMs, this is still useful.

Just some feedback to stimulate discussion.

* Notable exception - I've never filled my 50g 2 GB SD card

--Bob Prosperi
02-08-2015, 08:52 AM
Post: #16
 Paul Dale Senior Member Posts: 1,682 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
A truly write protected module image?
Thinking maths here but anything that fits.

- Pauli
02-08-2015, 04:28 PM (This post was last modified: 02-08-2015 04:34 PM by Dave Frederickson.)
Post: #17
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(02-07-2015 06:55 PM)Hans Brueggemann Wrote:  In a recent e-mail, Dave Frederickson pointed out to me that it would be nice to be able to access all 512kB of FRAM, by using some sort of bank switching scheme. i find this idea quite intriguing and FRAM71's FPGA still has ample amount of free logic available (as per V.421) to handle such a task. alas... i'm short on ideas of how to implement that to gain maximum use from such a feature. when looking at the used FRAM address space (nibble addresses),
00000-1FFFF is reserved for diagnostic/alternate O/S,
20000-2BFFF is unused,
2C000-2C01F is reserved for Memory Configuration,
2C020-2FFFF is unused,
30000-FFFFF is reserved for the 0..12 configurable Memory Chips.
that gives basically the range 20000-2BFFFF as a possible candidate for bankswitching.
so, what can we do with that? is it worth a try in the light of the amount of FRAM already available?
what's your take on this, valued users?

It's not the system address space I was suggesting be utilized, but the FRAM memory itself. Currently the 512k FRAM is divided into 16-32k "Chips", 13 of which are available for configuration as RAM or (truly write-protected) ROM. Two are reserved for the SYSRAM feature and the last is unused. What I'm suggesting is that another configuration register, like the 0x2C000 register, perhaps at address 0x2C020, but only 16 bits in length, be created. Each bit would correspond to a 32k Chip in FRAM and if set, that Chip would be "Enabled". The rules would be:
1. Up to 13 bits can be set at one time, corresponding to Chips 12 - 0.
2. The two least significant bits are reserved for SYSRAM and are always zero

By manipulating the bits the "active" Chips can be switched making different ROM configurations possible without reloading an image. It should be possible to load an alternate O/S into the 64k SYSRAM and configure the other 14-32k Chips into RAM or ROM.

For example, if 0x2C020 is loaded with 0xF000 and that would enable the 0xF0000 block of FRAM. This would be mapped into Chip 12 and 32k ROM1 could be load into it. If 0x2C020 were loaded with 0x8000 that would enable the 0xE0000 block of FRAM and 32k ROM2 could be load into it. The significant difference is that the set bits in 0x2C020 determine which blocks of FRAM get mapped to Chips, so 0xE0000 become Chip 12, also. By manipulating the bit in 0x2C020 either ROM1 or ROM2 can be enabled.

Another example, load 0x2C020 with 0xFFF8 enabling 13 blocks of FRAM starting at 0x30000 and load 0x30000 with ROM1. Load 0x2C020 with 0xFFFB enabling 13 blocks of FRAM starting at 0x20000 with the 32k block at 0x30000 disabled. Memory at 0x20000 gets mapped to Chip 0 and ROM2 can get loaded into FRAM at 0x20000. Now 14-32k blocks of FRAM can be utilized for RAM or ROM, with the limitation of only 13 of those being enabled at one time.

The FRAM configuration registers at 0x2C000 would need to be moved to the NVRAM in the FPGA, if they're not already there.

Does that make sense? It's important to understand that FRAM memory would get mapped to Chips which then get mapped to 71B address space by the 71's O/S during the power-on memory configuration.

Dave
02-10-2015, 02:19 AM
Post: #18
 Michael Fehlhammer Member Posts: 215 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
I have to admit that I didn't really understand Dave's sophisticated considerations, probably it's too late at night right now, but I'd like to contribute a very simple argument why bank switching would be helpful:
I am pretty sure that most of the FRAM71 users have been 71b power users before and own a lot of physical modules, like math and curve fitting, for example, and they certainly use the IL module. These three modules consume 2 * 32k + 48k = 112k of address space, right? If I plug in these modules, 112 (more) kiloBytes of FRAM cannot be used.
If I had a bankswitching mechanism, I could make use of the "hidden" RAM pages.
02-10-2015, 02:54 AM (This post was last modified: 02-10-2015 03:07 AM by Dave Frederickson.)
Post: #19
 Dave Frederickson Senior Member Posts: 1,947 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
(02-10-2015 02:19 AM)Michael Fehlhammer Wrote:  I have to admit that I didn't really understand Dave's sophisticated considerations, probably it's too late at night right now, but I'd like to contribute a very simple argument why bank switching would be helpful:
I am pretty sure that most of the FRAM71 users have been 71b power users before and own a lot of physical modules, like math and curve fitting, for example, and they certainly use the IL module. These three modules consume 2 * 32k + 48k = 112k of address space, right? If I plug in these modules, 112 (more) kiloBytes of FRAM cannot be used.
If I had a bankswitching mechanism, I could make use of the "hidden" RAM pages.

Correct. Other RAM and ROM's subtract from the FRAM available to the 71B. All 512k of FRAM can't be accessed all at once because of the 71B's 512k addressing limitation. What I think could be done via bank-switching is to disable blocks of FRAM for one configuration and enable different blocks for another configuration. The 71 would configure only the enabled blocks. I would think that it's possible to bank-switch all 16 blocks of FRAM. In reality there's probably something I don't understand about the FRAM71 architecture preventing this.
02-10-2015, 05:44 PM (This post was last modified: 02-10-2015 05:46 PM by Hans Brueggemann.)
Post: #20
 Hans Brueggemann Member Posts: 200 Joined: Dec 2013
RE: [FRAM71] Pre-Production Batch
this is the memory organization in FRAM (i.e., internal addressing, _not_ HP-71B addresses):
1) 00000-1FFFF is reserved for diagnostic/alternate O/S,
2) 20000-2BFFF is unused,
3) 2C000-2C01F is reserved for Memory Configuration,
4) 2C020-2FFFF is unused,
5) 30000-FFFFF is reserved for the 0..12 configurable Memory Chips.

a. on start-up, HP-71B runs through a memory identification/assignment routine, identifying all memory on the bus by releasing an ID command while DIN of the port to be examined is high. after the first chip in the daisy chain has responded, it gets pre-configured by the HP-71B and in turn passes DIN=High on to the next chip on the daisy chain. this process repeats for a particular port, until there are no more chips responding to ID, or the max number of chips (16) on that daisy chain have been reached.
b. SYSROM (or, SYSRAM for that matter) gets not identified by the HP-71B, it's "assumed to be there" at 00000-01FFFF. FRAM71 maps its first two 32kB FRAM segments directly onto those addresses. SYSRAM is then selected by OD-ing (output-disabling) the calculator's SYSROM and at the same time output-enabling the SYSRAM area
c. FRAM71 does not use the internal FPGA-RAM for a simple reason: that RAM is volatile and hence would screw FRAM71's memory configuration as soon as your HP-71B loses power. a far more elegant way to keep the configuration is to store all neccessary values in FRAM itself, where it is kept safe for decades. but that comes at a price: the allocation of the configaration area ( 2C000-2C01F) fragments one of the 32kB blocks. that's why that block (or better to say, its remnants) is not available to the user. the configuration area is directly mapped to the cardreader address space, where it doesn't get cleared out by [ON]/[/],3, and where it is not interfering with any other system addresses, i.e., display area, IL mailbox (tried that accidentially -nasty surprise!), or the scratchpad at the far end of the address range.

i hope this clarifies a bit how FRAM71 is internally organized, and why 3 out of 16 32kB blocks are "gone". what i hear though is a request of having the FRAM memory chips readied with ROM images "behind the curtains" and then pick an appropriate set by setting the respective bits in the configuration area. is that correct? would that feature justify to kick out UART- and REDEYE- support?

thanks for your great input, guys!
hans
 « Next Oldest | Next Newest »

User(s) browsing this thread: 2 Guest(s)


text:
# An Efficient Method for the Solution of Schwinger--Dyson equations for propagators

Authors
Publication Date
Oct 01, 2010
Source
Hal-Diderot
Keywords
Efficient computation methods are devised for the perturbative solution of Schwinger--Dyson equations for propagators. We show how a simple computation allows to obtain the dominant contribution in the sum of many parts of previous computations. This allows for an easy study of the asymptotic behavior of the perturbative series. In the cases of the four-dimensional supersymmetric Wess--Zumino model and the $\phi_6^3$ complex scalar field, the singularities of the Borel transform for both positive and negative values of the parameter are obtained and compared.


text:
1. The problem statement, all variables and given/known data

A planar 50-turn coil of area ## 0.20m^2 ## is rotated in a uniform ## 0.15 ## Tesla magnetic field by a motor at a constant angular velocity ## \omega = 315 s^-1 ## The axis of rotation is in the plane of the coil and is perpendicular to the magnetic field. At time ## t = 0 ##, the magneticfield is perpendicular to the plane of the coil.

B.
(i) Plot the total magnetic flux through the coil as a function of time. [3 marks]
(ii) Find the maximum emf generated from the coil. [3 marks]
(iii) What is value of the root-mean-square emf? [3 marks]

C.
If the rotating coil in part (b) forms part of an electrical circuit with total resistance ##30 \Omega ##(including the coil),

(i) What is the average power generated? [3 marks]
(ii) Plot the instantaneous power as a function of time. [3 marks]

2. Relevant equations

## \epsilon = -N \frac{d\Phi_B}{dt} ##

## P = I^2R ##

## \Phi_B = BAcos(\omega t) ##

3. The attempt at a solution

(i) I need help with this part, I know Flux goes on the y-axis and Time on the x-axis. I’m not sure how to go about plotting the points. I think ## \omega ## depends on the amplitude of the flux.

(ii) Maximum emf ## (\epsilon) ## when ## \theta = 90° ## i.e when ## \omega t = 90° ##

## \Phi = NBA(cos\theta) ##

## \epsilon = -N \frac{d\Phi}{dt} = -NBA \frac{d}{dt}(cos \theta) = -NBA \frac{d}{dt}(cos (\omega t)) ##

## \epsilon = -NBA(-\omega sin(\omega t)) ## , where ## \omega t = 90° ##

## \epsilon = NBA\omega = (50)(0.15)(0.2)(314) = 471 V ##

(iii) ## \epsilon_{rms} = \sqrt{\frac{NBA\omega}{2}} ##

## = \sqrt{\frac{(50)(0.15)(0.2)(314)}{2}} = 15.35 V ##

C.

(i) ## P = I^2R ## Ohm’s Law states ## E=IR \Rightarrow I^2 = \frac{E^2}{R^2} ##

Now, ## P = \frac{E^2}{R} = \frac{(471)^2}{30} = 7394.7 W ##

(ii) As you can see I really struggle with graphs, how do I go about plotting the instantaneous powers as a function of time?

http://ift.tt/1gMjwFa


text:
# CFT conformal weight vs. scaling dimension

I was wondering if anybody could clarify what the difference between the conformal scaling dimension $\Delta$ and the conformal weight $h$ is?

Is it correctly understood that $\Delta$ is related to the transformation properties of a field and $h$ is an eigenvalue of the Virasoro operator $L_0$? Or is it that $\Delta$ is for general dimensions, while $h$ is used in 2 dimensions?

I seem to have confused myself while reading Francesco et. al.'s Conformal Field Theory.

Two dimensional CFTs separate into a left-moving sector and a right-moving sectors. The Virasoro generators $L_n$ act on the left-moving sector and ${\tilde L}_n$ act on the right-moving ones. Operators (or states due to the state-operator map) are labelled independently by representations of the left- and right-moving Virasoro. In particular, $h$ and ${\tilde h}$ are the eigenvalues of $L_0$ and ${\tilde L}_0$. These are called the conformal weights. $\Delta$ is the eigenvalue of the dilatation operator which is $D = L_0+ {\tilde L}_0$. In other words, $\Delta = h + {\tilde h}$.
In higher dimensions, there is no separation into left- or right- moving sectors. There is no analogue of $L_n$ and ${\tilde L}_n$. However, the dilatation operator $D$ still exists and representations are labelled by its eigenvalues, $\Delta$.


text:
It is currently 17 Dec 2017, 06:04

### GMAT Club Daily Prep

#### Thank you for using the timer - this advanced tool can estimate your performance and suggest more practice questions. We have subscribed you to Daily Prep Questions via email.

Customized
for You

we will pick new questions that match your level based on your Timer History

Track

every week, we’ll send you an estimated GMAT score based on your performance

Practice
Pays

we will pick new questions that match your level based on your Timer History

# Events & Promotions

###### Events & Promotions in June
Open Detailed Calendar

# Which of the following is closest to (1+2^18)/(2^4+2^10)?

Author Message
TAGS:

### Hide Tags

Math Revolution GMAT Instructor
Joined: 16 Aug 2015
Posts: 4485

Kudos [?]: 3170 [0], given: 0

GPA: 3.82
Which of the following is closest to (1+2^18)/(2^4+2^10)? [#permalink]

### Show Tags

16 Oct 2017, 00:57
00:00

Difficulty:

25% (medium)

Question Stats:

68% (00:53) correct 32% (01:36) wrong based on 53 sessions

### HideShow timer Statistics

[GMAT math practice question]

Which of the following is closest to $$\frac{(1+2^{18})}{(2^4+2^{10})}$$?

A. $$2^5$$
B. $$2^6$$
C. $$2^7$$
D. $$2^8$$
E. $$2^9$$
[Reveal] Spoiler: OA

_________________

MathRevolution: Finish GMAT Quant Section with 10 minutes to spare
The one-and-only World’s First Variable Approach for DS and IVY Approach for PS with ease, speed and accuracy.
Find a 10% off coupon code for GMAT Club members.
“Receive 5 Math Questions & Solutions Daily”
Unlimited Access to over 120 free video lessons - try it yourself

Kudos [?]: 3170 [0], given: 0

Math Expert
Joined: 02 Aug 2009
Posts: 5365

Kudos [?]: 6151 [0], given: 121

Re: Which of the following is closest to (1+2^18)/(2^4+2^10)? [#permalink]

### Show Tags

16 Oct 2017, 01:53
Expert's post
1
This post was
BOOKMARKED
MathRevolution wrote:
[GMAT math practice question]

Which of the following is closest to $$\frac{(1+2^{18})}{(2^4+2^{10})}$$?

A. $$2^5$$
B. $$2^6$$
C. $$2^7$$
D. $$2^8$$
E. $$2^9$$

Hi..

Since the answer asked is in Approximation, we can remove inconsequential parts

$$\frac{(1+2^{18})}{(2^4+2^{10})}$$...
1 is very small in 1+2^18 and 2^4 in 2^4+2^10 but let's just remove 1..
$$\frac{(2^{18})}{2^4(1+2^{6})}=\frac{2^{18-4}}{1+2^6}=2^14-2^6=2^8$$
D
_________________

Absolute modulus :http://gmatclub.com/forum/absolute-modulus-a-better-understanding-210849.html#p1622372
Combination of similar and dissimilar things : http://gmatclub.com/forum/topic215915.html

Kudos [?]: 6151 [0], given: 121

Target Test Prep Representative
Status: Founder & CEO
Affiliations: Target Test Prep
Joined: 14 Oct 2015
Posts: 1945

Kudos [?]: 1023 [0], given: 3

Location: United States (CA)
Re: Which of the following is closest to (1+2^18)/(2^4+2^10)? [#permalink]

### Show Tags

17 Oct 2017, 10:54
MathRevolution wrote:
[GMAT math practice question]

Which of the following is closest to $$\frac{(1+2^{18})}{(2^4+2^{10})}$$?

A. $$2^5$$
B. $$2^6$$
C. $$2^7$$
D. $$2^8$$
E. $$2^9$$

Since 1 is a lot less than 2^18 in the numerator, we can approximate the numerator as 2^18. Similarly, since 2^4 is a lot less than 2^10 in the denominator, we can approximate the denominator as 2^10. Thus, we have:

(1 + 2^18)/(2^4 + 2^10) ≈ 2^18/2^10 = 2^8

_________________

Scott Woodbury-Stewart
Founder and CEO

GMAT Quant Self-Study Course
500+ lessons 3000+ practice problems 800+ HD solutions

Kudos [?]: 1023 [0], given: 3

Math Revolution GMAT Instructor
Joined: 16 Aug 2015
Posts: 4485

Kudos [?]: 3170 [0], given: 0

GPA: 3.82
Re: Which of the following is closest to (1+2^18)/(2^4+2^10)? [#permalink]

### Show Tags

18 Oct 2017, 02:19
=>

$$\frac{(1+2^{18})}{(2^4+2^{10})}$$ = $$\frac{(1+2^{18})}{(2^4(1+2^6))}$$ = $$\frac{(1+2^6)(1-2^6+2^{12})}{(2^4(1+2^6))}$$
= $$\frac{(1-2^6+2^{12})}{2^4}$$≒ $$2^8$$

_________________

MathRevolution: Finish GMAT Quant Section with 10 minutes to spare
The one-and-only World’s First Variable Approach for DS and IVY Approach for PS with ease, speed and accuracy.
Find a 10% off coupon code for GMAT Club members.
“Receive 5 Math Questions & Solutions Daily”
Unlimited Access to over 120 free video lessons - try it yourself

Kudos [?]: 3170 [0], given: 0

Re: Which of the following is closest to (1+2^18)/(2^4+2^10)?   [#permalink] 18 Oct 2017, 02:19
Display posts from previous: Sort by


text:
7
Active contributors today

## What is the greatest common factor of 60 and 72?

Parzival S.
Featured 2 months ago

12

#### Explanation:

I like to answer these questions by first doing prime factorizations:

$60 = 2 \times 30 = 2 \times 2 \times 15 = 2 \times 2 \times 3 \times 5$
$72 = 2 \times 36 = 2 \times 2 \times 18 = 2 \times 2 \times 2 \times 9 = 2 \times 2 \times 2 \times 3 \times 3$

The GCF will have all the numbers that are common to both 60 and 72.

#GCF=?#

Let's start with 2's first. 60 has two 2s, while 72 has three. Two 2s are common to both, so our GCF will have two 2s:

#GCF=2xx2xx?#

Now 3s. 60 has one 3 and 72 has two 3s. One 3 is common to both, so we'll put that in:

#GCF=2xx2xx3xx?#

And lastly to 5s - 60 has one but 72 doesn't, so there's nothing common there. And so we stop here:

$G C F = 2 \times 2 \times 3 = 12$

$60 = 12 \times 5$
$72 = 12 \times 6$

## How do you solve #(- 2) + ( - 8) + ( - 6)#?

Tony B
Featured 1 month ago

$- 16$

#### Explanation:

Sometimes the idea about subtraction is a little thought provoking.

$\textcolor{b r o w n}{\text{Very important fact}}$

The natural way to count on the number line is increasingly positive. Often drawn so that it is towards the right. The number line is the same sort of thing as the x-axis on a graph.

$\textcolor{b r o w n}{\text{Always think of starting to count to the right on the number line.}}$
$\textcolor{b r o w n}{\text{The minus sign means change direction of count}}$

$+ \text{ " -> "Count right}$
$- \text{ "-> "Reverse direction count so you count left}$

$- - \text{ "->"Reverse direction of count twice. You end up}$
$\text{ going in the positive direction}$

$\left(- 2\right) \to$ Count to the left

$+ \left(- 8\right) \to$ + is count right but the - instructs change direction. So you end up counting left. So this is the same as just $- 8$

$+ \left(- 6\right) \to$+ is count right but the - instructs change direction. So you end up counting left. So this is the same as just $- 6$

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$\textcolor{b l u e}{\text{Putting it all together}}$

$\left(- 2\right) + \left(- 8\right) + \left(- 6\right) \text{ "->" } - 2 - 8 - 6 = - 16$

## How do you evaluate #frac { 4^ { 10} \cdot 8^ { - 3} \cdot 16^ { - 2} } { 32}#?

EZ as pi
Featured 1 month ago

$= \frac{1}{2} ^ 2$

$= \frac{1}{4}$

#### Explanation:

As soon as there are indices, you cannot cancel any of the bases.

Working out each factor to its actual value is not practical - the values are far too big.

Write each base as the product of its prime factors.
You might have noticed that all the bases are powers of 2.

$\textcolor{red}{4 = {2}^{2}}$
$\textcolor{b l u e}{8 = {2}^{3}}$
$\textcolor{p u r p \le}{16 = {2}^{4}}$
$\textcolor{f \mathmr{and} e s t g r e e n}{32 = {2}^{5}}$

$\frac{{\textcolor{red}{4}}^{10} \cdot {\textcolor{b l u e}{8}}^{-} 3 \cdot {\textcolor{p u r p \le}{16}}^{-} 2}{\textcolor{f \mathmr{and} e s t g r e e n}{32}}$

$= \frac{{\textcolor{red}{\left({2}^{2}\right)}}^{10} \cdot {\textcolor{b l u e}{\left({2}^{3}\right)}}^{-} 3 \cdot {\textcolor{p u r p \le}{\left({2}^{4}\right)}}^{-} 2}{\textcolor{f \mathmr{and} e s t g r e e n}{\left({2}^{5}\right)}}$

Multiply the indices: ${\left({x}^{m}\right)}^{n} = {x}^{m \times n}$

$= \frac{\textcolor{red}{{2}^{20}} \cdot \textcolor{b l u e}{{2}^{-} 9} \cdot \textcolor{p u r p \le}{{2}^{-} 8}}{\textcolor{f \mathmr{and} e s t g r e e n}{\left({2}^{5}\right)}}$

Add the indices of like bases: ${x}^{m} \times {x}^{n} = {x}^{m + n}$

$= {2}^{3} / {2}^{5}$

$= \frac{1}{2} ^ 2$

$= \frac{1}{4}$

## How do you solve #y+ \frac { 17} { 23} = - \frac { 5} { 23}#?

Jim G.
Featured 1 month ago

$y = - \frac{22}{23}$

#### Explanation:

To solve for y, subtract $\frac{17}{23}$ from both sides of the equation.

Doing the same operation to both sides retains the ' balance' of the equation.

$y \cancel{+ \frac{17}{23}} \textcolor{red}{\cancel{- \frac{17}{23}}} = - \frac{5}{23} \textcolor{red}{- \frac{17}{23}}$

Since the fractions on the right side have a $\textcolor{b l u e}{\text{common denominator}}$ we can add the numerators.
That is - 5 - 17 = - 22

$\Rightarrow y + 0 = - \frac{22}{23}$

$\Rightarrow y = - \frac{22}{23}$

$\textcolor{b l u e}{\text{Checking this solution}}$

If we substitute this value into the left side and it is equal to the right side then it is the solution.

$\text{left side " =-22/23+17/23=-5/23=" right side}$

$\Rightarrow y = - \frac{22}{23} \text{ is the solution}$

## On Monday, it snowed a total of 15 inches. On Tuesday and Wednesday, it snowed an additional 4.5 inches and 6.75 inches, respectively. A weather forecaster says that over the last three days, it snowed over 21.5 feet. Is this a valid claim?

Gimpy C.
Featured 1 month ago

Get data into same units and compute

#### Explanation:

We can see that we have mixed units where some values are inches, and some are feet.

To properly reason about the problem, we must get everything in the same units.

We might be tempted to turn everything into feet, but since a foot is bigger than an inch, we will have fractional answers. That might make it more difficult, so it will be easier to convert feet to inches.

To do this, we must recall that there are 12 inches in 1 foot.

If it snowed 21.5 feet, and each foot has 12 inches, then it snowed $21.5 \cdot 12 = 258$ inches.

OK, well that might be reasonable. Let's look at the rest of our data.

Monday was 15 inches.
Tuesday was 4.5 inches.
Wednesday was 6.75 inches.

Just by looking at these values, we can see that we won't get anywhere near 258 inches, but let's be thorough.

$15 + 4.5 + 6.75 = 26.26$ inches.

We now know the weather reporter lied to us, and since we already converted the units, we can find out by how much.

$258 - 26.26 = 231.74$ inches

How many feet? Well, we just reverse the process. We can divide by 12 inches to get the total feet.

$\frac{231.74}{12} = 19.311$ feet.

But realistically, I think this problem might be one of those glance-and-solve types.

You quickly add up the inches to get 26.26 inches, and you already know that 21.5 feet is a great deal bigger than that, so you immediately answer no, it's not valid.

## What is 5/8 +7/8 ?

Jim G.
Featured 3 weeks ago

$\frac{12}{8} = \frac{3}{2}$

#### Explanation:

To add 2 fractions we require the $\textcolor{b l u e}{\text{denominators}}$ to be the same value.

In this case they are, both 8

We can therefore $\textcolor{b l u e}{\text{add the numerators}}$ while leaving the denominator as it is.

$\Rightarrow \frac{5}{8} + \frac{7}{8}$

$= \frac{5 + 7}{8}$

$= \frac{12}{8}$

We can $\textcolor{b l u e}{\text{simplify}}$ the fraction by dividing the numerator/denominator by the $\textcolor{b l u e}{\text{highest common factor}}$ of 12 and 8, which is 4

#rArr12/8=(12÷4)/(8÷4)=3/2larrcolor(red)" in simplest form"#

This process is normally done using $\textcolor{b l u e}{\text{cancelling}}$

$\Rightarrow \frac{12}{8} = {\cancel{12}}^{3} / {\cancel{8}}^{2} = \frac{3}{2} \leftarrow \textcolor{red}{\text{ in simplest form}}$

A fraction is in $\textcolor{b l u e}{\text{simplest form}}$ when no other factor but 1 divides into the numerator/denominator.

##### Questions
• · 2 days ago · in Order of Operations
• · 2 days ago
• · 2 days ago
• · 2 days ago · in Square Root
• · 2 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 3 days ago
• · 4 days ago · in Rates
• · 4 days ago
• · 4 days ago
• · 4 days ago
• · 5 days ago · in Prime Numbers
• · 5 days ago
• · 5 days ago · in Ratios and Proportions
• · 5 days ago · in Ratios and Proportions
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago
• · 5 days ago


text:
# open set

In a metric space $M$ a set $O$ is called an open subset of $M$ or just open, if for every $x\in O$ there is an open ball $S$ around $x$ such that $S\subset O$. If $d(x,y)$ is the distance from $x$ to $y$ then the open ball $B_{r}$ with radius $r>0$ around $x$ is given as:

 $B_{r}=\{y\in M|d(x,y)

Using the idea of an open ball one can define a neighborhood of a point $x$. A set containing $x$ is called a neighborhood of $x$ if there is an open ball around $x$ which is a subset of the neighborhood.

These neighborhoods have some properties, which can be used to define a topological space using the Hausdorff axioms for neighborhoods, by which again an open set within a topological space can be defined. In this way we drop the metric and get the more general topological space. We can define a topological space $X$ with a set of neighborhoods of $x$ called $U_{x}$ for every $x\in X$, which satisfy

1. 1.

$x\in U$ for every $U\in U_{x}$

2. 2.

If $U\in U_{x}$ and $V\subset X$ and $U\subset V$ then $V\in U_{x}$ (every set containing a neighborhood of $x$ is a neighborhood of $x$ itself).

3. 3.

If $U,V\in U_{x}$ then $U\cap V\in U_{x}$.

4. 4.

For every $U\in U_{x}$ there is a $V\in U_{x}$, such that $V\subset U$ and $V\in U_{p}$ for every $p\in V$.

The last point leads us back to open sets, indeed a set $O$ is called open if it is a neighborhood of every of its points. Using the properties of these open sets we arrive at the usual definition of a topological space using open sets, which is equivalent to the above definition. In this definition we look at a set $X$ and a set of subsets of $X$, which we call open sets, called $\mathcal{O}$, having the following properties:

1. 1.

$\emptyset\in\mathcal{O}$ and $X\in\mathcal{O}$.

2. 2.

Any union of open sets is open.

3. 3.

intersections of open sets are open.

Note that a topological space is more general than a metric space, i.e. on every metric space a topology can be defined using the open sets from the metric, yet we cannot always define a metric on a topological space such that all open sets remain open.

## Examples:

• On the real axis the interval $I=(0,1)$ is open because for every $a\in I$ the open ball with radius $\min(a,1-a)$ is always a subset of $I$. (Using the standard metric $d(x,y)=|x-y|$.)

• The open ball $B_{r}$ around $x$ is open. Indeed, for every $y\in B_{r}$ the open ball with radius $r-d(x,y)$ around y is a subset of $B_{r}$, because for every $z$ within this ball we have:

 $d(x,z)\leq d(x,y)+d(y,z)

So $d(x,z) and thus $z$ is in $B_{r}$. This holds for every $z$ in the ball around $y$ and therefore it is a subset of $B_{r}$

• A non-metric topology would be the finite complement topology on infinite sets, in which a set is called open, if its complement is finite.

Title open set OpenSet 2013-03-22 12:39:25 2013-03-22 12:39:25 mathwizard (128) mathwizard (128) 21 mathwizard (128) Definition msc 54A05 open open subset Hausdorff axioms


text:
Equations and Inequalities

# Linear Inequalities and Absolute Value Inequalities

### Learning Objectives

In this section you will:

• Use interval notation.
• Use properties of inequalities.
• Solve inequalities in one variable algebraically.
• Solve absolute value inequalities.

It is not easy to make the honor role at most top universities. Suppose students were required to carry a course load of at least 12 credit hours and maintain a grade point average of 3.5 or above. How could these honor roll requirements be expressed mathematically? In this section, we will explore various ways to express different sets of numbers, inequalities, and absolute value inequalities.

### Using Interval Notation

Indicating the solution to an inequality such ascan be achieved in several ways.

We can use a number line as shown in (Figure). The blue ray begins atand, as indicated by the arrowhead, continues to infinity, which illustrates that the solution set includes all real numbers greater than or equal to 4.

We can use set-builder notation:which translates to “all real numbers x such that x is greater than or equal to 4.” Notice that braces are used to indicate a set.

The third method is interval notation, in which solution sets are indicated with parentheses or brackets. The solutions toare represented asThis is perhaps the most useful method, as it applies to concepts studied later in this course and to other higher-level math courses.

The main concept to remember is that parentheses represent solutions greater or less than the number, and brackets represent solutions that are greater than or equal to or less than or equal to the number. Use parentheses to represent infinity or negative infinity, since positive and negative infinity are not numbers in the usual sense of the word and, therefore, cannot be “equaled.” A few examples of an interval, or a set of numbers in which a solution falls, areor all numbers betweenandincludingbut not including$\left(-1,0\right),$all real numbers between, but not includingandandall real numbers less than and including(Figure) outlines the possibilities.

Set Indicated Set-Builder Notation Interval Notation
All real numbers between a and b, but not including a or b
All real numbers greater than a, but not including a
All real numbers less than b, but not including b
All real numbers greater than a, including a
All real numbers less than b, including b
All real numbers between a and b, including a
All real numbers between a and b, including b
All real numbers between a and b, including a and b
All real numbers less than a or greater than b
All real numbers

### Using Interval Notation to Express All Real Numbers Greater Than or Equal to a

Use interval notation to indicate all real numbers greater than or equal to

Use a bracket on the left ofand parentheses after infinity:The bracket indicates thatis included in the set with all real numbers greater thanto infinity.

### Try It

Use interval notation to indicate all real numbers between and includingand

### Using Interval Notation to Express All Real Numbers Less Than or Equal to a or Greater Than or Equal to b

Write the interval expressing all real numbers less than or equal toor greater than or equal to

We have to write two intervals for this example. The first interval must indicate all real numbers less than or equal to 1. So, this interval begins atand ends atwhich is written as

The second interval must show all real numbers greater than or equal towhich is written asHowever, we want to combine these two sets. We accomplish this by inserting the union symbol,between the two intervals.

### Try It

Express all real numbers less thanor greater than or equal to 3 in interval notation.

### Using the Properties of Inequalities

When we work with inequalities, we can usually treat them similarly to but not exactly as we treat equalities. We can use the addition property and the multiplication property to help us solve them. The one exception is when we multiply or divide by a negative number; doing so reverses the inequality symbol.

### Properties of Inequalities

These properties also apply to$a>b,$and

Illustrate the addition property for inequalities by solving each of the following:

• (a)
• (b)
• (c)

The addition property for inequalities states that if an inequality exists, adding or subtracting the same number on both sides does not change the inequality.

Solve:

### Demonstrating the Multiplication Property

Illustrate the multiplication property for inequalities by solving each of the following:

Solve:

### Solving Inequalities in One Variable Algebraically

As the examples have shown, we can perform the same operations on both sides of an inequality, just as we do with equations; we combine like terms and perform operations. To solve, we isolate the variable.

### Solving an Inequality Algebraically

Solve the inequality:

Solving this inequality is similar to solving an equation up until the last step.

The solution set is given by the intervalor all real numbers less than and including 1.[/hidden-answer]

### Try It

Solve the inequality and write the answer using interval notation:

### Solving an Inequality with Fractions

Solve the following inequality and write the answer in interval notation:

We begin solving in the same way we do when solving an equation.

The solution set is the interval[/hidden-answer]

### Try It

Solve the inequality and write the answer in interval notation:

### Understanding Compound Inequalities

A compound inequality includes two inequalities in one statement. A statement such asmeansandThere are two ways to solve compound inequalities: separating them into two separate inequalities or leaving the compound inequality intact and performing operations on all three parts at the same time. We will illustrate both methods.

### Solving a Compound Inequality

Solve the compound inequality:

The first method is to write two separate inequalities:andWe solve them independently.

Then, we can rewrite the solution as a compound inequality, the same way the problem began.

In interval notation, the solution is written as

The second method is to leave the compound inequality intact, and perform solving procedures on the three parts at the same time.

### Try It

Solve the compound inequality:

### Solving a Compound Inequality with the Variable in All Three Parts

Solve the compound inequality with variables in all three parts:

Let’s try the first method. Write two inequalities:

The solution set isor in interval notationNotice that when we write the solution in interval notation, the smaller number comes first. We read intervals from left to right, as they appear on a number line. See (Figure).

### Try It

Solve the compound inequality:

### Solving Absolute Value Inequalities

As we know, the absolute value of a quantity is a positive number or zero. From the origin, a point located athas an absolute value ofas it is x units away. Consider absolute value as the distance from one point to another point. Regardless of direction, positive or negative, the distance between the two points is represented as a positive number or zero.

An absolute value inequality is an equation of the form

Where A, and sometimes B, represents an algebraic expression dependent on a variable x. Solving the inequality means finding the set of all values that satisfy the problem. Usually this set will be an interval or the union of two intervals and will include a range of values.

There are two basic approaches to solving absolute value inequalities: graphical and algebraic. The advantage of the graphical approach is we can read the solution by interpreting the graphs of two equations. The advantage of the algebraic approach is that solutions are exact, as precise solutions are sometimes difficult to read from a graph.

Suppose we want to know all possible returns on an investment if we could earn some amount of money within $200 of$600. We can solve algebraically for the set of x-values such that the distance betweenand 600 is less than 200. We represent the distance betweenand 600 asand therefore,or

This means our returns would be between $400 and$800.

To solve absolute value inequalities, just as with absolute value equations, we write two inequalities and then solve them independently.

### Absolute Value Inequalities

For an algebraic expression X, andan absolute value inequality is an inequality of the form

These statements also apply toand

### Determining a Number within a Prescribed Distance

Describe all valueswithin a distance of 4 from the number 5.

We want the distance betweenand 5 to be less than or equal to 4. We can draw a number line, such as in (Figure), to represent the condition to be satisfied.

The distance fromto 5 can be represented using an absolute value symbol,Write the values ofthat satisfy the condition as an absolute value inequality.

We need to write two inequalities as there are always two solutions to an absolute value equation.

If the solution set isandthen the solution set is an interval including all real numbers between and including 1 and 9.

### Try It

Describe all x-values within a distance of 3 from the number 2.

Solve .

### Using a Graphical Approach to Solve Absolute Value Inequalities

Given the equation determine the x-values for which the y-values are negative.

We are trying to determine wherewhich is whenWe begin by isolating the absolute value.

Next, we solve for the equality

Now, we can examine the graph to observe where the y-values are negative. We observe where the branches are below the x-axis. Notice that it is not important exactly what the graph looks like, as long as we know that it crosses the horizontal axis atandand that the graph opens downward. See (Figure).

### Try It

Solve

orin interval notation, this would be

Access these online resources for additional instruction and practice with linear inequalities and absolute value inequalities.

### Key Concepts

• Interval notation is a method to indicate the solution set to an inequality. Highly applicable in calculus, it is a system of parentheses and brackets that indicate what numbers are included in a set and whether the endpoints are included as well. See (Figure) and (Figure).
• Solving inequalities is similar to solving equations. The same algebraic rules apply, except for one: multiplying or dividing by a negative number reverses the inequality. See (Figure), (Figure), (Figure), and (Figure).
• Compound inequalities often have three parts and can be rewritten as two independent inequalities. Solutions are given by boundary values, which are indicated as a beginning boundary or an ending boundary in the solutions to the two inequalities. See (Figure) and (Figure).
• Absolute value inequalities will produce two solution sets due to the nature of absolute value. We solve by writing two equations: one equal to a positive value and one equal to a negative value. See (Figure) and (Figure).
• Absolute value inequalities can also be solved by graphing. At least we can check the algebraic solutions by graphing, as we cannot depend on a visual for a precise solution. See (Figure).

### Section Exercises

#### Verbal

When solving an inequality, explain what happened from Step 1 to Step 2:

When we divide both sides by a negative it changes the sign of both sides so the sense of the inequality sign changes.

When solving an inequality, we arrive at:

Explain what our solution set is.

When writing our solution in interval notation, how do we represent all the real numbers?

When solving an inequality, we arrive at:

Explain what our solution set is.

Describe how to graph

We start by finding the x-intercept, or where the function = 0. Once we have that point, which iswe graph to the right the straight line graphand then when we draw it to the left we plot positive y values, taking the absolute value of them.

#### Algebraic

For the following exercises, solve the inequality. Write your final answer in interval notation.

For the following exercises, solve the inequality involving absolute value. Write your final answer in interval notation.

All real numbers

No solution

For the following exercises, describe all the x-values within or including a distance of the given values.

Distance of 5 units from the number 7

Distance of 3 units from the number 9

Distance of10 units from the number 4

Distance of 11 units from the number 1

#### Graphical

For the following exercises, graph the function. Observe the points of intersection and shade the x-axis representing the solution set to the inequality. Show your graph and write your final answer in interval notation.

It is never less than zero. No solution.

For the following exercises, graph both straight lines (left-hand side being y1 and right-hand side being y2) on the same axes. Find the point of intersection and solve the inequality by observing where it is true comparing the y-values of the lines.

Where the blue line is above the orange line; point of intersection is

Where the blue line is above the orange line; always. All real numbers.

#### Numeric

For the following exercises, write the set in interval notation.

For the following exercises, write the interval in set-builder notation.

For the following exercises, write the set of numbers represented on the number line in interval notation.

#### Technology

For the following exercises, input the left-hand side of the inequality as a Y1 graph in your graphing utility. Enter y2 = the right-hand side. Entering the absolute value of an expression is found in the MATH menu, Num, 1:abs(. Find the points of intersection, recall (2nd CALC 5:intersection, 1st curve, enter, 2nd curve, enter, guess, enter). Copy a sketch of the graph and shade the x-axis for your solution set to the inequality. Write final answers in interval notation.

Where the blue is below the orange; always. All real numbers.

Where the blue is below the orange;

#### Extensions

Solve

Solve

$x\ne -7$

is a profit formula for a small business. Find the set of x-values that will keep this profit positive.

#### Real-World Applications

In chemistry the volume for a certain gas is given bywhere V is measured in cc and T is temperature in ºC. If the temperature varies between 80ºC and 120ºC, find the set of volume values.

84 mi

#### Complex Numbers

For the following exercises, use the quadratic equation to solve.

For the following exercises, name the horizontal component and the vertical component.

horizontal componentvertical component

For the following exercises, perform the operations indicated.

For the following exercises, solve the quadratic equation by factoring.

For the following exercises, solve the quadratic equation by using the square-root property.

For the following exercises, solve the quadratic equation by completing the square.

For the following exercises, solve the quadratic equation by using the quadratic formula. If the solutions are not real, state No real solution.

For the following exercises, solve the quadratic equation by the method of your choice.

#### Other Types of Equations

For the following exercises, solve the equations.

#### Linear Inequalities and Absolute Value Inequalities

For the following exercises, solve the inequality. Write your final answer in interval notation.

No solution

For the following exercises, solve the compound inequality. Write your answer in interval notation.

For the following exercises, graph as described.

Graph the absolute value function and graph the constant function. Observe the points of intersection and shade the x-axis representing the solution set to the inequality. Show your graph and write your final answer in interval notation.

Graph both straight lines (left-hand side being y1 and right-hand side being y2) on the same axes. Find the point of intersection and solve the inequality by observing where it is true comparing the y-values of the lines. See the interval where the inequality is true.

Where the blue is below the orange line; point of intersection is

### Chapter Practice Test

Graph the following:

x y
0 2
2 5
4 8

Find the x- and y-intercepts for the following:

Find the x- and y-intercepts of this equation, and sketch the graph of the line using just the intercepts plotted.

$\left(4,0\right)$

Find the exact distance betweenandFind the coordinates of the midpoint of the line segment joining the two points.

Write the interval notation for the set of numbers represented by

Solve for x:

Solve for x:

Solve for x:

Solve for x:

$x=\frac{-5}{2},1$

The perimeter of a triangle is 30 in. The longest side is 2 less than 3 times the shortest side and the other side is 2 more than twice the shortest side. Find the length of each side.

Solve:

Solve:

Solve:

For the following exercises, find the equation of the line with the given information.

Passes through the pointsand

Has an undefined slope and passes through the point

Passes through the pointand is perpendicular to

Simplify:

Multiply:

Divide:

Solve this quadratic equation and write the two complex roots inform:

Solve:

Solve:

Solve:

Solve:

Solve:

Solve:

For the following exercises, find the real solutions of each equation by factoring.

### Glossary

compound inequality
a problem or a statement that includes two inequalities
interval
an interval describes a set of numbers within which a solution falls
interval notation
a mathematical statement that describes a solution set and uses parentheses or brackets to indicate where an interval begins and ends
linear inequality
similar to a linear equation except that the solutions will include sets of numbers


text:
1. ## ln Limit

How do you solve this limit, $\displaystyle\lim_{x\to{0}}\frac{ln(\sqrt{x^5+3x+1 })}{x}$ without l'Hopital's Rule? Using l'Hopital's rule is too easy.

2. ## Re: Limit

First, you can use the properties of logarithms to take $\ln (\sqrt{1+3x+x^5}) = \tfrac{1}{2}\ln (1+3x+x^5)$. Then, you can use the fact that for small x ( $|x| \ll 1$), $\ln (1+x) \approx x - \dfrac{x^2}{2} + \dfrac{x^3}{3} - \cdots$ (the Mercator series), and thus in the limit as x approaches zero, $\ln (1+3x+x^5)$ approaches $3x-\tfrac{9}{2}x^2+\mathcal{O}(x^3)$, so thus
$\displaystyle\lim_{x\to{0}}\frac{ln(\sqrt{x^5+3x+1 })}{x} = \tfrac{1}{2}\displaystyle\lim_{x\to{0}}\frac{3x-\tfrac{9}{2}x^2+\cdots}{x} = \frac{3}{2}$

Hope this is illuminating.

--Kevin C.

3. Originally Posted by TwistedOne151
First, you can use the properties of logarithms to take $\ln (\sqrt{1+3x+x^5}) = \tfrac{1}{2}\ln (1+3x+x^5)$. Then, you can use the fact that for small x ( $|x| \ll 1$), $\ln (1+x) \approx x - \dfrac{x^2}{2} + \dfrac{x^3}{3} - \cdots$ (the Mercator series), and thus in the limit as x approaches zero, $\ln (1+3x+x^5)$ approaches $3x-\tfrac{9}{2}x^2+\mathcal{O}(x^3)$, so thus
$\displaystyle\lim_{x\to{0}}\frac{ln(\sqrt{x^5+3x+1 })}{x} = \tfrac{1}{2}\displaystyle\lim_{x\to{0}}\frac{3x-\tfrac{9}{2}x^2+\cdots}{x} = \frac{3}{2}$

Hope this is illuminating.

--Kevin C.
Is there any other way...? I really unfamilar with the series (Mercator, taylor etc.) stuff.

4. Originally Posted by polymerase
Is there any other way...? I really unfamilar with the series (Mercator, taylor etc.) stuff.
L'Hopital's rule is a nice trick to get past the tough work of using series and other definitions. BTW, why would you not want to use the rule?

5. ## Re: Limit

Not really. The presence of the logarithm ultimately requires either some form of series about the value to which its arguement converges, or else l'Hopital's rule (which essentially derives from the Taylor series for the numerator and denominator for the 0/0 indeterminate form). Ultimately you have to "know" in some fashion the behavior of ln(x) about x=1.

6. Originally Posted by colby2152
L'Hopital's rule is a nice trick to get past the tough work of using series and other definitions. BTW, why would you not want to use the rule?
If this was simply "find the answer" then of course i used that...but im trying to find "techniques" to imploy for hard limits because most of the time my prof won't let us use l'Hopital...when he does...the function is crazy.

7. In many cases, like this one, it is enough to consider the following:

$\lim_{u\rightarrow{0}}\frac{\ln(u+1)}{u}=\lim_{u\r ightarrow{0}}\ln(1+u)^{u}=1$

Because: $\lim_{u\rightarrow{0}}(1+u)^{u}=e$

Thus: $\lim_{x\rightarrow{0}}\frac{\ln(\sqrt[]{1+3x+5x^2})}{x}=\lim_{x\rightarrow{0}}\frac{\frac {1}{2}\cdot{\ln(1+3x+5x^2)}}{x}=\frac{1}{2}\cdot{\ lim_{x\rightarrow{0}}\frac{\frac{\ln(1+3x+5x^2)}{3 x+5x^2}}{\frac{x}{3x+5x^2}}}$

$\lim_{x\rightarrow{0}}\frac{\ln(\sqrt[]{1+3x+5x^2})}{x}=\frac{1}{2}\cdot{\lim_{x\rightarr ow{0}}\frac{\frac{\ln(1+3x+5x^2)}{3x+5x^2}}{\frac{ x}{3x+5x^2}}}=\frac{1}{2}\cdot{\lim_{x\rightarrow{ 0}}\frac{3x+5x^2}{x}}=\frac{3}{2}$

Since $\frac{\ln(1+3x+5x^2)}{3x+5x^2}\rightarrow{1}$

8. Originally Posted by PaulRS
In many cases, like this one, it is enough to consider the following:

$\lim_{u\rightarrow{0}}\frac{\ln(u+1)}{u}=\lim_{u\r ightarrow{0}}\ln(1+u)^{u}=1$

Because: $\lim_{u\rightarrow{0}}(1+u)^{u}=e$

Thus: $\lim_{x\rightarrow{0}}\frac{\ln(\sqrt[]{1+3x+5x^2})}{x}=\lim_{x\rightarrow{0}}\frac{\frac {1}{2}\cdot{\ln(1+3x+5x^2)}}{x}=\frac{1}{2}\cdot{\ lim_{x\rightarrow{0}}\frac{\frac{\ln(1+3x+5x^2)}{3 x+5x^2}}{\frac{x}{3x+5x^2}}}$

$\lim_{x\rightarrow{0}}\frac{\ln(\sqrt[]{1+3x+5x^2})}{x}=\frac{1}{2}\cdot{\lim_{x\rightarr ow{0}}\frac{\frac{\ln(1+3x+5x^2)}{3x+5x^2}}{\frac{ x}{3x+5x^2}}}=\frac{1}{2}\cdot{\lim_{x\rightarrow{ 0}}\frac{3x+5x^2}{x}}=\frac{3}{2}$

Since $\frac{\ln(1+3x+5x^2)}{3x+5x^2}\rightarrow{1}$
Nice

9. Originally Posted by polymerase
Nice
Just be aware that, in general
$\lim_{x \to a}(f(u(x))) \neq f \left ( \lim_{x \to a}u(x) \right )$

It works for this problem, but it can't be generalized to all functions.

-Dan

10. Originally Posted by topsquark
Just be aware that, in general
$\lim_{x \to a}(f(u(x))) \neq f \left ( \lim_{x \to a}u(x) \right )$

It works for this problem, but it can't be generalized to all functions.

-Dan
In this case it is true because of the continuity of the logarithm

11. An interesting observation to make is that, in general,

$\lim_{x\rightarrow{0}}\frac{ln(ax^{2}+bx+1)}{cx}=\ frac{b}{c}$

In this case, b/c = 3/2.

12. Originally Posted by galactus
An interesting observation to make is that, in general,

$\lim_{x\rightarrow{0}}\frac{ln(ax^{2}+bx+1)}{cx}=\ frac{b}{c}$

In this case, b/c = 3/2.
You should make some restrictions on the coefficients. Like $a\not = 0$ and that sort of stuff.


text:
# [SOLVED] College Algebra: the distance formula

• February 24th 2009, 05:39 PM
Ashley189
[SOLVED] College Algebra: the distance formula
Solve the problem.

Find all the points having an x-coordinate of 9 whose distance from the point (3,-2) is 10.

A) (9,13), (9,-7)
B) (9, -12), (9,8)
C) (9,6),(9,-10)
D) (9,2), (9,-4)

List the intercepts for the graph of the equation.

x^2+15x+54

A) (6,0), (9,0),(0,54)
B) (0,6), (0,9), (54,0)
C) (0,-6), (0,-9), (54,0)
D) (-6,0), (-9,0), (0,54)

This is off a test review (doesn't count only to study), so I have the answers. I just need help solving them. If someone could please help me out.
• February 24th 2009, 05:48 PM
skeeter
Quote:

Originally Posted by Ashley189
Solve the problem.

Find all the points having an x-coordinate of 9 whose distance from the point (3,-2) is 10.

A) (9,13), (9,-7)
B) (9, -12), (9,8)
C) (9,6),(9,-10)
D) (9,2), (9,-4)

List the intercepts for the graph of the equation.

x^2+15x+54

A) (6,0), (9,0),(0,54)
B) (0,6), (0,9), (54,0)
C) (0,-6), (0,-9), (54,0)
D) (-6,0), (-9,0), (0,54)

This is off a test review (doesn't count only to study), so I have the answers. I just need help solving them. If someone could please help me out.

1. distance formula ...

$10 = \sqrt{(9-3)^2 + (y+2)^2}$

solve for y ... you should get two solutions.

2. y-intercept ... evaluate $y = x^2 + 15x + 54$ for $x = 0$.

x-intercepts ...

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

$(x + 9)(x + 6) = 0$

know what to do now?
• February 24th 2009, 06:01 PM
Ashley189
Quote:

Originally Posted by skeeter
1. distance formula ...

$10 = \sqrt{(9-3)^2 + (y+2)^2}$

solve for y ... you should get two solutions.

2. y-intercept ... evaluate $y = x^2 + 15x + 54$ for $x = 0$.

x-intercepts ...

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

$(x + 9)(x + 6) = 0$

know what to do now?

For two I got it.

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

$(x + 9)(x + 6) = 0$

x+9=0 or x+6=0
x=-9 x=-6

For #1 I'm still stuck.
• February 24th 2009, 06:06 PM
skeeter
$10 = \sqrt{(9-3)^2 + (y+2)^2}$

start by squaring both sides ...

$100 = (9-3)^2 + (y+2)^2$

$100 = 36 + (y + 2)^2$

$64 = (y+2)^2$

$\pm 8 = y+2$

$-2 \pm 8 = y$
• February 24th 2009, 06:26 PM
Ashley189
Quote:

Originally Posted by skeeter
$10 = \sqrt{(9-3)^2 + (y+2)^2}$

start by squaring both sides ...

$100 = (9-3)^2 + (y+2)^2$

$100 = 36 + (y + 2)^2$

I get it up to here ^

$64 = (y+2)^2$

$\pm 8 = y+2$

$-2 \pm 8 = y$

I don't know how to do it from that point on.
• February 24th 2009, 10:31 PM
Quote:

Originally Posted by Ashley189
I don't know how to do it from that point on.

Not sure if this is what you want to know .

$-2\pm8=y$ , there will be 2 equations .

$-2+8=y$ or $-2-8=y$

There will be 2 values of y ie 6 and -10
• February 25th 2009, 06:01 AM
Ashley189
Now I got it. Didn't know that +- was two separate equations that's the part that got me confused.


text:
# Stop there, locus!

Geometry Level 3

Find the equation of the locus of a point which moves such that the ratio of its distances from $$(2,0)$$ and $$(1,3)$$ is $$5:4$$.

If the equation can be written as $$9{ x }^{ 2 }+{ 9y }^{ 2 }+14x-150y+\alpha =0$$, find $$\alpha$$.

×