Efficient Anti-Triangular Matrix Multiplications

  • Thread starter mwl
  • Start date
  • Tags
    Matrix
In summary, there is currently no specific software for multiplying with anti-triangular matrices, but it may not be necessary to use anything more complicated than the Level 3 BLAS routines for triangular matrices. It is possible to reverse the order of loops or store matrices and vectors in an "upside down" manner to achieve the desired multiplication. This can be useful in high-dimensional light scattering computations.
  • #1
mwl
2
0
Does anyone know of efficient software for the multiplication with an anti-triangular matrix? These are matrices whose triangular structures goes from the lower left corner to the upper right corner. Are there codes similar to the Level 3 BLAS routines for the multiplication of these matrices? They come up in light scattering computations in high dimensions.
Thanks.
 
Physics news on Phys.org
  • #2
I don't know of any codes for this, but you probably don't need to do anything more complicated than get the Level 3 BLAS code for triangular matrices from LAPACK (or from your computer supplier if you are doing high performace computing) and reverse the order of some of the loops.
 
  • #3
Hi AlephZero,
What a great idea! Thank you so much.
mwl
 
  • #4
Actually, you might not need to change the BLAS routines, if you can store some of the matrices and vectors "upside down". For example, if
[tex]\begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} \\ a_{31} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} y_1 \\ y_2 \\ y_3 \end{bmatrix}[/tex]
then
[tex]\begin{bmatrix} a_{31} \\ a_{21} & a_{22} \\ a_{11} & a_{12} & a_{13} \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} y_3 \\ y_2 \\ y_1 \end{bmatrix}[/tex]
 
  • #5


There are a few options for efficient software for the multiplication of anti-triangular matrices. One option is to use the Level 3 BLAS routines, specifically the DGEMM function, which can handle matrices with arbitrary triangular structures. Another option is to use specialized libraries such as LAPACK, which have optimized routines for working with triangular and anti-triangular matrices. Additionally, there are open-source software packages such as SciPy and NumPy which also have efficient implementations for working with these types of matrices. It is important to consider the specific needs and dimensions of your light scattering computations to determine which software would be most efficient for your specific application.
 

FAQ: Efficient Anti-Triangular Matrix Multiplications

What is an anti-triangular matrix?

An anti-triangular matrix is a square matrix where all the elements above the main diagonal (from top left to bottom right) are equal to zero.

How is anti-triangular matrix multiplication different from regular matrix multiplication?

In regular matrix multiplication, each element in the resulting matrix is a sum of products of corresponding row and column elements. In anti-triangular matrix multiplication, only the diagonal elements of the resulting matrix are non-zero.

Why is it important to efficiently perform anti-triangular matrix multiplication?

Efficient anti-triangular matrix multiplication is important because it can save computational time and resources, especially when dealing with large matrices. It also allows for more efficient implementation of algorithms that use anti-triangular matrices, such as solving linear systems of equations.

What are some efficient methods for anti-triangular matrix multiplication?

Some efficient methods for anti-triangular matrix multiplication include using the divide-and-conquer approach, exploiting the anti-triangular structure to reduce the number of operations, and parallelizing the computation.

Can anti-triangular matrix multiplication be applied to non-square matrices?

No, anti-triangular matrix multiplication can only be applied to square matrices. Non-square matrices do not have a main diagonal, so the concept of an anti-triangular matrix does not apply.

Similar threads

Replies
1
Views
2K
Replies
17
Views
5K
Replies
2
Views
2K
Replies
2
Views
380
Replies
18
Views
6K
Replies
2
Views
3K
Replies
1
Views
4K
Back
Top