Top Forums Shell Programming and Scripting Python: make dual vector dot-product more pythonic Post 303041217 by figaro on Monday 18th of November 2019 04:18:23 PM
Python: make dual vector dot-product more pythonic

I have this dot product, calculating weighted means, and is applied to two columns in a list:
Code:
# calculate weighted values in sequence
for i in range(len(temperatures)-len(weights)):
  temperatures[i].append(sum([weights[j]*temperatures[i+j][5] for j in range(len(weights))]))
  temperatures[i].append(sum([weights[j]*temperatures[i+j][6] for j in range(len(weights))]))

The calculation is a running dot-product, ie the list of temperature samples is far larger than the list of weights, hence the correction of subtracting len(weights) at the end of the main loop.
This traverses the list of weights twice, which is inefficient and degrades performance. How could this be done in a more pythonic way?

I also have concerns about the main loop. Would this be considered more pythonic?:
Code:
# calculate weighted values in sequence
for i in range(len(temperatures)):
   try:
      # weighted calculation here
   except:
      # do nothing, because array out of bounds


Last edited by figaro; 11-18-2019 at 07:01 PM.. Reason: Emphasise the fact that the lists are not of the same length, ie the dot product calculates a running weighted mean.
 
Test Your Knowledge in Computers #254
Difficulty: Easy
'Steppenwolf' was the code name given to the first Apple Computer before it was announced publicly.
True or False?

8 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

make: WARNING- Product is not licensed.

I do beg for my bad english ofr advance (french..) I've a problem with unix sco openserver 5 enterprise system I can't do any make at all! when i do it, i've this message : make: WARNING- Product is not licensed. however, i've entered the license number, code and data information... ... (3 Replies)
Discussion started by: joedelabush
3 Replies

2. UNIX for Dummies Questions & Answers

Backup of Product Database

HI, I know its scarey me asking this, but system is homegrown and I am just having fun, but at the same time dont want to have tooo much fun where the phrase "little knowledge is dangerous" perfectly fits my actions ;-). I have a couple of packages that are failing to be removed... #... (2 Replies)
Discussion started by: Student37
2 Replies

3. HP-UX

TrustedMigration product ?

I'm running HP-UX B.11.23 U ia64 I've got SOX auditors asking me if we have the TrustedMigration product. I don't know what that is and google isn't being helpful. Can you tell me what this product is (and what it is for) and how to know if my system is running it and/or prove that it is... (1 Reply)
Discussion started by: LisaS
1 Replies

4. Shell Programming and Scripting

Make python script ignore .htaccess

I just wrote a tiny script with the help of ghostdog74 to search all my files for special content phrases. After a few modifications I now made it work, but one problem is left. The files are located in public_html folder, so there might also be .htaccess files. So I ignored scanning of that... (4 Replies)
Discussion started by: medic
4 Replies

5. Programming

vector c++

hello guys. i'm new to c++. i've problem using two dimensional vector. i've a project of making conway's game of life. this is the code that i have made so far. my problem is how can i give a two dimensional vector through main. glider.vec1 = vec; is not correct way to give a two... (2 Replies)
Discussion started by: nishrestha
2 Replies

6. Hardware

Fedora 16 dual monitor - dual head - automatic monitor shutdown

Hi, I am experiencing troubles with dual monitors in fedora 16. During boot time both monitors are working, but when system starts one monitor automatically shut down. It happend out of the blue. Some time before when I updated system this happend but then I booted older kernel release and... (0 Replies)
Discussion started by: wakatana
0 Replies

7. UNIX for Beginners Questions & Answers

Which Product to Choose?

Okay, I have an Asus A8NSLI board with an Athlon 64 and I dunno, maybe 8gig Ram and Windows has crashed for the last time so I've finally had enough and I'll make it a Unix machine. I have a new 1Tera drive and I'm all set to go. Which brand of Unix/Linux can you advise me to go for? The... (3 Replies)
Discussion started by: abrogard
3 Replies

8. Shell Programming and Scripting

Pythonic Parsing

Experts and All, Hello ! I am trying to fabricate a simple shell script in python that has taken me almost 5 hours to complete. I am using python 3.6. So, I am trying to read a file, parse the log file and trying to answer this basic question of how many GET's and how many POST's are there... (1 Reply)
Discussion started by: ManoharMa
1 Replies
mlib_VectorDotProd_U8_Sat(3MLIB)			    mediaLib Library Functions				  mlib_VectorDotProd_U8_Sat(3MLIB)

NAME
mlib_VectorDotProd_U8_Sat, mlib_VectorDotProd_U8C_Sat, mlib_VectorDotProd_S8_Sat, mlib_VectorDotProd_S8C_Sat, mlib_VectorDotProd_S16_Sat, mlib_VectorDotProd_S16C_Sat, mlib_VectorDotProd_S32_Sat, mlib_VectorDotProd_S32C_Sat - vector dot product (inner product) SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> mlib_status mlib_VectorDotProd_U8_Sat(mlib_d64 *z, const mlib_u8 *x, const mlib_u8 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_U8C_Sat(mlib_d64 *z, const mlib_u8 *x, const mlib_u8 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S8_Sat(mlib_d64 *z, const mlib_s8 *x, const mlib_s8 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S8C_Sat(mlib_d64 *z, const mlib_s8 *x, const mlib_s8 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S16_Sat(mlib_d64 *z, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S16C_Sat(mlib_d64 *z, const mlib_s16 *x, const mlib_s16 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S32_Sat(mlib_d64 *z, const mlib_s32 *x, const mlib_s32 *y, mlib_s32 n); mlib_status mlib_VectorDotProd_S32C_Sat(mlib_d64 *z, const mlib_s32 *x, const mlib_s32 *y, mlib_s32 n); DESCRIPTION
Each of these functions computes the dot product of two vectors, defined by the following equation: Z = X . Y* where Y* is the conjugate of the Y vector. For real data, the following equation is used: n-1 z[0] = SUM (x[i]*y[i]) i=0 For complex data, the following equation is used: n-1 z[0] = SUM (x[2*i]*y[2*i] + x[2*i + 1]*y[2*i + 1]) i=0 n-1 z[1] = SUM (x[2*i + 1]*y[2*i] - x[2*i]*y[2*i + 1]) i=0 PARAMETERS
Each of the functions takes the following arguments: z Pointer to the dot product of the two vectors. x Pointer to the first element of the first source vector. y Pointer to the first element of the second source vector. n Number of elements in the vectors. RETURN VALUES
Each of the functions returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Evolving | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
attributes(5) SunOS 5.10 10 Nov 2004 mlib_VectorDotProd_U8_Sat(3MLIB)

Featured Tech Videos

All times are GMT -4. The time now is 12:13 PM.
Unix & Linux Forums Content Copyright 1993-2020. All Rights Reserved.
Privacy Policy