annotate README @ 33:1d7bab3bc745 task

Documentation
author David Grundberg <individ@acc.umu.se>
date Tue, 05 May 2009 20:57:54 +0200
parents 6d75691c5c07
children 313932d566c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
1 -*- coding:utf-8 -*-
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
2
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
3 Pytave README
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
4
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
5 For installation instructions specific for Pytave, please see the
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
6 INSTALL file.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
7
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
8 Contents of this document
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
9 =========================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
10
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
11 1. What is Pytave?
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
12 2. Gotchas
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
13 3. Pytave and multi-threading
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
14 4. Python/Octave cheat sheet
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
15
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
16 What is Pytave?
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
17 ***************
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
18
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
19 Pytave enables Python scripts to use existing m-files (Octave/Matlab
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
20 scripts) for numerical calculations. The Octave language interpreter
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
21 is embedded as a module to Python.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
22
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
23 Example use
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
24 ===========
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
25
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
26 Calling Octave code in the interactive Python interpreter:
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
27
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
28 >>> import pytave
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
29 >>> pytave.feval(1, "cos", 0)
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
30 (1.0,)
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
31
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
32 Goals
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
33 =====
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
34
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
35 Pytave strives to uphold these points
4
e84a2afb3342 Bootstrapping instructions
David Grundberg <individ@acc.umu.se>
parents: 0
diff changeset
36
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
37 * Good out of the box experience
4
e84a2afb3342 Bootstrapping instructions
David Grundberg <individ@acc.umu.se>
parents: 0
diff changeset
38
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
39 * Good-natured implicit type conversions, no strange PyApple ->
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
40 octave_orange -> PyBanana chains
4
e84a2afb3342 Bootstrapping instructions
David Grundberg <individ@acc.umu.se>
parents: 0
diff changeset
41
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
42 Features
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
43 ========
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
44
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
45 A short list of what Pytave is capable of
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
46
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
47 * Implicit type conversions between Python and Octave. Supports all
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
48 Numeric integer, real double (and possibly real float) matrices
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
49
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
50 * Architecture independent - no assumption on endian type or integer
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
51 sizes
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
52
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
53 * Supports cell <-> list and struct <-> dict conversions.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
54
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
55 Project homepage
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
56 ================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
57
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
58 https://launchpad.net/pytave
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
59
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
60 Using/hacking
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
61 =============
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
62
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
63 You need the Bazaar version control software (bzr). Branch from trunk
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
64 with:
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
65
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
66 $ bzr branch lp:pytave
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
67
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
68 You will now have a directory called `pytave' with source code for
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
69 the module. Read the INSTALL file for building instructions.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
70
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
71 Gotchas
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
72 *******
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
73
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
74 Unfortunately, the implicit conversion is not bijective (there is not
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
75 a one-to-one relation between Octave and Python values). Pytave users
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
76 should be aware of the following cases.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
77
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
78 Numeric row vectors to Octave matrices
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
79 ======================================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
80
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
81 Numeric row vectors are converted to Octave 1xN matrices; returned 1xN
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
82 matrices will become 1xN numerical arrays, not row vectors. As an
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
83 example, a Numeric array with shape == (3,) will become (1, 3) when
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
84 converted back and forth.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
85
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
86 Octave cells to Python lists
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
87 ============================
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
88
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
89 Only row cell arrays can be converted to Python lists.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
90
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
91 Python dictionaries to Octave structures
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
92 ========================================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
93
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
94 Dictionaries converted to structures must only have string keys. This
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
95 is because Octave structures only allow string keys. Keys must also
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
96 be valid Octave identifiers.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
97
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
98 As Octave structures are built using cells, simple variables are
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
99 upgraded to cells when a dictionary is converted. A dictionary
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
100
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
101 {"name": "Pytave"}
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
102
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
103 thus will become
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
104
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
105 ans =
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
106 {
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
107 name = Pytave
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
108 }
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
109
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
110 in Octave. In this listing, Octave is hiding the fact that the value
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
111 is wrapped in a cell. Converted back, cells are converted to Python
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
112 lists. The re-converted Python dictionary will read
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
113
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
114 {"name": ["Pytave"]}
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
115
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
116 which is natural effect because of the way Octave handles structures.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
117
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
118 The list values in dictionaries to be converted must be of equal
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
119 length. All restrictions demanded by the Octave `struct' built-in
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
120 applies.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
121
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
122 Pytave and multi-threading
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
123 **************************
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
124
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
125 Pytave does not handle reentrant calls. It is not thread-safe, and
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
126 you cannot make several Pytave calls in parallel. There are no safety
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
127 harnesses in Pytave (unlike e.g. PySqlite), and Pytave will not stop
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
128 you if you try to make concurrent calls. The behavior is undefined.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
129 It is not possible to run several calculations in parallel.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
130
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
131 That being said, it is possible to do other things while one Pytave
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
132 call is running. Pytave is aware of the Global Interpreter Lock. The
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
133 lock will be released while the Octave interpreter is running,
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
134 allowing you to have other Python threads to run in parallel with the
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
135 one Octave call.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
136
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
137 Python/Octave cheat sheet
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
138 *************************
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
139
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
140 Octave and Python share some syntax elements, which unfortunately
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
141 makes it harder to distinguish between the languages. Here are some
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
142 examples in both languages, showing how to build related constructs.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
143
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
144 Create a 2x3 matrix
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
145 ===================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
146
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
147 octave:1> [1, 1, 1; 2, 2, 2]
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
148 python>>> array([[1, 1, 1], [2, 2, 2]])
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
149
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
150 Create a 3x2 matrix
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
151 ===================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
152
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
153 octave:1> [1, 1; 2, 2; 3, 3]
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
154 python>>> array([[1, 1], [2, 2], [3, 3]])
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
155
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
156 Create a 1x3 matrix
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
157 ===================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
158
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
159 octave:1> [1, 1, 1]
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
160 python>>> array([[1, 1, 1]])
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
161
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
162 Create a row vector
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
163 ===================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
164
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
165 Not applicable to Octave.
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
166 python>>> array([1, 1, 1])
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
167
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
168 Note: Python row vectors will be converted to Octave 1xN matrices.
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
169
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
170 Create a 3x1 matrix
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
171 ===================
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
172
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
173 octave:1> [1; 2; 3]
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
174 python>>> array([[1], [2], [3]])
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
175
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
176 Create a 1x1 structure/dictionary
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
177 =================================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
178
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
179 octave:1> struct("x", 1, "y", 2)
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
180 python>>> {"x": 1, "y": 2}
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
181
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
182 Create a 1x2 structure array/dictionary containing lists of length 2
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
183 ====================================================================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
184
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
185 octave:1> struct("firstname", {"David", "Håkan"}, ...
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
186 "lastname", {"Grundberg", "Fors Nilsson"})
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
187 python>>> {"firstname": ["David", "Håkan"], \
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
188 "lastname": ["Grundberg", "Fors Nilsson"]}
0
4da14cce0890 First launchpad.net check in.
David Grundberg <c04dgg@cs.umu.se>
parents:
diff changeset
189
33
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
190 Create a 1x3 cell array/list
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
191 ============================
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
192
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
193 octave:1> {"foo", "bar", "baz"}
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
194 python>>> ["foo", "bar", "baz"]
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
195
1d7bab3bc745 Documentation
David Grundberg <individ@acc.umu.se>
parents: 29
diff changeset
196 EOF.