vec Class¶
-
class
plask.vec(x, y, z, dtype=None)¶ -
class
plask.vec(r, p, z, dtype=None) -
class
plask.vec(x, y, dtype=None) -
class
plask.vec(z, x, dtype=None) -
class
plask.vec(2, 4, 6) -
class
plask.vec(z, x, y, dtype=None) -
class
plask.vec(11, 22, 33) -
class
plask.vec(1, 3, 2) -
class
plask.vec(r, z, dtype=None) -
class
plask.vec((2+0j), (0+0j)) -
class
plask.vec(0, 1-2j) -
class
plask.vec(3, 1, 2) 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.