vec Class¶
-
class
plask.vec(z, x, y, dtype=None)¶ -
class
plask.vec(z, x, dtype=None) -
class
plask.vec(x, y, z, dtype=None) -
class
plask.vec(0, 1-2j) -
class
plask.vec((2+0j), (0+0j)) -
class
plask.vec(3, 1, 2) -
class
plask.vec(1, 3, 2) -
class
plask.vec(r, p, z, dtype=None) -
class
plask.vec(2, 4, 6) -
class
plask.vec(11, 22, 33) -
class
plask.vec(r, z, dtype=None) -
class
plask.vec(x, y, dtype=None) PLaSK vector.
The constructor arguments depend on the current value of
plask.config.axes. However, you must either specify all the components either as the unnamed sequence or as the named keywords.Parameters: - _letter_ (dtype) – Vector components.
Their choice depends on the current value of
plask.config.axes. - dtype (type) – type of the vector components. If this argument is omitted or None, the type is determined automatically.
The order of vector components is always [longitudinal, transverse, vertical] for 3D vectors or [transverse, vertical] for 2D vectors. However, the component names depend on the
axesconfiguration option. Changing this option will change the order of component names (even for existing vectors) accordingly:plask.config.axes value 2D vector components 3D vector components xyz, yz, z_up [y, z] [x, y, z] zxy, xy, y_up [x, y] [z, x, y] prz, rz, rad [r, z] [p, r, z] ltv, abs [t, v] [l, t, v] long,tran,vert, absolute [tran, vert] [long, tran, vert] Examples
Create two-dimensional vector:
>>> vector(1, 2) vector(1, 2)
Create 3D vector specifying components in rotated coordinate system:
>>> config.axes = 'xy' >>> vec(x=1, y=2, z=3) Create 3D vector specifying components:
>>> config.axes = 'xyz' >>> vec(x=1, z=2, y=3) Create 2D vector in cylindrical coordinates, specifying dtype:
>>> config.axes = 'rz' >>> vec(r=2, z=0, dtype=complex)
To access vector components you may either use attribute names or numerical indexing. The ordering and naming rules are the same as for the construction.
Examples
>>> config.axes = 'xyz' >>> v = vec(1, 2, 3) >>> v.z 3 >>> v[0] 1
You may perform all the proper algebraic operations on PLaSK vectors like addition, subtraction, multiplication by scalar, multiplication by another vector (which results in a dot product).
Example
>>> v1 = vec(1, 2, 3) >>> v2 = vec(10, 20, 30) >>> v1 + v2 >>> 2 * v1 >>> v1 * v2 140.0 >>> abs(v1) >>> v3 = vec(0, 1+2j) >>> v3.conj() >>> v3.abs2() 5.0
- _letter_ (dtype) – Vector components.
Their choice depends on the current value of
Methods¶
abs() |
Magnitude of the vector. |
abs2() |
Squared magnitude of the vector. |
conj() |
Conjugate of the vector. |
conjugate() |
Conjugate of the vector. |
dot(other) |
Dot product with another vector. |
Descriptions¶
Method Details¶
-
vec.abs()¶ Magnitude of the vector. It is always a real number.
-
vec.abs2()¶ Squared magnitude of the vector. It is always a real number equal to
v * v.
-
vec.conj()¶ Conjugate of the vector. It can be called for real vectors, but then it simply returns self
-
vec.dot(other)¶ Dot product with another vector. It is equal to self * other, so the self vector is conjugated.