Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
rrtucci committed Nov 29, 2015
0 parents commit 689a068
Show file tree
Hide file tree
Showing 295 changed files with 4,109 additions and 0 deletions.
16 changes: 16 additions & 0 deletions LICENSE.md
@@ -0,0 +1,16 @@
Copyright (c) 2015, Quantum Fog Contributors.
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Additional IP Rights Grant (Patents)

Subject to the terms and conditions of this license, each contributor to this work hereby grants to you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer this work, where such license applies only to those patent claims licensable by such contributor that are necessarily infringed by their contribution(s) alone or by combination of their contribution(s) with the work to which such contribution(s) was submitted.
Binary file added Legacy/Help/QFogLibOfEssays.pdf
Binary file not shown.
29 changes: 29 additions & 0 deletions Legacy/Help/QFogManual/data/QFog.css
@@ -0,0 +1,29 @@
/*
good color picker at http://www.colorschemer.com/online.html
good css tutorial at http://www.w3schools.com/css
*/

/*blue theme
light blue #5781FF
purple #730099
body {background-color: #DBEDFF; font-family: times}
a:link {Color: #730099}
a:visited {Color: #5781FF}
a:hover {Color: #5781FF}
a:active {Color: #5781FF}
H1,H2,H3,H4 {Color:black}
*/

/*yelow theme
orange #fb5b00
wheat #ffcb65
*/

body {background-color: #ffffd8; font-family: times}
a:link {Color: #93007b}
a:visited {Color: #fb5b00}
a:hover {Color: #fb5b00}
a:active {Color: #fb5b00}
H1,H2,H3,H4 {Color:#93007b}

Binary file added Legacy/Help/QFogManual/data/amps_filter.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 44 additions & 0 deletions Legacy/Help/QFogManual/data/bi_nd_list.html
@@ -0,0 +1,44 @@
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="QFog.css" />
<TITLE>Bi-nodes Of Interest</TITLE>
</HEAD>
<BODY>
<H1>
Bi-nodes Of Interest
</H1>
<P>
<IMG ALIGN="Middle" SRC="wind,bi_nd_list.gif" >
<P>
This window allows you to specify for which bi-nodes you wish Quantum Fog
to calculate a joint probability distribution.
<P>
If
<UL>
<LI>
you click on the box to the left of the words "Enable bi-node selector",
and
<LI>
you click in the <B>Main Window</B> on a node named, say, "x_1", and
<LI>
you click in the <B>Main Window</B> on another node named, say, "x_2",
</UL>
<P>
then a new row with the string "x_1\x_2" appears in the above window.
<P>
If
<UL>
<LI>
you select any row of the list, and
<LI>
you press the DELETE key,
</UL>
<P>
then the selected row disappears.
<P>
When you press <B>Go Forward</B>, Quantum Fog calculates the joint probability
distributions for those bi-nodes that are listed in the above window.
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
37 changes: 37 additions & 0 deletions Legacy/Help/QFogManual/data/bi_nd_probs.html
@@ -0,0 +1,37 @@
<HTML>
<HEAD>
<link rel="stylesheet" type="text/css" href="QFog.css" />
<TITLE>Bi-node Probs.</TITLE>
</HEAD>
<BODY>
<H1>
Bi-node Probs.
</H1>
<P>
<IMG ALIGN="Middle" SRC="wind,bi_nd_probs.gif" >
<P>
This window displays the joint probability distribution of the bi-node whose
name appears on the face of the window's popup. The window displays this
distribution for the latest e-case analyzed by the computer.
<P>
The popup of this window lists only those bi-nodes that were listed earlier
in the <B>Bi-nodes Of Interest</B> window.
<P>
For the bi-node selected in the popup and for the latest e-case,
<UL>
<LI>
The left margin of the table lists the states of the first node of the bi-node,
<LI>
The top margin of the table lists the states of the second node of the bi-node,
<LI>
The table itself lists the probability of each pair of node states.
<LI>
The small caption labeled <B>Info</B> gives the Shannon Information for
the displayed probability distribution.
</UL>
<P>
None of the entries of this table can be edited directly by the user.
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
24 changes: 24 additions & 0 deletions Legacy/Help/QFogManual/data/choose_color.html
@@ -0,0 +1,24 @@
<HTML>
<HEAD>
<TITLE>Choose Color</TITLE>
<LINK rel="stylesheet" type="text/css" href="QFog.css" />
</HEAD>
<BODY>
<H1>
Choose Color...<IMG ALIGN="Middle" SRC="menu,edit.gif" >
</H1>
<P>
<BR>
Pressing this menu item is equivalent to double-clicking the palette's swatch.
Both actions cause a Mac color-picker window to open. Color-picker windows
vary slightly with MacOS version. One specimen looks like this:
<P>
<IMG ALIGN="Middle" SRC="color_picker.jpeg" >
<P>
Choosing a color from this window and pressing OK changes the palette swatch
to that color.
<P>
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
Binary file added Legacy/Help/QFogManual/data/color_picker.jpeg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Legacy/Help/QFogManual/data/command_key.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
82 changes: 82 additions & 0 deletions Legacy/Help/QFogManual/data/cu_co_pa_de_se.html
@@ -0,0 +1,82 @@
<HTML>
<HEAD>
<TITLE>Cut, Copy, Paste, Delete, Select All</TITLE>
<LINK rel="stylesheet" type="text/css" href="QFog.css" />
</HEAD>
<BODY>
<H1>
Cut, Copy, Paste, Delete, Select All<IMG ALIGN="Middle" SRC="menu,edit.gif"
>
</H1>
<P>
<P>
All editable fields (i.e., rectangles in which you enter a single name or
number) allow you to select some (or all with <B>Select Al</B>l) of their
text and then <B>Cut</B>, <B>Copy</B> or <B>Delete</B> the selected text
(<B>Copy</B> = copy it onto the Clipboard , <B>Delete</B> = erase it,
<B>Cut</B> = <B>Copy</B>, then <B>Delete</B>). After using <B>Cut</B> or
<B>Copy</B>, you can use <B>Paste</B> to paste the Clipboard contents at
the current cursor position.
<P>
In addition, there are 2 other places where you can use <B>Cut</B>,
<B>Copy</B>, <B>Paste</B>, <B>Delete</B>, <B>Select All</B>.
<OL>
<LI>
In the <B>Main Window</B>, you can select some (or all with <B>Select All</B>)
of the nodes and arrows of your net. (For more information about how to select
items in the <B>Main Window</B>, look in the <B>Palette</B> section of this
manual.) Then you can <B>Cut</B>, <B>Copy</B> or <B>Delete</B> the selection.
<P>
After using <B>Cut</B> or <B>Copy</B>, you can click on any <B>Main Window</B>
at the position where you want the drawing to show up, and then press the
<B>Paste</B> menu item. Besides the picture of each node, its transition
matrix will also be pasted, if it makes sense to do so. You can paste from
one <B>Main Window</B> to the same <B>Main Window</B> or to a different one
(one belonging to a different project).
<LI>
In the Amplitudes Table of the <B>Node Prior-Info.</B> window, you can select
a rectangular subset of the cells of the table. (For more information about
how to select cells in the Amplitudes Table of the <B>Node Prior-Info.</B>
window, look in the "Node Prior-Info." section of this manual.) Then you
can <B>Cut</B>, <B>Copy</B> or <B>Delete</B> the selection.
<P>
After using <B>Cut</B> or <B>Copy</B>, you can click on any cell, call it
the "click cell", of any Amplitudes Table, and then press the <B>Paste</B>
menu item. The clipboard contents will be entered into the table and selected.
The top-left corner cell of the selection will be the click cell. You can
paste from an Amplitudes Table to the same Amplitudes Table or to a different
one (one belonging to a different focus node or to a different project.)
<P>
You can also use <B>Cut</B>, <B>Copy</B> and <B>Paste</B> to transfer data
between an Amplitudes Table and a table belonging to a spread-sheet program.
<P>
Importing Via Clipboard:&nbsp;You can select a rectangular set of cells from
a&nbsp;spread-sheet table and copy it onto the clipboard. Then you can paste
the contents of the clipboard onto an Amplitudes Table of a Quantum Fog project.
Of course, Quantum Fog will refuse to paste the data if it is inadmissible.
<P>
Exporting Via Clipboard: You can select a rectangular set of cells from an
Amplitudes Table of a Quantum Fog document and copy it onto the clipboard.
Then you can paste the contents of the clipboard onto a spread-sheet document
(or even onto a TEXT document).
<P>
(When exporting and importing via the Clipboard, Quantum Fog puts into the
clipboard a string of characters in TEXT format. Within this string, new
columns are indicated by a TAB, and new rows by a RETURN. All the elements
of the first row are listed, then those of the second row, and so on.)
<P>
If no cell or one cell of the Amplitudes Table is selected, then pressing
<B>Select All</B> will select all the contents of the cell that contains
the blinking cursor. If two or more cells of the Amplitudes Table are selected,
then pressing <B>Select All</B> will select all the selectable cells of the
table (i.e., all cells in the 2nd, 3rd and 4th columns of the table). Thus,
to use <B>Select All</B> to select all the selectable cells of the table,
you must: (1)select at least 2 cells of the table, (2) press <B>Select All</B>.
</OL>
<P>
At all times, the DELETE keyboard key and the <B>Delete</B> menu item produce
identical results.
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
Binary file added Legacy/Help/QFogManual/data/det_wind_cnot.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions Legacy/Help/QFogManual/data/det_wind_cnot.html
@@ -0,0 +1,92 @@
<HTML>
<HEAD>
<TITLE>Parameters Of Controlled-Not</TITLE>
<LINK rel="stylesheet" type="text/css" href="QFog.css" />
</HEAD>
<BODY>
<H1>
Parameters Of Controlled-Not
</H1>
<P>
<IMG ALIGN="Middle" SRC="det_wind_cnot.gif" >
<P>
When you press the <B>OK</B> button in this window, the computer checks that
<UL>
<LI>
the focus node has precisely two parents,
<LI>
each parent has precisely 2 states, 0 and 1, in that order.
</UL>
<P>
If these conditions are satisfied, the above window closes. Furthermore,
the states and amplitudes stored in memory for the focus node are changed.
If the conditions are not satisfied, the above window remains open, the states
and amplitudes are not changed, and a warning message appears on the screen.
<P>
<HR>
<P>
Consider, for example, what will happen if the above window is closed with
the above settings:
<P>
Suppose M<SUB>1</SUB>, M<SUB>2</SUB>, N<SUB>1</SUB>, N<SUB>2</SUB> are elements
of {0,1}. The Parent Nodes table<B> </B>of the <B>Node Prior-Info</B> window
will display the two parent nodes in a certain order. Say M<SUB>1</SUB> is
the state of the first parent P<SUB>1</SUB>, and M<SUB>2</SUB> is the state
of the second parent P<SUB>2</SUB>. Define (N<SUB>1</SUB>, N<SUB>2</SUB>)
in terms of M<SUB>1</SUB> and M<SUB>2</SUB> as follows.
<TABLE BORDER CELLPADDING="2">
<TR>
<TD>M<SUB>1</SUB></TD>
<TD>M<SUB>2</SUB></TD>
<TD>(N<SUB>1</SUB>,N<SUB>2</SUB>)</TD>
</TR>
<TR>
<TD>0</TD>
<TD>0</TD>
<TD>(0,0)</TD>
</TR>
<TR>
<TD>0</TD>
<TD>1</TD>
<TD>(0,1)</TD>
</TR>
<TR>
<TD>1</TD>
<TD>0</TD>
<TD>(1,1)</TD>
</TR>
<TR>
<TD>1</TD>
<TD>1</TD>
<TD>(1,0)</TD>
</TR>
</TABLE>
<P>
This table may be described by saying that
<UL>
<LI>
N<SUB>1</SUB> = M<SUB>1</SUB> &nbsp;and M<SUB>2</SUB> is transformed into
N<SUB>2</SUB> ,
<LI>
P<SUB>1</SUB> (the "control" bit) causes P<SUB>2</SUB> (the "target" bit)
to flip (i.e., to change from 0 to 1 or vice versa) whenever M<SUB>1</SUB>
is 1, and
<LI>
P<SUB>1</SUB> has no effect on P<SUB>2</SUB> whenever M<SUB>1</SUB> is 0.
</UL>
<P>
Quantum Fog gives names N<SUB>1</SUB>N<SUB>2</SUB> (i.e., 00, 01, 10 and
11) to the states of the Controlled-Not. When the states M<SUB>1</SUB> and
M<SUB>2</SUB> are given by a particular row of the above table, Quantum Fog
assigns unit amplitude to the state N<SUB>1</SUB>N<SUB>2</SUB> shown in that
row, and it assigns zero amplitude to all the other states.
<P>
<HR>
<P>
More information about Controlled-Nots can be found in the document entitled
"Quantum Fog Library Of Essays" that accompanies this manual.
<P>
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
Binary file added Legacy/Help/QFogManual/data/det_wind_margie.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
63 changes: 63 additions & 0 deletions Legacy/Help/QFogManual/data/det_wind_margie.html
@@ -0,0 +1,63 @@
<HTML>
<HEAD>
<TITLE>Parameters Of Marginalizer</TITLE>
<LINK rel="stylesheet" type="text/css" href="QFog.css" />
</HEAD>
<BODY>
<H1>
Parameters Of Marginalizer
</H1>
<P>
<IMG ALIGN="Middle" SRC="det_wind_margie.gif" >
<P>
<P>
When you press the <B>OK</B> button in this window, the computer checks that
<UL>
<LI>
the focus node has precisely one parent,
<LI>
the names of the states of the parent node are sufficiently long for the
steps described below to be doable.
</UL>
<P>
If these conditions are satisfied, the above window closes. Furthermore,
the states and amplitudes stored in memory for the focus node are changed.
If the conditions are not satisfied, the above window remains open, the states
and amplitudes are not changed, and a warning message appears on the screen.
<P>
Let m[P<SUB>1</SUB>, L] be an operator which acts on any string STR, and
yields the substring consisting of the elements of STR at positions from
P<SUB>1</SUB> to P<SUB>1</SUB>+L-1. (We assume that the length of STR is
&gt;= P<SUB>1</SUB>+L-1). For example, if P<SUB>1</SUB>=2, L=3, and STR =
<I>apple</I>, then m[2,3]<I>apple</I>&nbsp; = &nbsp; <I>ppl</I>&nbsp; .
<P>
Let P<SUB>1</SUB> be your entry to the first field of the above window, and
let L be your entry to the second. P<SUB>1</SUB> and L must both be positive
integers.&nbsp;Quantum Fog defines the set of states of the marginalizer
to be { m[P<SUB>1</SUB>,L]STR : for all STR such that&nbsp;STR is the name
of a state of the parent node}. For example, suppose that the set of states
of the parent node is { <I>apple, banana, mango, fig</I>&nbsp; }. Furthermore,
suppose that P<SUB>1</SUB>=2, L=2. Since m[2,2]<I>apple = pp</I>&nbsp; ,
m[2,2]<I>banana = an</I>&nbsp; , m[2,2]<I>mango = an</I>&nbsp; , m[2,2] <I>fig
= ig</I>&nbsp; , Quantum Fog will define { <I>pp , an , ig</I>&nbsp; } to
be the set of states of the marginalizer. As another example, suppose that
the states of the parent node are the 32 binary numbers 00000, 00001, ...,
11111. Furthermore, suppose that P<SUB>1</SUB>=2, L=1. Then Quantum Fog will
define the states of the marginalizer to be 0 and 1.
<P>
When the state of the parent node is STR, Quantum Fog assigns unit amplitude
to state m[P<SUB>1</SUB>, L]STR of the marginalizer, and it assigns zero
amplitude to all other states of the marginalizer. In the fruit example presented
above, when the state of the parent node is <I>apple</I>&nbsp; , Quantum
Fog assigns unit amplitude to state <I>pp</I> , and zero amplitude to states
<I>an</I>&nbsp; and <I>ig</I>&nbsp; . In the binary numbers example presented
above, when the state of the parent node is 01011, Quantum Fog assigns unit
amplitude to state 1, and zero amplitude to state 0.
<P>
More information about Marginalizers can be found in the document entitled
"Quantum Fog Library Of Essays" that accompanies this manual.
<P>
<HR>
<P ALIGN=Center>
<A HREF="table_of_contents.html">[Table Of Contents]</A>
</BODY></HTML>
Binary file added Legacy/Help/QFogManual/data/det_wind_pshifter.gif
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 689a068

Please sign in to comment.