{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/computing-the-action-of-trigonometric-and","title":"Computing the Action of Trigonometric and Hyperbolic Matrix Functions","arxiv_id":"1607.04012","date":"2016-07-14","proceeding":null,"authors":["Nicholas J. Higham","Peter Kandolf"],"abstract":"We derive a new algorithm for computing the action $f(A)V$ of the cosine, sine, hyperbolic cosine, and hyperbolic sine of a matrix $A$ on a matrix $V$, without first computing $f(A)$. The algorithm can compute $\\cos(A)V$ and $\\sin(A)V$ simultaneously, and likewise for $\\cosh(A)V$ and $\\sinh(A)V$, and it uses only real arithmetic when $A$ is real. The algorithm exploits an existing algorithm \\texttt{expmv} of Al-Mohy and Higham for $\\mathrm{e}^AV$ and its underlying backward error analysis. Our experiments show that the new algorithm performs in a forward stable manner and is generally significantly faster than alternatives based on multiple invocations of \\texttt{expmv} through formulas such as $\\cos(A)V = (\\mathrm{e}^{\\mathrm{i}A}V + \\mathrm{e}^{\\mathrm{-i}A}V)/2$.","url_abs":"http://arxiv.org/abs/1607.04012v2","url_pdf":"http://arxiv.org/pdf/1607.04012v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"links_only","authors_date_abstract":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license), from the Kaggle arXiv metadata snapshot of 2026-09-12"},"code_links":[{"paper_slug":"computing-the-action-of-trigonometric-and","repo_url":"https://bitbucket.org/kandolfp/trigmv","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":null,"developers":"https://syntology.ai/developers"},"arxiv_metadata":null,"syntology_extracted_results":null}