# Hierarchal tensor svd

**URL:** <https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770>\
**Category:** Help\
**Created:** [May 6, 2023, 9:10pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770 "2023-05-06T21:10:33Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![Lenore](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/lenore/32/762_2.png) [@Lenore](https://fortran-lang.discourse.group/u/Lenore)\
**Post date:** [May 11, 2023, 3:51pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/22 "2023-05-11T15:51:39Z")

</div>

Yes, that is correct.

---

<div class="post-metadata">

**Author:** ![RonShepard](https://avatars.discourse-cdn.com/v4/letter/r/a3d4f5/32.png) [@RonShepard](https://fortran-lang.discourse.group/u/RonShepard)\
**Post date:** [May 11, 2023, 4:13pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/23 "2023-05-11T16:13:34Z")

</div>

> [@nshaffer](#):
>
> This is what LAPACK95 is, no?

First, I think that LAPACK95 interface is no longer supported. But more importantly, it does not allow the full features of the language to be used. The explicit interfaces only allow a subset of the functionality that could be achieved if LAPACK were written in modern fortran. That will probably always be the case as long as LAPACK is intended to be used from multiple languages. That might be the compromise that we have to live with, but it is a compromise nonetheless.

---

<div class="post-metadata">

**Author:** ![Lenore](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/lenore/32/762_2.png) [@Lenore](https://fortran-lang.discourse.group/u/Lenore)\
**Post date:** [May 11, 2023, 4:52pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/24 "2023-05-11T16:52:38Z")

</div>

Suggested solution?  
If anyone wants to work with me to use Modern Fortran (with MoA) to formulate a tensor SVD we could  
start to help folks know that they have something built on formality and modern design.

---

<div class="post-metadata">

**Author:** ![PierU](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/pieru/32/1848_2.png) [@PierU](https://fortran-lang.discourse.group/u/PierU)\
**Post date:** [May 11, 2023, 5:47pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/25 "2023-05-11T17:47:39Z")

</div>

> [@RonShepard](#):
>
> The explicit interfaces only allow a subset of the functionality that could be achieved if LAPACK were written in modern fortran.

For instance?

---

<div class="post-metadata">

**Author:** ![PierU](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/pieru/32/1848_2.png) [@PierU](https://fortran-lang.discourse.group/u/PierU)\
**Post date:** [May 11, 2023, 5:48pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/26 "2023-05-11T17:48:27Z")

</div>

> [@certik](#):
>
> So by “tensor SVD”, you mean SVD on arrays with higher dimension than 2, correct?

I don’t think this exists in LAPACK.

---

<div class="post-metadata">

**Author:** ![Lenore](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/lenore/32/762_2.png) [@Lenore](https://fortran-lang.discourse.group/u/Lenore)\
**Post date:** [May 11, 2023, 5:58pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/27 "2023-05-11T17:58:41Z")

</div>

Correct.

That’s why I want to help create it.

---

<div class="post-metadata">

**Author:** ![septc](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/septc/32/77_2.png) [@septc](https://fortran-lang.discourse.group/u/septc)\
**Post date:** [May 11, 2023, 6:08pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/28 "2023-05-11T18:08:18Z")

</div>

Though not sure, I guess some tensor network libraries in modern Fortran might have such a routine, for example this one (I’ve just found it from Google, so not sure if it suits the purpose). Table 1 seems to have “SVDtensor”.

TNSPackage: A Fortran2003 library designed for tensor network state methods

- [https://www.researchgate.net/publication/318849525\_TNSPackage\_A\_Fortran2003\_library\_designed\_for\_tensor\_network\_state\_methods](https://www.researchgate.net/publication/318849525_TNSPackage_A_Fortran2003_library_designed_for_tensor_network_state_methods)

---

<div class="post-metadata">

**Author:** ![Lenore](https://yyz2.discourse-cdn.com/free1/user_avatar/fortran-lang.discourse.group/lenore/32/762_2.png) [@Lenore](https://fortran-lang.discourse.group/u/Lenore)\
**Post date:** [May 11, 2023, 6:14pm UTC](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770/29 "2023-05-11T18:14:46Z")

</div>

Thanks, I’ll check it out.

[Previous page](https://fortran-lang.discourse.group/t/hierarchal-tensor-svd/5770.md?page=1)
