---
name: "sc_mat4"
section: "3"
platform: "linux"
package: "libsc-doc"
version: "2.3.1-22"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/sc_mat4"
---

# sc\_mat4(3)

## NAME

sc::mat4

## SYNOPSIS

### Public Member Functions

**mat4** (const **vec4** &v0, const **vec4** &v1, const **vec4** &v2, const **vec4** &v3)\
 **mat4** (const double d)\
 **mat4** (const **mat4** &m)\
 **mat4** & **operator=** (const **mat4** &m)\
 **mat4** & **operator+=** (const **mat4** &m)\
 **mat4** & **operator-=** (const **mat4** &m)\
 **mat4** & **operator\*=** (const double d)\
 **mat4** & **operator/=** (const double d)\
 **vec4** & **operator\[\]** (int i)\
 const **vec4** & **operator\[\]** (int i) const\
 **mat4** **transpose** () const\
 **mat4** **inverse** ()\
 **mat4** & **apply** (V\_FCT\_PTR fct)\

### Protected Attributes

**vec4** **v** \[4\]\

### Friends

**mat4** **operator-** (const **mat4** &a)\
 **mat4** **operator+** (const **mat4** &a, const **mat4** &b)\
 **mat4** **operator-** (const **mat4** &a, const **mat4** &b)\
 **mat4** **operator\*** (const **mat4** &a, const **mat4** &b)\
 **mat4** **operator\*** (const **mat4** &a, const double d)\
 **mat4** **operator\*** (const double d, const **mat4** &a)\
 **mat4** **operator/** (const **mat4** &a, const double d)\
 int **operator==** (const **mat4** &a, const **mat4** &b)\
 int **operator!=** (const **mat4** &a, const **mat4** &b)\
 std::ostream & **operator\<\<** (std::ostream &s, **mat4** &m)\
 std::istream & **operator\>\>** (std::istream &s, **mat4** &m)\
 void **swap** (**mat4** &a, **mat4** &b)\
 **vec4** **operator\*** (const **mat4** &a, const **vec4** &v)\
 **vec3** **operator\*** (const **mat4** &a, const **vec3** &v)\

## Author

Generated automatically by Doxygen for MPQC from the source code.
