If I have a public wallet address can I calculate its other wallet addresses?
Public keys are generated from a Private key in a one-way function. Public and private keys have a 1-to-1 relationship. A given private key can only generate one public key.
However, as specified in BIP 32, extended keys can be used to derive child keys (public keys). An extended private key (xprv) can derive many child private keys, each of which can derive a single public key.
This child key derivation (CKD) function is a one-way function, so child keys cannot be used to calculate their parents. Nor can child keys be used to calculate their sibling public keys.
Check out this article on wallets and public/private keys for more info and a visual explanation: https://river.com/learn/terms/h/hd-wallet/
Check out BIP 32, which has some useful graphics: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki